From 210653745edacd522cfc365ba427cc17f1a61ed9 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Tue, 6 Feb 2024 15:38:35 -0800
Subject: [PATCH 001/343] TypeSpec changes to support Python SDK updates for
beta.2
---
specification/ai/ImageAnalysis/client.tsp | 24 -----------------------
specification/ai/ImageAnalysis/routes.tsp | 1 +
2 files changed, 1 insertion(+), 24 deletions(-)
diff --git a/specification/ai/ImageAnalysis/client.tsp b/specification/ai/ImageAnalysis/client.tsp
index 15dc6f531856..e8256baf9e95 100644
--- a/specification/ai/ImageAnalysis/client.tsp
+++ b/specification/ai/ImageAnalysis/client.tsp
@@ -51,27 +51,3 @@ using Azure.ClientGenerator.Core;
@@access(ImageAnalysis.SmartCropsResult, Access.public, "java");
@@access(ImageAnalysis.TagsResult, Access.public, "java");
@@access(ImageAnalysis.VisualFeatures, Access.public, "java");
-
-@@access(ImageAnalysis.analyzeFromImageData, Access.internal, "python");
-@@access(ImageAnalysis.analyzeFromUrl, Access.internal, "python");
-
-@@access(ImageAnalysis.CaptionResult, Access.public, "python");
-@@access(ImageAnalysis.CropRegion, Access.public, "python");
-@@access(ImageAnalysis.DenseCaption, Access.public, "python");
-@@access(ImageAnalysis.DenseCaptionsResult, Access.public, "python");
-@@access(ImageAnalysis.DetectedObject, Access.public, "python");
-@@access(ImageAnalysis.DetectedPerson, Access.public, "python");
-@@access(ImageAnalysis.DetectedTag, Access.public, "python");
-@@access(ImageAnalysis.DetectedTextBlock, Access.public, "python");
-@@access(ImageAnalysis.DetectedTextLine, Access.public, "python");
-@@access(ImageAnalysis.DetectedTextWord, Access.public, "python");
-@@access(ImageAnalysis.ImageAnalysisResult, Access.public, "python");
-@@access(ImageAnalysis.ImageBoundingBox, Access.public, "python");
-@@access(ImageAnalysis.ImageMetadata, Access.public, "python");
-@@access(ImageAnalysis.ImagePoint, Access.public, "python");
-@@access(ImageAnalysis.ObjectsResult, Access.public, "python");
-@@access(ImageAnalysis.PeopleResult, Access.public, "python");
-@@access(ImageAnalysis.ReadResult, Access.public, "python");
-@@access(ImageAnalysis.SmartCropsResult, Access.public, "python");
-@@access(ImageAnalysis.TagsResult, Access.public, "python");
-@@access(ImageAnalysis.VisualFeatures, Access.public, "python");
diff --git a/specification/ai/ImageAnalysis/routes.tsp b/specification/ai/ImageAnalysis/routes.tsp
index 0bdebd4b889a..4f102822706e 100644
--- a/specification/ai/ImageAnalysis/routes.tsp
+++ b/specification/ai/ImageAnalysis/routes.tsp
@@ -73,6 +73,7 @@ alias SharedAnalyzeQuery = {
#suppress "@azure-tools/typespec-azure-core/byos" "It's an RPC call to analyze an image, it doesn't store anything. There's a BYOS version of this call, but it's not this one."
@doc("Performs a single Image Analysis operation")
@route("imageanalysis:analyze")
+@projectedName("python", "analyze")
@post
@sharedRoute
op analyzeFromImageData is Azure.Core.RpcOperation<
From 79e9a425053f8d4a1f9120ba0d0037e99779018d Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Tue, 6 Feb 2024 17:44:46 -0800
Subject: [PATCH 002/343] use imageUrl and imageData instead of imageContent.
Make analyzeFromUrl internal, since its using the ImageUrl class
---
specification/ai/ImageAnalysis/client.tsp | 2 ++
specification/ai/ImageAnalysis/routes.tsp | 4 ++--
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/specification/ai/ImageAnalysis/client.tsp b/specification/ai/ImageAnalysis/client.tsp
index e8256baf9e95..d2439a237425 100644
--- a/specification/ai/ImageAnalysis/client.tsp
+++ b/specification/ai/ImageAnalysis/client.tsp
@@ -28,6 +28,8 @@ using Azure.ClientGenerator.Core;
@@projectedName(ImageAnalysis.VisualFeatures, "csharp", "VisualFeaturesImpl");
+@@access(ImageAnalysis.analyzeFromUrl, Access.internal, "python");
+
@@access(ImageAnalysis.analyzeFromImageData, Access.internal, "java");
@@access(ImageAnalysis.analyzeFromUrl, Access.internal, "java");
diff --git a/specification/ai/ImageAnalysis/routes.tsp b/specification/ai/ImageAnalysis/routes.tsp
index 4f102822706e..a6322c9ed39f 100644
--- a/specification/ai/ImageAnalysis/routes.tsp
+++ b/specification/ai/ImageAnalysis/routes.tsp
@@ -84,7 +84,7 @@ op analyzeFromImageData is Azure.Core.RpcOperation<
@doc("The image to be analyzed")
@body
- imageContent: bytes;
+ imageData: bytes;
...SharedAnalyzeQuery;
},
@@ -103,7 +103,7 @@ op analyzeFromUrl is Azure.Core.RpcOperation<
@doc("The image to be analyzed")
@body
- imageContent: ImageUrl;
+ imageUrl: ImageUrl;
...SharedAnalyzeQuery;
},
From 0934f729d99ddf5eaa7f2279d5dcf727438586a3 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Tue, 6 Feb 2024 18:05:32 -0800
Subject: [PATCH 003/343] Revert back Python specific changes
---
specification/ai/ImageAnalysis/client.tsp | 27 +++++++++++++++++++++--
specification/ai/ImageAnalysis/routes.tsp | 1 -
2 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/specification/ai/ImageAnalysis/client.tsp b/specification/ai/ImageAnalysis/client.tsp
index d2439a237425..2244a0d8fe98 100644
--- a/specification/ai/ImageAnalysis/client.tsp
+++ b/specification/ai/ImageAnalysis/client.tsp
@@ -28,8 +28,6 @@ using Azure.ClientGenerator.Core;
@@projectedName(ImageAnalysis.VisualFeatures, "csharp", "VisualFeaturesImpl");
-@@access(ImageAnalysis.analyzeFromUrl, Access.internal, "python");
-
@@access(ImageAnalysis.analyzeFromImageData, Access.internal, "java");
@@access(ImageAnalysis.analyzeFromUrl, Access.internal, "java");
@@ -53,3 +51,28 @@ using Azure.ClientGenerator.Core;
@@access(ImageAnalysis.SmartCropsResult, Access.public, "java");
@@access(ImageAnalysis.TagsResult, Access.public, "java");
@@access(ImageAnalysis.VisualFeatures, Access.public, "java");
+
+@@access(ImageAnalysis.analyzeFromImageData, Access.internal, "python");
+@@access(ImageAnalysis.analyzeFromUrl, Access.internal, "python");
+
+@@access(ImageAnalysis.CaptionResult, Access.public, "python");
+@@access(ImageAnalysis.CropRegion, Access.public, "python");
+@@access(ImageAnalysis.DenseCaption, Access.public, "python");
+@@access(ImageAnalysis.DenseCaptionsResult, Access.public, "python");
+@@access(ImageAnalysis.DetectedObject, Access.public, "python");
+@@access(ImageAnalysis.DetectedPerson, Access.public, "python");
+@@access(ImageAnalysis.DetectedTag, Access.public, "python");
+@@access(ImageAnalysis.DetectedTextBlock, Access.public, "python");
+@@access(ImageAnalysis.DetectedTextLine, Access.public, "python");
+@@access(ImageAnalysis.DetectedTextWord, Access.public, "python");
+@@access(ImageAnalysis.ImageAnalysisResult, Access.public, "python");
+@@access(ImageAnalysis.ImageBoundingBox, Access.public, "python");
+@@access(ImageAnalysis.ImageMetadata, Access.public, "python");
+@@access(ImageAnalysis.ImagePoint, Access.public, "python");
+@@access(ImageAnalysis.ObjectsResult, Access.public, "python");
+@@access(ImageAnalysis.PeopleResult, Access.public, "python");
+@@access(ImageAnalysis.ReadResult, Access.public, "python");
+@@access(ImageAnalysis.SmartCropsResult, Access.public, "python");
+@@access(ImageAnalysis.TagsResult, Access.public, "python");
+@@access(ImageAnalysis.VisualFeatures, Access.public, "python");
+
diff --git a/specification/ai/ImageAnalysis/routes.tsp b/specification/ai/ImageAnalysis/routes.tsp
index a6322c9ed39f..1db075b7c439 100644
--- a/specification/ai/ImageAnalysis/routes.tsp
+++ b/specification/ai/ImageAnalysis/routes.tsp
@@ -73,7 +73,6 @@ alias SharedAnalyzeQuery = {
#suppress "@azure-tools/typespec-azure-core/byos" "It's an RPC call to analyze an image, it doesn't store anything. There's a BYOS version of this call, but it's not this one."
@doc("Performs a single Image Analysis operation")
@route("imageanalysis:analyze")
-@projectedName("python", "analyze")
@post
@sharedRoute
op analyzeFromImageData is Azure.Core.RpcOperation<
From 000a3269f9e748d9de720d914379083051357e45 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Tue, 6 Feb 2024 18:06:40 -0800
Subject: [PATCH 004/343] Revert new line, so it shows no change in client.tsp
file
---
specification/ai/ImageAnalysis/client.tsp | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/specification/ai/ImageAnalysis/client.tsp b/specification/ai/ImageAnalysis/client.tsp
index 2244a0d8fe98..ecd2a3f00b2f 100644
--- a/specification/ai/ImageAnalysis/client.tsp
+++ b/specification/ai/ImageAnalysis/client.tsp
@@ -74,5 +74,4 @@ using Azure.ClientGenerator.Core;
@@access(ImageAnalysis.ReadResult, Access.public, "python");
@@access(ImageAnalysis.SmartCropsResult, Access.public, "python");
@@access(ImageAnalysis.TagsResult, Access.public, "python");
-@@access(ImageAnalysis.VisualFeatures, Access.public, "python");
-
+@@access(ImageAnalysis.VisualFeatures, Access.public, "python");
\ No newline at end of file
From c8c1d7bd8e4a04faadbc8eea0300e583fb29ee0a Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Tue, 6 Feb 2024 18:08:09 -0800
Subject: [PATCH 005/343] Try again
---
specification/ai/ImageAnalysis/client.tsp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/specification/ai/ImageAnalysis/client.tsp b/specification/ai/ImageAnalysis/client.tsp
index ecd2a3f00b2f..15dc6f531856 100644
--- a/specification/ai/ImageAnalysis/client.tsp
+++ b/specification/ai/ImageAnalysis/client.tsp
@@ -74,4 +74,4 @@ using Azure.ClientGenerator.Core;
@@access(ImageAnalysis.ReadResult, Access.public, "python");
@@access(ImageAnalysis.SmartCropsResult, Access.public, "python");
@@access(ImageAnalysis.TagsResult, Access.public, "python");
-@@access(ImageAnalysis.VisualFeatures, Access.public, "python");
\ No newline at end of file
+@@access(ImageAnalysis.VisualFeatures, Access.public, "python");
From 171c917cf68a352c5423615c880484cd49d57ff4 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Tue, 6 Feb 2024 19:28:28 -0800
Subject: [PATCH 006/343] Fix generated & example JSONs
---
.../examples/2023-10-01/AnalyzeFromImageData_MaximumSet.json | 2 +-
.../examples/2023-10-01/AnalyzeFromUrl_MaximumSet.json | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/specification/ai/ImageAnalysis/examples/2023-10-01/AnalyzeFromImageData_MaximumSet.json b/specification/ai/ImageAnalysis/examples/2023-10-01/AnalyzeFromImageData_MaximumSet.json
index 336d20f470b1..65381fe30d09 100644
--- a/specification/ai/ImageAnalysis/examples/2023-10-01/AnalyzeFromImageData_MaximumSet.json
+++ b/specification/ai/ImageAnalysis/examples/2023-10-01/AnalyzeFromImageData_MaximumSet.json
@@ -19,7 +19,7 @@
1.33
],
"model-version": "latest",
- "imageContent": ""
+ "imageData": ""
},
"responses": {
"200": {
diff --git a/specification/ai/ImageAnalysis/examples/2023-10-01/AnalyzeFromUrl_MaximumSet.json b/specification/ai/ImageAnalysis/examples/2023-10-01/AnalyzeFromUrl_MaximumSet.json
index 266456feef92..a5f460c02704 100644
--- a/specification/ai/ImageAnalysis/examples/2023-10-01/AnalyzeFromUrl_MaximumSet.json
+++ b/specification/ai/ImageAnalysis/examples/2023-10-01/AnalyzeFromUrl_MaximumSet.json
@@ -19,7 +19,7 @@
1.33
],
"model-version": "latest",
- "imageContent": {
+ "imageUrl": {
"url": "https://aka.ms/azai/vision/image-analysis-sample.jpg"
}
},
From acd93ec91086980bb165215249da453c8a8ec656 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Wed, 7 Feb 2024 07:16:34 -0800
Subject: [PATCH 007/343] Use unique variable names for image URL and image
data
---
.../2023-10-01/examples/AnalyzeFromImageData_MaximumSet.json | 2 +-
.../stable/2023-10-01/examples/AnalyzeFromUrl_MaximumSet.json | 2 +-
.../data-plane/ImageAnalysis/stable/2023-10-01/generated.json | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/examples/AnalyzeFromImageData_MaximumSet.json b/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/examples/AnalyzeFromImageData_MaximumSet.json
index 336d20f470b1..65381fe30d09 100644
--- a/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/examples/AnalyzeFromImageData_MaximumSet.json
+++ b/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/examples/AnalyzeFromImageData_MaximumSet.json
@@ -19,7 +19,7 @@
1.33
],
"model-version": "latest",
- "imageContent": ""
+ "imageData": ""
},
"responses": {
"200": {
diff --git a/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/examples/AnalyzeFromUrl_MaximumSet.json b/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/examples/AnalyzeFromUrl_MaximumSet.json
index 266456feef92..a5f460c02704 100644
--- a/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/examples/AnalyzeFromUrl_MaximumSet.json
+++ b/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/examples/AnalyzeFromUrl_MaximumSet.json
@@ -19,7 +19,7 @@
1.33
],
"model-version": "latest",
- "imageContent": {
+ "imageUrl": {
"url": "https://aka.ms/azai/vision/image-analysis-sample.jpg"
}
},
diff --git a/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/generated.json b/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/generated.json
index a223b95be137..fced0b7c2f01 100644
--- a/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/generated.json
+++ b/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/generated.json
@@ -165,7 +165,7 @@
"x-ms-client-name": "modelVersion"
},
{
- "name": "imageContent",
+ "name": "imageData",
"in": "body",
"description": "The image to be analyzed",
"required": true,
@@ -319,7 +319,7 @@
"x-ms-client-name": "modelVersion"
},
{
- "name": "imageContent",
+ "name": "imageUrl",
"in": "body",
"description": "The image to be analyzed",
"required": true,
From 2690ded87c92aec9f70d87b87eaa16db57bc6ea5 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Fri, 22 Mar 2024 11:36:43 -0700
Subject: [PATCH 008/343] data plane template
---
specification/ai/ModelInference/client.tsp | 5 ++
.../Widgets_CreateOrUpdateWidgetSample.json | 37 +++++++++
.../Widgets_DeleteWidgetSample.json | 29 +++++++
...idgets_GetWidgetOperationStatusSample.json | 45 +++++++++++
.../Widgets_GetWidgetSample.json | 25 ++++++
.../Widgets_ListWidgetsSample.json | 27 +++++++
specification/ai/ModelInference/main.tsp | 78 +++++++++++++++++++
.../ai/ModelInference/tspconfig.yaml | 36 +++++++++
8 files changed, 282 insertions(+)
create mode 100644 specification/ai/ModelInference/client.tsp
create mode 100644 specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_CreateOrUpdateWidgetSample.json
create mode 100644 specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_DeleteWidgetSample.json
create mode 100644 specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_GetWidgetOperationStatusSample.json
create mode 100644 specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_GetWidgetSample.json
create mode 100644 specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_ListWidgetsSample.json
create mode 100644 specification/ai/ModelInference/main.tsp
create mode 100644 specification/ai/ModelInference/tspconfig.yaml
diff --git a/specification/ai/ModelInference/client.tsp b/specification/ai/ModelInference/client.tsp
new file mode 100644
index 000000000000..164fc28c837f
--- /dev/null
+++ b/specification/ai/ModelInference/client.tsp
@@ -0,0 +1,5 @@
+/**
+ * PLACEHOLDER
+ * Add readme and sample
+ */
+import "./main.tsp";
diff --git a/specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_CreateOrUpdateWidgetSample.json b/specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_CreateOrUpdateWidgetSample.json
new file mode 100644
index 000000000000..9adc3398bcad
--- /dev/null
+++ b/specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_CreateOrUpdateWidgetSample.json
@@ -0,0 +1,37 @@
+{
+ "title": "Widgets_CreateOrUpdateWidget",
+ "operationId": "Widgets_CreateOrUpdateWidget",
+ "parameters": {
+ "widgetName": "name1",
+ "api-version": "2022-11-01-preview",
+ "body": {
+ "manufacturerId": "manufacturer id1",
+ "sharedModel": {
+ "tag": "tag1",
+ "createdDate": "2023-01-09T02:12:25.689Z"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "name1",
+ "manufacturerId": "manufacturer id1",
+ "sharedModel": {
+ "tag": "tag1",
+ "createdDate": "2023-01-09T02:12:25.689Z"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "name1",
+ "manufacturerId": "manufacturer id1",
+ "sharedModel": {
+ "tag": "tag1",
+ "createdDate": "2023-01-09T02:12:25.689Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_DeleteWidgetSample.json b/specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_DeleteWidgetSample.json
new file mode 100644
index 000000000000..8a6b117b5cde
--- /dev/null
+++ b/specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_DeleteWidgetSample.json
@@ -0,0 +1,29 @@
+{
+ "operationId": "Widgets_DeleteWidget",
+ "title": "Delete widget by widget name using long-running operation.",
+ "parameters": {
+ "api-version": "2022-11-01-preview",
+ "widgetName": "searchbox"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://contosowidgetmanager.azure.com/operations/00000000-0000-0000-0000-000000000123/result?api-version=2022-11-01-preview",
+ "operation-location": "https://contosowidgetmanager.azure.com/operations/00000000-0000-0000-0000-000000000123?api-version=2022-11-01-preview"
+ },
+ "body": {
+ "id": "id1",
+ "status": "deleted"
+ }
+ },
+ "default": {
+ "body": {
+ "error": {
+ "code": "Error code",
+ "message": "Error message",
+ "details": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_GetWidgetOperationStatusSample.json b/specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_GetWidgetOperationStatusSample.json
new file mode 100644
index 000000000000..c88b6155b003
--- /dev/null
+++ b/specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_GetWidgetOperationStatusSample.json
@@ -0,0 +1,45 @@
+{
+ "title": "Widgets_GetWidgetOperationStatus",
+ "operationId": "Widgets_GetWidgetOperationStatus",
+ "parameters": {
+ "widgetName": "name1",
+ "operationId": "opreation id1",
+ "api-version": "2022-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "opreation id1",
+ "status": "InProgress",
+ "error": {
+ "code": "Error code",
+ "message": "Error message",
+ "target": "op1",
+ "details": [
+ {
+ "code": "code1",
+ "message": "message1",
+ "target": "op1",
+ "details": [],
+ "innererror": {
+ "code": "code1"
+ }
+ }
+ ],
+ "innererror": {
+ "code": "code1"
+ }
+ },
+ "result": {
+ "name": "bingsearch",
+ "manufacturerId": "manufacturer Id1",
+ "sharedModel": {
+ "tag": "tag1",
+ "createdDate": "2023-01-09T02:12:25.689Z"
+ }
+ },
+ "widgetName": "rfazvwnfwwomiwrh"
+ }
+ }
+ }
+}
diff --git a/specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_GetWidgetSample.json b/specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_GetWidgetSample.json
new file mode 100644
index 000000000000..9c07ed974352
--- /dev/null
+++ b/specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_GetWidgetSample.json
@@ -0,0 +1,25 @@
+{
+ "operationId": "Widgets_GetWidget",
+ "title": "Get widget by widget name.",
+ "parameters": {
+ "api-version": "2022-11-01-preview",
+ "widgetName": "searchbox"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "bingsearch",
+ "manufacturerId": "a-22-01"
+ }
+ },
+ "default": {
+ "body": {
+ "error": {
+ "code": "Error code",
+ "message": "Error message",
+ "details": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_ListWidgetsSample.json b/specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_ListWidgetsSample.json
new file mode 100644
index 000000000000..60cfc8902fb8
--- /dev/null
+++ b/specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_ListWidgetsSample.json
@@ -0,0 +1,27 @@
+{
+ "title": "Widgets_ListWidgets",
+ "operationId": "Widgets_ListWidgets",
+ "parameters": {
+ "top": 8,
+ "skip": 15,
+ "maxpagesize": 27,
+ "api-version": "2022-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "bingsearch",
+ "manufacturerId": "manufacturer Id1",
+ "sharedModel": {
+ "tag": "tag1",
+ "createdDate": "2023-01-09T02:12:25.689Z"
+ }
+ }
+ ],
+ "nextLink": "https://microsoft.com/a"
+ }
+ }
+ }
+}
diff --git a/specification/ai/ModelInference/main.tsp b/specification/ai/ModelInference/main.tsp
new file mode 100644
index 000000000000..7fa5fd9a80ac
--- /dev/null
+++ b/specification/ai/ModelInference/main.tsp
@@ -0,0 +1,78 @@
+import "@typespec/rest";
+import "@typespec/versioning";
+import "@azure-tools/typespec-azure-core";
+
+using TypeSpec.Http;
+using TypeSpec.Rest;
+using TypeSpec.Versioning;
+using Azure.Core;
+
+@useAuth(
+ ApiKeyAuth | OAuth2Auth<[
+ {
+ type: OAuth2FlowType.implicit,
+ authorizationUrl: "https://login.contoso.com/common/oauth2/v2.0/authorize",
+ scopes: ["https://widget.contoso.com/.default"],
+ }
+ ]>
+)
+@service({
+ title: "Azure.AI.Inference service",
+})
+@versioned(Azure.AI.Inference.Versions)
+namespace Azure.AI.Inference;
+
+@doc("The Azure.AI.Inference service versions.")
+enum Versions {
+ @useDependency(Azure.Core.Versions.v1_0_Preview_2)
+ @doc("The 2022-11-01-preview version of the Azure.AI.Inference service.")
+ `2022-11-01-preview`,
+}
+
+@doc("A widget.")
+@resource("widgets")
+model Widget {
+ @key("widgetName")
+ @doc("The widget name.")
+ @visibility("read")
+ name: string;
+
+ @doc("The ID of the manufacturer.")
+ manufacturerId: string;
+
+ @doc("The faked shared model.")
+ sharedModel?: FakedSharedModel;
+}
+
+@doc("Faked shared model")
+model FakedSharedModel {
+ @doc("The tag.")
+ tag: string;
+
+ @doc("The created date.")
+ createdDate: utcDateTime;
+}
+
+interface Widgets {
+ @doc("Fetch a Widget by name.")
+ getWidget is ResourceRead;
+
+ @doc("Gets status of a Widget operation.")
+ getWidgetOperationStatus is GetResourceOperationStatus;
+
+ @doc("Creates or updates a Widget asynchronously.")
+ @pollingOperation(Widgets.getWidgetOperationStatus)
+ createOrUpdateWidget is LongRunningResourceCreateOrUpdate;
+
+ @doc("Delete a Widget asynchronously.")
+ @pollingOperation(Widgets.getWidgetOperationStatus)
+ deleteWidget is LongRunningResourceDelete;
+
+ @doc("List Widget resources")
+ listWidgets is ResourceList<
+ Widget,
+ {
+ parameters: StandardListQueryParameters;
+ }
+ >;
+}
diff --git a/specification/ai/ModelInference/tspconfig.yaml b/specification/ai/ModelInference/tspconfig.yaml
new file mode 100644
index 000000000000..6fe8afea2da3
--- /dev/null
+++ b/specification/ai/ModelInference/tspconfig.yaml
@@ -0,0 +1,36 @@
+parameters:
+ "service-dir":
+ default: "sdk/modelinference"
+ "dependencies":
+ "additionalDirectories": []
+ default: ""
+emit:
+ - "@azure-tools/typespec-autorest"
+options:
+ "@azure-tools/typespec-autorest":
+ azure-resource-provider-folder: "data-plane"
+ emitter-output-dir: "{project-root}/.."
+ examples-directory: "{project-root}/examples"
+ output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json"
+ "@azure-tools/typespec-python":
+ package-dir: "azure-ai-inference"
+ package-name: "{package-dir}"
+ package-mode: dataplane
+ "@azure-tools/typespec-csharp":
+ package-dir: "Azure.AI.Inference"
+ namespace: "{package-dir}"
+ clear-output-folder: true
+ model-namespace: false
+ "@azure-tools/typespec-ts":
+ package-dir: "azure-ai-inference-rest"
+ generateMetadata: true
+ generateTest: true
+ packageDetails:
+ name: "@azure-rest/azure-ai-inference-rest"
+ description: "Azure.AI.Inference Service"
+ "@azure-tools/typespec-java":
+ package-dir: "azure-ai-inference"
+ namespace: com.azure.ai.inference
+linter:
+ extends:
+ - "@azure-tools/typespec-azure-core/all"
From 831ac8b594b743ff15d9ec0c6f7d3a789cc721e3 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Fri, 22 Mar 2024 17:28:02 -0700
Subject: [PATCH 009/343] Bring over a trimmed down version of Azure OpenAI
TypeSpec
---
specification/ai/ModelInference/client.tsp | 21 +-
specification/ai/ModelInference/main.tsp | 54 +---
.../models/completions/chat_completions.tsp | 301 ++++++++++++++++++
.../models/completions/chat_messages.tsp | 85 +++++
.../ai/ModelInference/routes/completions.tsp | 28 ++
.../Widgets_CreateOrUpdateWidgetSample.json | 0
.../examples}/Widgets_DeleteWidgetSample.json | 0
...idgets_GetWidgetOperationStatusSample.json | 0
.../examples}/Widgets_GetWidgetSample.json | 0
.../examples}/Widgets_ListWidgetsSample.json | 0
.../preview/2024-04-01-preview/openapi.json | 69 ++++
11 files changed, 505 insertions(+), 53 deletions(-)
create mode 100644 specification/ai/ModelInference/models/completions/chat_completions.tsp
create mode 100644 specification/ai/ModelInference/models/completions/chat_messages.tsp
create mode 100644 specification/ai/ModelInference/routes/completions.tsp
rename specification/ai/{ModelInference/examples/2022-11-01-preview => data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples}/Widgets_CreateOrUpdateWidgetSample.json (100%)
rename specification/ai/{ModelInference/examples/2022-11-01-preview => data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples}/Widgets_DeleteWidgetSample.json (100%)
rename specification/ai/{ModelInference/examples/2022-11-01-preview => data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples}/Widgets_GetWidgetOperationStatusSample.json (100%)
rename specification/ai/{ModelInference/examples/2022-11-01-preview => data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples}/Widgets_GetWidgetSample.json (100%)
rename specification/ai/{ModelInference/examples/2022-11-01-preview => data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples}/Widgets_ListWidgetsSample.json (100%)
create mode 100644 specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/openapi.json
diff --git a/specification/ai/ModelInference/client.tsp b/specification/ai/ModelInference/client.tsp
index 164fc28c837f..e6570eef1a49 100644
--- a/specification/ai/ModelInference/client.tsp
+++ b/specification/ai/ModelInference/client.tsp
@@ -1,5 +1,18 @@
-/**
- * PLACEHOLDER
- * Add readme and sample
- */
+import "@azure-tools/typespec-client-generator-core";
+
import "./main.tsp";
+
+using Azure.ClientGenerator.Core;
+
+@TypeSpec.Versioning.useDependency(
+ Azure.AI.Inference.Versions.v2024_04_01_Preview
+)
+namespace Client;
+
+@client({
+ name: "ModelClient",
+ service: Azure.AI.Inference,
+})
+interface ModelClient {
+ getChatCompletions is Azure.AI.Inference.getChatCompletions;
+}
diff --git a/specification/ai/ModelInference/main.tsp b/specification/ai/ModelInference/main.tsp
index 7fa5fd9a80ac..c710c67dab3c 100644
--- a/specification/ai/ModelInference/main.tsp
+++ b/specification/ai/ModelInference/main.tsp
@@ -2,6 +2,8 @@ import "@typespec/rest";
import "@typespec/versioning";
import "@azure-tools/typespec-azure-core";
+import "./routes/completions.tsp";
+
using TypeSpec.Http;
using TypeSpec.Rest;
using TypeSpec.Versioning;
@@ -20,59 +22,13 @@ using Azure.Core;
title: "Azure.AI.Inference service",
})
@versioned(Azure.AI.Inference.Versions)
+#suppress "@azure-tools/typespec-azure-core/casing-style" "The names of Namespace types must use PascalCase"
namespace Azure.AI.Inference;
@doc("The Azure.AI.Inference service versions.")
enum Versions {
@useDependency(Azure.Core.Versions.v1_0_Preview_2)
- @doc("The 2022-11-01-preview version of the Azure.AI.Inference service.")
- `2022-11-01-preview`,
-}
-
-@doc("A widget.")
-@resource("widgets")
-model Widget {
- @key("widgetName")
- @doc("The widget name.")
- @visibility("read")
- name: string;
-
- @doc("The ID of the manufacturer.")
- manufacturerId: string;
-
- @doc("The faked shared model.")
- sharedModel?: FakedSharedModel;
-}
-
-@doc("Faked shared model")
-model FakedSharedModel {
- @doc("The tag.")
- tag: string;
-
- @doc("The created date.")
- createdDate: utcDateTime;
+ @doc("The 2024-04-01-preview version of the Azure.AI.Inference service.")
+ v2024_04_01_Preview: "2024-04-01-preview",
}
-interface Widgets {
- @doc("Fetch a Widget by name.")
- getWidget is ResourceRead;
-
- @doc("Gets status of a Widget operation.")
- getWidgetOperationStatus is GetResourceOperationStatus;
-
- @doc("Creates or updates a Widget asynchronously.")
- @pollingOperation(Widgets.getWidgetOperationStatus)
- createOrUpdateWidget is LongRunningResourceCreateOrUpdate;
-
- @doc("Delete a Widget asynchronously.")
- @pollingOperation(Widgets.getWidgetOperationStatus)
- deleteWidget is LongRunningResourceDelete;
-
- @doc("List Widget resources")
- listWidgets is ResourceList<
- Widget,
- {
- parameters: StandardListQueryParameters;
- }
- >;
-}
diff --git a/specification/ai/ModelInference/models/completions/chat_completions.tsp b/specification/ai/ModelInference/models/completions/chat_completions.tsp
new file mode 100644
index 000000000000..1868bb96bac5
--- /dev/null
+++ b/specification/ai/ModelInference/models/completions/chat_completions.tsp
@@ -0,0 +1,301 @@
+import "@typespec/rest";
+import "@typespec/http";
+import "@typespec/versioning";
+
+import "./chat_messages.tsp";
+
+using TypeSpec.Rest;
+using TypeSpec.Http;
+using TypeSpec.Versioning;
+
+namespace Azure.AI.Inference;
+
+@doc("""
+Representation of the token counts processed for a completions request.
+Counts consider all tokens across prompts, choices, choice alternates, best_of generations, and
+other consumers.
+""")
+model CompletionsUsage {
+ @doc("The number of tokens generated across all completions emissions.")
+ @projectedName("json", "completion_tokens")
+ completionTokens: int32;
+
+ @doc("The number of tokens in the provided prompts for the completions request.")
+ @projectedName("json", "prompt_tokens")
+ promptTokens: int32;
+
+ @doc("The total number of tokens processed for the completions request and response.")
+ @projectedName("json", "total_tokens")
+ totalTokens: int32;
+}
+
+@doc("""
+Representation of the manner in which a completions response concluded.
+""")
+enum CompletionsFinishReason {
+ @doc("Completions ended normally and reached its end of token generation.")
+ stopped: "stop",
+
+ @doc("Completions exhausted available token limits before generation could complete.")
+ tokenLimitReached: "length",
+
+ @doc("""
+ Completions generated a response that was identified as potentially sensitive per content
+ moderation policies.
+ """)
+ contentFiltered: "content_filter",
+}
+
+@doc("A description of the intended purpose of a message within a chat completions interaction.")
+enum ChatRole {
+ @doc("The role that instructs or sets the behavior of the assistant.")
+ system: "system",
+
+ @doc("The role that provides responses to system-instructed, user-prompted input.")
+ assistant: "assistant",
+
+ @doc("The role that provides input for chat completions.")
+ user: "user",
+}
+
+@doc("""
+An abstract representation of a response format configuration usable by Chat Completions. Can be used to enable JSON
+mode.
+""")
+@discriminator("type")
+model ChatCompletionsResponseFormat {
+ @doc("The discriminated type for the response format.")
+ type: string;
+}
+
+@doc("""
+The standard Chat Completions response format that can freely generate text and is not guaranteed to produce response
+content that adheres to a specific schema.
+""")
+model ChatCompletionsTextResponseFormat extends ChatCompletionsResponseFormat {
+ @doc("The discriminated object type, which is always 'text' for this format.")
+ type: "text";
+}
+
+@doc("""
+A response format for Chat Completions that restricts responses to emitting valid JSON objects.
+""")
+model ChatCompletionsJsonResponseFormat extends ChatCompletionsResponseFormat {
+ @doc("The discriminated object type, which is always 'json_object' for this format.")
+ type: "json_object";
+}
+
+@doc("""
+The configuration information for a chat completions request.
+Completions support a wide variety of tasks and generate text that continues from or "completes"
+provided prompt data.
+""")
+model ChatCompletionsOptions {
+ @doc("""
+ The collection of context messages associated with this chat completions request.
+ Typical usage begins with a chat message for the System role that provides instructions for
+ the behavior of the assistant, followed by alternating messages between the User and
+ Assistant roles.
+ """)
+ @projectedName("json", "messages")
+ messages: ChatRequestMessage[];
+
+ @doc("The maximum number of tokens to generate.")
+ @projectedName("json", "max_tokens")
+ maxTokens?: int32;
+
+ @doc("""
+ The sampling temperature to use that controls the apparent creativity of generated completions.
+ Higher values will make output more random while lower values will make results more focused
+ and deterministic.
+ It is not recommended to modify temperature and top_p for the same completions request as the
+ interaction of these two settings is difficult to predict.
+ """)
+ @projectedName("json", "temperature")
+ temperature?: float32;
+
+ @doc("""
+ An alternative to sampling with temperature called nucleus sampling. This value causes the
+ model to consider the results of tokens with the provided probability mass. As an example, a
+ value of 0.15 will cause only the tokens comprising the top 15% of probability mass to be
+ considered.
+ It is not recommended to modify temperature and top_p for the same completions request as the
+ interaction of these two settings is difficult to predict.
+ """)
+ @projectedName("json", "top_p")
+ topP?: float32;
+
+ @doc("""
+ A map between GPT token IDs and bias scores that influences the probability of specific tokens
+ appearing in a completions response. Token IDs are computed via external tokenizer tools, while
+ bias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to
+ a full ban or exclusive selection of a token, respectively. The exact behavior of a given bias
+ score varies by model.
+ """)
+ @projectedName("json", "logit_bias")
+ logitBias?: Record;
+
+ @doc("""
+ An identifier for the caller or end user of the operation. This may be used for tracking
+ or rate-limiting purposes.
+ """)
+ @projectedName("json", "user")
+ user?: string;
+
+ @doc("""
+ The number of chat completions choices that should be generated for a chat completions
+ response.
+ Because this setting can generate many completions, it may quickly consume your token quota.
+ Use carefully and ensure reasonable settings for max_tokens and stop.
+ """)
+ @projectedName("json", "n")
+ n?: int32;
+
+ @doc("""
+ A collection of textual sequences that will end completions generation.
+ """)
+ @projectedName("json", "stop")
+ stop?: string[];
+
+ @doc("""
+ A value that influences the probability of generated tokens appearing based on their existing
+ presence in generated text.
+ Positive values will make tokens less likely to appear when they already exist and increase the
+ model's likelihood to output new topics.
+ """)
+ @projectedName("json", "presence_penalty")
+ presencePenalty?: float32;
+
+ @doc("""
+ A value that influences the probability of generated tokens appearing based on their cumulative
+ frequency in generated text.
+ Positive values will make tokens less likely to appear as their frequency increases and
+ decrease the likelihood of the model repeating the same statements verbatim.
+ """)
+ @projectedName("json", "frequency_penalty")
+ frequencyPenalty?: float32;
+
+ @doc("""
+ A value indicating whether chat completions should be streamed for this request.
+ """)
+ @projectedName("json", "stream")
+ stream?: boolean;
+
+ @doc("""
+ The model name to provide as part of this completions request.
+ Not applicable to Azure OpenAI, where deployment information should be included in the Azure
+ resource URI that's connected to.
+ """)
+ @projectedName("json", "model")
+ `model`?: string;
+
+ @doc("""
+ If specified, the system will make a best effort to sample deterministically such that repeated requests with the
+ same seed and parameters should return the same result. Determinism is not guaranteed, and you should refer to the
+ system_fingerprint response parameter to monitor changes in the backend."
+ """)
+ seed?: int64;
+
+ @projectedName("json", "response_format")
+ @doc("An object specifying the format that the model must output. Used to enable JSON mode.")
+ responseFormat?: ChatCompletionsResponseFormat;
+}
+
+@doc("""
+The representation of a single prompt completion as part of an overall chat completions request.
+Generally, `n` choices are generated per provided prompt with a default value of 1.
+Token limits and other settings may limit the number of choices generated.
+""")
+model ChatChoice {
+ @doc("The chat message for a given chat completions prompt.")
+ @projectedName("json", "message")
+ message?: ChatResponseMessage;
+
+ @doc("The ordered index associated with this chat completions choice.")
+ @projectedName("json", "index")
+ index: int32;
+
+ #suppress "@azure-tools/typespec-azure-core/no-nullable" "The operation already returns nulls"
+ #suppress "@azure-tools/typespec-autorest/union-unsupported" "OpenAPI v2 support deferred"
+ @doc("The reason that this chat completions choice completed its generated.")
+ @projectedName("json", "finish_reason")
+ finishReason: CompletionsFinishReason | null;
+
+ // Note: this property is currently speculative via observation and not yet documented anywhere.
+ @doc("""
+ The reason the model stopped generating tokens, together with any applicable details.
+ This structured representation replaces 'finish_reason' for some models.
+ """)
+ @projectedName("json", "finish_details")
+ finishDetails?: ChatFinishDetails;
+
+ @doc("The delta message content for a streaming response.")
+ @projectedName("json", "delta")
+ delta?: ChatResponseMessage;
+}
+
+@doc("""
+Representation of the response data from a chat completions request.
+Completions support a wide variety of tasks and generate text that continues from or "completes"
+provided prompt data.
+""")
+model ChatCompletions {
+ @doc("A unique identifier associated with this chat completions response.")
+ @projectedName("json", "id")
+ id: string;
+
+ @doc("""
+ The first timestamp associated with generation activity for this completions response,
+ represented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970.
+ """)
+ @projectedName("json", "created")
+ @projectedName("java", "createdAt")
+ @encode(DateTimeKnownEncoding.unixTimestamp, int32)
+ created: utcDateTime;
+
+ @doc("""
+ The collection of completions choices associated with this completions response.
+ Generally, `n` choices are generated per provided prompt with a default value of 1.
+ Token limits and other settings may limit the number of choices generated.
+ """)
+ @projectedName("json", "choices")
+ choices: ChatChoice[];
+
+ @projectedName("json", "system_fingerprint")
+ @doc("""
+ Can be used in conjunction with the `seed` request parameter to understand when backend changes have been made that
+ might impact determinism.
+ """)
+ systemFingerprint?: string;
+
+ @doc("""
+ Usage information for tokens processed and generated as part of this completions operation.
+ """)
+ @projectedName("json", "usage")
+ usage: CompletionsUsage;
+}
+
+@discriminator("type")
+@doc("An abstract representation of structured information about why a chat completions response terminated.")
+model ChatFinishDetails {
+ @doc("The object type.")
+ type: string;
+}
+
+@doc("A structured representation of a stop reason that signifies natural termination by the model.")
+model StopFinishDetails extends ChatFinishDetails {
+ @doc("The object type, which is always 'stop' for this object.")
+ type: "stop";
+
+ @doc("The token sequence that the model terminated with.")
+ stop: string;
+}
+
+@doc("""
+A structured representation of a stop reason that signifies a token limit was reached before the model could naturally
+complete.
+""")
+model MaxTokensFinishDetails extends ChatFinishDetails {
+ @doc("The object type, which is always 'max_tokens' for this object.")
+ type: "max_tokens";
+}
diff --git a/specification/ai/ModelInference/models/completions/chat_messages.tsp b/specification/ai/ModelInference/models/completions/chat_messages.tsp
new file mode 100644
index 000000000000..a51b55af4e69
--- /dev/null
+++ b/specification/ai/ModelInference/models/completions/chat_messages.tsp
@@ -0,0 +1,85 @@
+import "@typespec/rest";
+import "@typespec/http";
+import "@typespec/versioning";
+
+using TypeSpec.Rest;
+using TypeSpec.Http;
+using TypeSpec.Versioning;
+
+namespace Azure.AI.Inference;
+
+#suppress "@azure-tools/typespec-autorest/union-unsupported" "External API shape is defined in OpenAPI 3.0 as oneOf."
+alias ChatMessageContent = string | ChatMessageContentItem[];
+
+@doc("An abstract representation of a structured content item within a chat message.")
+@discriminator("type")
+model ChatMessageContentItem {
+ @doc("The discriminated object type.")
+ type: string;
+}
+
+@doc("A structured chat content item containing plain text.")
+model ChatMessageTextContentItem extends ChatMessageContentItem {
+ @doc("The discriminated object type: always 'text' for this type.")
+ type: "text";
+
+ @doc("The content of the message.")
+ text: string;
+}
+
+@discriminator("role")
+@doc("An abstract representation of a chat message as provided in a request.")
+model ChatRequestMessage {
+ @doc("The chat role associated with this message.")
+ role: ChatRole;
+}
+
+@doc("""
+A request chat message containing system instructions that influence how the model will generate a chat completions
+response.
+""")
+model ChatRequestSystemMessage extends ChatRequestMessage {
+ @doc("The chat role associated with this message, which is always 'system' for system messages.")
+ role: ChatRole.system;
+
+ @doc("The contents of the system message.")
+ content: string;
+
+ @doc("An optional name for the participant.")
+ name?: string;
+}
+
+@doc("A request chat message representing user input to the assistant.")
+model ChatRequestUserMessage extends ChatRequestMessage {
+ @doc("The chat role associated with this message, which is always 'user' for user messages.")
+ role: ChatRole.user;
+
+ @doc("The contents of the user message, with available input types varying by selected model.")
+ content: ChatMessageContent;
+
+ @doc("An optional name for the participant.")
+ name?: string;
+}
+
+@doc("A request chat message representing response or action from the assistant.")
+model ChatRequestAssistantMessage extends ChatRequestMessage {
+ @doc("The chat role associated with this message, which is always 'assistant' for assistant messages.")
+ role: ChatRole.assistant;
+
+ #suppress "@azure-tools/typespec-azure-core/no-nullable" "explicitly nullable in mirrored API"
+ @doc("The content of the message.")
+ content: string | null;
+
+ @doc("An optional name for the participant.")
+ name?: string;
+}
+
+@doc("A representation of a chat message as received in a response.")
+model ChatResponseMessage {
+ @doc("The chat role associated with the message.")
+ role: ChatRole;
+
+ #suppress "@azure-tools/typespec-azure-core/no-nullable" "explicitly nullable in mirrored API"
+ @doc("The content of the message.")
+ content: string | null;
+}
diff --git a/specification/ai/ModelInference/routes/completions.tsp b/specification/ai/ModelInference/routes/completions.tsp
new file mode 100644
index 000000000000..bba5efff960c
--- /dev/null
+++ b/specification/ai/ModelInference/routes/completions.tsp
@@ -0,0 +1,28 @@
+import "@azure-tools/typespec-azure-core";
+import "@typespec/rest";
+import "@typespec/http";
+import "@typespec/versioning";
+
+import "../models/completions/chat_completions.tsp";
+
+using TypeSpec.Rest;
+using TypeSpec.Http;
+using TypeSpec.Versioning;
+
+using Azure.Core;
+
+namespace Azure.AI.Inference;
+
+@doc("""
+Gets chat completions for the provided chat messages.
+Completions support a wide variety of tasks and generate text that continues from or "completes"
+provided prompt data.
+""")
+@actionSeparator("/")
+@action("chat/completions") //@convenientAPI(true)
+op getChatCompletions is ResourceAction<
+ Deployment,
+ ChatCompletionsOptions,
+ ChatCompletions
+>;
+
diff --git a/specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_CreateOrUpdateWidgetSample.json b/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_CreateOrUpdateWidgetSample.json
similarity index 100%
rename from specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_CreateOrUpdateWidgetSample.json
rename to specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_CreateOrUpdateWidgetSample.json
diff --git a/specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_DeleteWidgetSample.json b/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_DeleteWidgetSample.json
similarity index 100%
rename from specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_DeleteWidgetSample.json
rename to specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_DeleteWidgetSample.json
diff --git a/specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_GetWidgetOperationStatusSample.json b/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_GetWidgetOperationStatusSample.json
similarity index 100%
rename from specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_GetWidgetOperationStatusSample.json
rename to specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_GetWidgetOperationStatusSample.json
diff --git a/specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_GetWidgetSample.json b/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_GetWidgetSample.json
similarity index 100%
rename from specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_GetWidgetSample.json
rename to specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_GetWidgetSample.json
diff --git a/specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_ListWidgetsSample.json b/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_ListWidgetsSample.json
similarity index 100%
rename from specification/ai/ModelInference/examples/2022-11-01-preview/Widgets_ListWidgetsSample.json
rename to specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_ListWidgetsSample.json
diff --git a/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/openapi.json
new file mode 100644
index 000000000000..967cf5e1e098
--- /dev/null
+++ b/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/openapi.json
@@ -0,0 +1,69 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure.AI.Inference service",
+ "version": "2024-04-01-preview",
+ "x-typespec-generated": [
+ {
+ "emitter": "@azure-tools/typespec-autorest"
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "OAuth2Auth": [
+ "https://widget.contoso.com/.default"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "ApiKeyAuth": {
+ "type": "apiKey",
+ "name": "api-key",
+ "in": "header"
+ },
+ "OAuth2Auth": {
+ "type": "oauth2",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.contoso.com/common/oauth2/v2.0/authorize",
+ "scopes": {
+ "https://widget.contoso.com/.default": ""
+ }
+ }
+ },
+ "tags": [],
+ "paths": {},
+ "definitions": {
+ "Versions": {
+ "type": "string",
+ "description": "The Azure.AI.Inference service versions.",
+ "enum": [
+ "2024-04-01-preview"
+ ],
+ "x-ms-enum": {
+ "name": "Versions",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "v2024_04_01_Preview",
+ "value": "2024-04-01-preview",
+ "description": "The 2024-04-01-preview version of the Azure.AI.Inference service."
+ }
+ ]
+ }
+ }
+ },
+ "parameters": {}
+}
From f4f4a397f713835946d3d9098ed118cf965d5ca9 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Fri, 22 Mar 2024 17:58:22 -0700
Subject: [PATCH 010/343] Make it build via `npx tsp compile .`
---
specification/ai/ModelInference/client.tsp | 1 +
.../ai/ModelInference/routes/completions.tsp | 17 +-
.../ai/ModelInference/tspconfig.yaml | 17 +-
.../preview/2024-04-01-preview/openapi.json | 579 +++++++++++++++++-
4 files changed, 591 insertions(+), 23 deletions(-)
diff --git a/specification/ai/ModelInference/client.tsp b/specification/ai/ModelInference/client.tsp
index e6570eef1a49..44154cc52590 100644
--- a/specification/ai/ModelInference/client.tsp
+++ b/specification/ai/ModelInference/client.tsp
@@ -13,6 +13,7 @@ namespace Client;
name: "ModelClient",
service: Azure.AI.Inference,
})
+
interface ModelClient {
getChatCompletions is Azure.AI.Inference.getChatCompletions;
}
diff --git a/specification/ai/ModelInference/routes/completions.tsp b/specification/ai/ModelInference/routes/completions.tsp
index bba5efff960c..97f77b6c3b09 100644
--- a/specification/ai/ModelInference/routes/completions.tsp
+++ b/specification/ai/ModelInference/routes/completions.tsp
@@ -19,10 +19,17 @@ Completions support a wide variety of tasks and generate text that continues fro
provided prompt data.
""")
@actionSeparator("/")
-@action("chat/completions") //@convenientAPI(true)
-op getChatCompletions is ResourceAction<
- Deployment,
- ChatCompletionsOptions,
+@actionSeparator("/")
+@route("chat/completions")
+op getChatCompletions is Azure.Core.RpcOperation<
+ {
+ @doc("The format of the HTTP payload.")
+ @header
+ contentType: "application/json";
+
+ @doc("The JSON payload containing chat completion options.")
+ @body
+ chatCompletionOptions: ChatCompletionsOptions;
+ },
ChatCompletions
>;
-
diff --git a/specification/ai/ModelInference/tspconfig.yaml b/specification/ai/ModelInference/tspconfig.yaml
index 6fe8afea2da3..f5da300bbc18 100644
--- a/specification/ai/ModelInference/tspconfig.yaml
+++ b/specification/ai/ModelInference/tspconfig.yaml
@@ -1,6 +1,6 @@
parameters:
"service-dir":
- default: "sdk/modelinference"
+ default: "sdk/machinelearning"
"dependencies":
"additionalDirectories": []
default: ""
@@ -16,21 +16,6 @@ options:
package-dir: "azure-ai-inference"
package-name: "{package-dir}"
package-mode: dataplane
- "@azure-tools/typespec-csharp":
- package-dir: "Azure.AI.Inference"
- namespace: "{package-dir}"
- clear-output-folder: true
- model-namespace: false
- "@azure-tools/typespec-ts":
- package-dir: "azure-ai-inference-rest"
- generateMetadata: true
- generateTest: true
- packageDetails:
- name: "@azure-rest/azure-ai-inference-rest"
- description: "Azure.AI.Inference Service"
- "@azure-tools/typespec-java":
- package-dir: "azure-ai-inference"
- namespace: com.azure.ai.inference
linter:
extends:
- "@azure-tools/typespec-azure-core/all"
diff --git a/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/openapi.json
index 967cf5e1e098..137066430361 100644
--- a/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/openapi.json
@@ -44,8 +44,572 @@
}
},
"tags": [],
- "paths": {},
+ "paths": {
+ "/chat/completions": {
+ "post": {
+ "operationId": "GetChatCompletions",
+ "description": "Gets chat completions for the provided chat messages.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
+ },
+ {
+ "name": "chatCompletionOptions",
+ "in": "body",
+ "description": "The JSON payload containing chat completion options.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ChatCompletionsOptions"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ChatCompletions"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "type": "string",
+ "description": "String error code indicating what went wrong."
+ }
+ }
+ }
+ }
+ }
+ }
+ },
"definitions": {
+ "Azure.Core.Foundations.Error": {
+ "type": "object",
+ "description": "The error object.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "One of a server-defined set of error codes."
+ },
+ "message": {
+ "type": "string",
+ "description": "A human-readable representation of the error."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the error."
+ },
+ "details": {
+ "type": "array",
+ "description": "An array of details about specific errors that led to this reported error.",
+ "items": {
+ "$ref": "#/definitions/Azure.Core.Foundations.Error"
+ },
+ "x-ms-identifiers": []
+ },
+ "innererror": {
+ "$ref": "#/definitions/Azure.Core.Foundations.InnerError",
+ "description": "An object containing more specific information than the current object about the error."
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "Azure.Core.Foundations.ErrorResponse": {
+ "type": "object",
+ "description": "A response containing error details.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Azure.Core.Foundations.Error",
+ "description": "The error object."
+ }
+ },
+ "required": [
+ "error"
+ ]
+ },
+ "Azure.Core.Foundations.InnerError": {
+ "type": "object",
+ "description": "An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "One of a server-defined set of error codes."
+ },
+ "innererror": {
+ "$ref": "#/definitions/Azure.Core.Foundations.InnerError",
+ "description": "Inner error."
+ }
+ }
+ },
+ "ChatChoice": {
+ "type": "object",
+ "description": "The representation of a single prompt completion as part of an overall chat completions request.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.",
+ "properties": {
+ "message": {
+ "$ref": "#/definitions/ChatResponseMessage",
+ "description": "The chat message for a given chat completions prompt."
+ },
+ "index": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The ordered index associated with this chat completions choice."
+ },
+ "finish_reason": {
+ "$ref": "#/definitions/CompletionsFinishReason",
+ "description": "The reason that this chat completions choice completed its generated.",
+ "x-nullable": true,
+ "x-ms-client-name": "finishReason"
+ },
+ "finish_details": {
+ "$ref": "#/definitions/ChatFinishDetails",
+ "description": "The reason the model stopped generating tokens, together with any applicable details.\nThis structured representation replaces 'finish_reason' for some models.",
+ "x-ms-client-name": "finishDetails"
+ },
+ "delta": {
+ "$ref": "#/definitions/ChatResponseMessage",
+ "description": "The delta message content for a streaming response."
+ }
+ },
+ "required": [
+ "index",
+ "finish_reason"
+ ]
+ },
+ "ChatCompletions": {
+ "type": "object",
+ "description": "Representation of the response data from a chat completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "A unique identifier associated with this chat completions response."
+ },
+ "created": {
+ "type": "integer",
+ "format": "unixtime",
+ "description": "The first timestamp associated with generation activity for this completions response,\nrepresented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970."
+ },
+ "choices": {
+ "type": "array",
+ "description": "The collection of completions choices associated with this completions response.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.",
+ "items": {
+ "$ref": "#/definitions/ChatChoice"
+ },
+ "x-ms-identifiers": []
+ },
+ "system_fingerprint": {
+ "type": "string",
+ "description": "Can be used in conjunction with the `seed` request parameter to understand when backend changes have been made that\nmight impact determinism.",
+ "x-ms-client-name": "systemFingerprint"
+ },
+ "usage": {
+ "$ref": "#/definitions/CompletionsUsage",
+ "description": "Usage information for tokens processed and generated as part of this completions operation."
+ }
+ },
+ "required": [
+ "id",
+ "created",
+ "choices",
+ "usage"
+ ]
+ },
+ "ChatCompletionsJsonResponseFormat": {
+ "type": "object",
+ "description": "A response format for Chat Completions that restricts responses to emitting valid JSON objects.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatCompletionsResponseFormat"
+ }
+ ],
+ "x-ms-discriminator-value": "json_object"
+ },
+ "ChatCompletionsOptions": {
+ "type": "object",
+ "description": "The configuration information for a chat completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.",
+ "properties": {
+ "messages": {
+ "type": "array",
+ "description": "The collection of context messages associated with this chat completions request.\nTypical usage begins with a chat message for the System role that provides instructions for\nthe behavior of the assistant, followed by alternating messages between the User and\nAssistant roles.",
+ "items": {
+ "$ref": "#/definitions/ChatRequestMessage"
+ },
+ "x-ms-identifiers": []
+ },
+ "max_tokens": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of tokens to generate.",
+ "x-ms-client-name": "maxTokens"
+ },
+ "temperature": {
+ "type": "number",
+ "format": "float",
+ "description": "The sampling temperature to use that controls the apparent creativity of generated completions.\nHigher values will make output more random while lower values will make results more focused\nand deterministic.\nIt is not recommended to modify temperature and top_p for the same completions request as the\ninteraction of these two settings is difficult to predict."
+ },
+ "top_p": {
+ "type": "number",
+ "format": "float",
+ "description": "An alternative to sampling with temperature called nucleus sampling. This value causes the\nmodel to consider the results of tokens with the provided probability mass. As an example, a\nvalue of 0.15 will cause only the tokens comprising the top 15% of probability mass to be\nconsidered.\nIt is not recommended to modify temperature and top_p for the same completions request as the\ninteraction of these two settings is difficult to predict.",
+ "x-ms-client-name": "topP"
+ },
+ "logit_bias": {
+ "type": "object",
+ "description": "A map between GPT token IDs and bias scores that influences the probability of specific tokens\nappearing in a completions response. Token IDs are computed via external tokenizer tools, while\nbias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to\na full ban or exclusive selection of a token, respectively. The exact behavior of a given bias\nscore varies by model.",
+ "additionalProperties": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "x-ms-client-name": "logitBias"
+ },
+ "user": {
+ "type": "string",
+ "description": "An identifier for the caller or end user of the operation. This may be used for tracking\nor rate-limiting purposes."
+ },
+ "n": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of chat completions choices that should be generated for a chat completions\nresponse.\nBecause this setting can generate many completions, it may quickly consume your token quota.\nUse carefully and ensure reasonable settings for max_tokens and stop."
+ },
+ "stop": {
+ "type": "array",
+ "description": "A collection of textual sequences that will end completions generation.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "presence_penalty": {
+ "type": "number",
+ "format": "float",
+ "description": "A value that influences the probability of generated tokens appearing based on their existing\npresence in generated text.\nPositive values will make tokens less likely to appear when they already exist and increase the\nmodel's likelihood to output new topics.",
+ "x-ms-client-name": "presencePenalty"
+ },
+ "frequency_penalty": {
+ "type": "number",
+ "format": "float",
+ "description": "A value that influences the probability of generated tokens appearing based on their cumulative\nfrequency in generated text.\nPositive values will make tokens less likely to appear as their frequency increases and\ndecrease the likelihood of the model repeating the same statements verbatim.",
+ "x-ms-client-name": "frequencyPenalty"
+ },
+ "stream": {
+ "type": "boolean",
+ "description": "A value indicating whether chat completions should be streamed for this request."
+ },
+ "model": {
+ "type": "string",
+ "description": "The model name to provide as part of this completions request.\nNot applicable to Azure OpenAI, where deployment information should be included in the Azure\nresource URI that's connected to."
+ },
+ "seed": {
+ "type": "integer",
+ "format": "int64",
+ "description": "If specified, the system will make a best effort to sample deterministically such that repeated requests with the\nsame seed and parameters should return the same result. Determinism is not guaranteed, and you should refer to the\nsystem_fingerprint response parameter to monitor changes in the backend.\""
+ },
+ "response_format": {
+ "$ref": "#/definitions/ChatCompletionsResponseFormat",
+ "description": "An object specifying the format that the model must output. Used to enable JSON mode.",
+ "x-ms-client-name": "responseFormat"
+ }
+ },
+ "required": [
+ "messages"
+ ]
+ },
+ "ChatCompletionsResponseFormat": {
+ "type": "object",
+ "description": "An abstract representation of a response format configuration usable by Chat Completions. Can be used to enable JSON\nmode.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The discriminated type for the response format."
+ }
+ },
+ "discriminator": "type",
+ "required": [
+ "type"
+ ]
+ },
+ "ChatCompletionsTextResponseFormat": {
+ "type": "object",
+ "description": "The standard Chat Completions response format that can freely generate text and is not guaranteed to produce response\ncontent that adheres to a specific schema.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatCompletionsResponseFormat"
+ }
+ ],
+ "x-ms-discriminator-value": "text"
+ },
+ "ChatFinishDetails": {
+ "type": "object",
+ "description": "An abstract representation of structured information about why a chat completions response terminated.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The object type."
+ }
+ },
+ "discriminator": "type",
+ "required": [
+ "type"
+ ]
+ },
+ "ChatMessageContentItem": {
+ "type": "object",
+ "description": "An abstract representation of a structured content item within a chat message.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The discriminated object type."
+ }
+ },
+ "discriminator": "type",
+ "required": [
+ "type"
+ ]
+ },
+ "ChatMessageTextContentItem": {
+ "type": "object",
+ "description": "A structured chat content item containing plain text.",
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "The content of the message."
+ }
+ },
+ "required": [
+ "text"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatMessageContentItem"
+ }
+ ],
+ "x-ms-discriminator-value": "text"
+ },
+ "ChatRequestAssistantMessage": {
+ "type": "object",
+ "description": "A request chat message representing response or action from the assistant.",
+ "properties": {
+ "content": {
+ "type": "string",
+ "description": "The content of the message.",
+ "x-nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "An optional name for the participant."
+ }
+ },
+ "required": [
+ "content"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatRequestMessage"
+ }
+ ],
+ "x-ms-discriminator-value": "assistant"
+ },
+ "ChatRequestMessage": {
+ "type": "object",
+ "description": "An abstract representation of a chat message as provided in a request.",
+ "properties": {
+ "role": {
+ "$ref": "#/definitions/ChatRole",
+ "description": "The chat role associated with this message."
+ }
+ },
+ "discriminator": "role",
+ "required": [
+ "role"
+ ]
+ },
+ "ChatRequestSystemMessage": {
+ "type": "object",
+ "description": "A request chat message containing system instructions that influence how the model will generate a chat completions\nresponse.",
+ "properties": {
+ "content": {
+ "type": "string",
+ "description": "The contents of the system message."
+ },
+ "name": {
+ "type": "string",
+ "description": "An optional name for the participant."
+ }
+ },
+ "required": [
+ "content"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatRequestMessage"
+ }
+ ],
+ "x-ms-discriminator-value": "system"
+ },
+ "ChatRequestUserMessage": {
+ "type": "object",
+ "description": "A request chat message representing user input to the assistant.",
+ "properties": {
+ "content": {
+ "description": "The contents of the user message, with available input types varying by selected model."
+ },
+ "name": {
+ "type": "string",
+ "description": "An optional name for the participant."
+ }
+ },
+ "required": [
+ "content"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatRequestMessage"
+ }
+ ],
+ "x-ms-discriminator-value": "user"
+ },
+ "ChatResponseMessage": {
+ "type": "object",
+ "description": "A representation of a chat message as received in a response.",
+ "properties": {
+ "role": {
+ "$ref": "#/definitions/ChatRole",
+ "description": "The chat role associated with the message."
+ },
+ "content": {
+ "type": "string",
+ "description": "The content of the message.",
+ "x-nullable": true
+ }
+ },
+ "required": [
+ "role",
+ "content"
+ ]
+ },
+ "ChatRole": {
+ "type": "string",
+ "description": "A description of the intended purpose of a message within a chat completions interaction.",
+ "enum": [
+ "system",
+ "assistant",
+ "user"
+ ],
+ "x-ms-enum": {
+ "name": "ChatRole",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "system",
+ "value": "system",
+ "description": "The role that instructs or sets the behavior of the assistant."
+ },
+ {
+ "name": "assistant",
+ "value": "assistant",
+ "description": "The role that provides responses to system-instructed, user-prompted input."
+ },
+ {
+ "name": "user",
+ "value": "user",
+ "description": "The role that provides input for chat completions."
+ }
+ ]
+ }
+ },
+ "CompletionsFinishReason": {
+ "type": "string",
+ "description": "Representation of the manner in which a completions response concluded.",
+ "enum": [
+ "stop",
+ "length",
+ "content_filter"
+ ],
+ "x-ms-enum": {
+ "name": "CompletionsFinishReason",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "stopped",
+ "value": "stop",
+ "description": "Completions ended normally and reached its end of token generation."
+ },
+ {
+ "name": "tokenLimitReached",
+ "value": "length",
+ "description": "Completions exhausted available token limits before generation could complete."
+ },
+ {
+ "name": "contentFiltered",
+ "value": "content_filter",
+ "description": "Completions generated a response that was identified as potentially sensitive per content\nmoderation policies."
+ }
+ ]
+ }
+ },
+ "CompletionsUsage": {
+ "type": "object",
+ "description": "Representation of the token counts processed for a completions request.\nCounts consider all tokens across prompts, choices, choice alternates, best_of generations, and\nother consumers.",
+ "properties": {
+ "completion_tokens": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of tokens generated across all completions emissions.",
+ "x-ms-client-name": "completionTokens"
+ },
+ "prompt_tokens": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of tokens in the provided prompts for the completions request.",
+ "x-ms-client-name": "promptTokens"
+ },
+ "total_tokens": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The total number of tokens processed for the completions request and response.",
+ "x-ms-client-name": "totalTokens"
+ }
+ },
+ "required": [
+ "completion_tokens",
+ "prompt_tokens",
+ "total_tokens"
+ ]
+ },
+ "MaxTokensFinishDetails": {
+ "type": "object",
+ "description": "A structured representation of a stop reason that signifies a token limit was reached before the model could naturally\ncomplete.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatFinishDetails"
+ }
+ ],
+ "x-ms-discriminator-value": "max_tokens"
+ },
+ "StopFinishDetails": {
+ "type": "object",
+ "description": "A structured representation of a stop reason that signifies natural termination by the model.",
+ "properties": {
+ "stop": {
+ "type": "string",
+ "description": "The token sequence that the model terminated with."
+ }
+ },
+ "required": [
+ "stop"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatFinishDetails"
+ }
+ ],
+ "x-ms-discriminator-value": "stop"
+ },
"Versions": {
"type": "string",
"description": "The Azure.AI.Inference service versions.",
@@ -65,5 +629,16 @@
}
}
},
- "parameters": {}
+ "parameters": {
+ "Azure.Core.Foundations.ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The API version to use for this operation.",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "x-ms-parameter-location": "method",
+ "x-ms-client-name": "apiVersion"
+ }
+ }
}
From 135f3f4fdc34b2126c83f54e1a9d74378139b620 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 25 Mar 2024 12:06:22 -0700
Subject: [PATCH 011/343] Additional refinement
---
.../models/completions/chat_completions.tsp | 81 ++---------------
.../preview/2024-04-01-preview/openapi.json | 87 +++----------------
2 files changed, 18 insertions(+), 150 deletions(-)
diff --git a/specification/ai/ModelInference/models/completions/chat_completions.tsp b/specification/ai/ModelInference/models/completions/chat_completions.tsp
index 1868bb96bac5..f7606c269914 100644
--- a/specification/ai/ModelInference/models/completions/chat_completions.tsp
+++ b/specification/ai/ModelInference/models/completions/chat_completions.tsp
@@ -125,32 +125,6 @@ model ChatCompletionsOptions {
@projectedName("json", "top_p")
topP?: float32;
- @doc("""
- A map between GPT token IDs and bias scores that influences the probability of specific tokens
- appearing in a completions response. Token IDs are computed via external tokenizer tools, while
- bias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to
- a full ban or exclusive selection of a token, respectively. The exact behavior of a given bias
- score varies by model.
- """)
- @projectedName("json", "logit_bias")
- logitBias?: Record;
-
- @doc("""
- An identifier for the caller or end user of the operation. This may be used for tracking
- or rate-limiting purposes.
- """)
- @projectedName("json", "user")
- user?: string;
-
- @doc("""
- The number of chat completions choices that should be generated for a chat completions
- response.
- Because this setting can generate many completions, it may quickly consume your token quota.
- Use carefully and ensure reasonable settings for max_tokens and stop.
- """)
- @projectedName("json", "n")
- n?: int32;
-
@doc("""
A collection of textual sequences that will end completions generation.
""")
@@ -181,14 +155,6 @@ model ChatCompletionsOptions {
@projectedName("json", "stream")
stream?: boolean;
- @doc("""
- The model name to provide as part of this completions request.
- Not applicable to Azure OpenAI, where deployment information should be included in the Azure
- resource URI that's connected to.
- """)
- @projectedName("json", "model")
- `model`?: string;
-
@doc("""
If specified, the system will make a best effort to sample deterministically such that repeated requests with the
same seed and parameters should return the same result. Determinism is not guaranteed, and you should refer to the
@@ -221,14 +187,6 @@ model ChatChoice {
@projectedName("json", "finish_reason")
finishReason: CompletionsFinishReason | null;
- // Note: this property is currently speculative via observation and not yet documented anywhere.
- @doc("""
- The reason the model stopped generating tokens, together with any applicable details.
- This structured representation replaces 'finish_reason' for some models.
- """)
- @projectedName("json", "finish_details")
- finishDetails?: ChatFinishDetails;
-
@doc("The delta message content for a streaming response.")
@projectedName("json", "delta")
delta?: ChatResponseMessage;
@@ -249,7 +207,6 @@ model ChatCompletions {
represented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970.
""")
@projectedName("json", "created")
- @projectedName("java", "createdAt")
@encode(DateTimeKnownEncoding.unixTimestamp, int32)
created: utcDateTime;
@@ -261,41 +218,17 @@ model ChatCompletions {
@projectedName("json", "choices")
choices: ChatChoice[];
- @projectedName("json", "system_fingerprint")
@doc("""
- Can be used in conjunction with the `seed` request parameter to understand when backend changes have been made that
- might impact determinism.
+ Usage information for tokens processed and generated as part of this completions operation.
""")
- systemFingerprint?: string;
-
- @doc("""
- Usage information for tokens processed and generated as part of this completions operation.
- """)
@projectedName("json", "usage")
usage: CompletionsUsage;
-}
-
-@discriminator("type")
-@doc("An abstract representation of structured information about why a chat completions response terminated.")
-model ChatFinishDetails {
- @doc("The object type.")
- type: string;
-}
-@doc("A structured representation of a stop reason that signifies natural termination by the model.")
-model StopFinishDetails extends ChatFinishDetails {
- @doc("The object type, which is always 'stop' for this object.")
- type: "stop";
-
- @doc("The token sequence that the model terminated with.")
- stop: string;
-}
+ @doc("The response object type, which is always `chat.completion`.")
+ @projectedName("json", "object")
+ object: string;
-@doc("""
-A structured representation of a stop reason that signifies a token limit was reached before the model could naturally
-complete.
-""")
-model MaxTokensFinishDetails extends ChatFinishDetails {
- @doc("The object type, which is always 'max_tokens' for this object.")
- type: "max_tokens";
+ @doc("The model used for the chat completion.")
+ @projectedName("json", "model")
+ `model`: string;
}
diff --git a/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/openapi.json
index 137066430361..a8862dd524ed 100644
--- a/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/openapi.json
@@ -167,11 +167,6 @@
"x-nullable": true,
"x-ms-client-name": "finishReason"
},
- "finish_details": {
- "$ref": "#/definitions/ChatFinishDetails",
- "description": "The reason the model stopped generating tokens, together with any applicable details.\nThis structured representation replaces 'finish_reason' for some models.",
- "x-ms-client-name": "finishDetails"
- },
"delta": {
"$ref": "#/definitions/ChatResponseMessage",
"description": "The delta message content for a streaming response."
@@ -203,21 +198,26 @@
},
"x-ms-identifiers": []
},
- "system_fingerprint": {
- "type": "string",
- "description": "Can be used in conjunction with the `seed` request parameter to understand when backend changes have been made that\nmight impact determinism.",
- "x-ms-client-name": "systemFingerprint"
- },
"usage": {
"$ref": "#/definitions/CompletionsUsage",
"description": "Usage information for tokens processed and generated as part of this completions operation."
+ },
+ "object": {
+ "type": "string",
+ "description": "The response object type, which is always `chat.completion`."
+ },
+ "model": {
+ "type": "string",
+ "description": "The model used for the chat completion."
}
},
"required": [
"id",
"created",
"choices",
- "usage"
+ "usage",
+ "object",
+ "model"
]
},
"ChatCompletionsJsonResponseFormat": {
@@ -259,24 +259,6 @@
"description": "An alternative to sampling with temperature called nucleus sampling. This value causes the\nmodel to consider the results of tokens with the provided probability mass. As an example, a\nvalue of 0.15 will cause only the tokens comprising the top 15% of probability mass to be\nconsidered.\nIt is not recommended to modify temperature and top_p for the same completions request as the\ninteraction of these two settings is difficult to predict.",
"x-ms-client-name": "topP"
},
- "logit_bias": {
- "type": "object",
- "description": "A map between GPT token IDs and bias scores that influences the probability of specific tokens\nappearing in a completions response. Token IDs are computed via external tokenizer tools, while\nbias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to\na full ban or exclusive selection of a token, respectively. The exact behavior of a given bias\nscore varies by model.",
- "additionalProperties": {
- "format": "int32",
- "type": "integer"
- },
- "x-ms-client-name": "logitBias"
- },
- "user": {
- "type": "string",
- "description": "An identifier for the caller or end user of the operation. This may be used for tracking\nor rate-limiting purposes."
- },
- "n": {
- "type": "integer",
- "format": "int32",
- "description": "The number of chat completions choices that should be generated for a chat completions\nresponse.\nBecause this setting can generate many completions, it may quickly consume your token quota.\nUse carefully and ensure reasonable settings for max_tokens and stop."
- },
"stop": {
"type": "array",
"description": "A collection of textual sequences that will end completions generation.",
@@ -300,10 +282,6 @@
"type": "boolean",
"description": "A value indicating whether chat completions should be streamed for this request."
},
- "model": {
- "type": "string",
- "description": "The model name to provide as part of this completions request.\nNot applicable to Azure OpenAI, where deployment information should be included in the Azure\nresource URI that's connected to."
- },
"seed": {
"type": "integer",
"format": "int64",
@@ -343,20 +321,6 @@
],
"x-ms-discriminator-value": "text"
},
- "ChatFinishDetails": {
- "type": "object",
- "description": "An abstract representation of structured information about why a chat completions response terminated.",
- "properties": {
- "type": {
- "type": "string",
- "description": "The object type."
- }
- },
- "discriminator": "type",
- "required": [
- "type"
- ]
- },
"ChatMessageContentItem": {
"type": "object",
"description": "An abstract representation of a structured content item within a chat message.",
@@ -581,35 +545,6 @@
"total_tokens"
]
},
- "MaxTokensFinishDetails": {
- "type": "object",
- "description": "A structured representation of a stop reason that signifies a token limit was reached before the model could naturally\ncomplete.",
- "allOf": [
- {
- "$ref": "#/definitions/ChatFinishDetails"
- }
- ],
- "x-ms-discriminator-value": "max_tokens"
- },
- "StopFinishDetails": {
- "type": "object",
- "description": "A structured representation of a stop reason that signifies natural termination by the model.",
- "properties": {
- "stop": {
- "type": "string",
- "description": "The token sequence that the model terminated with."
- }
- },
- "required": [
- "stop"
- ],
- "allOf": [
- {
- "$ref": "#/definitions/ChatFinishDetails"
- }
- ],
- "x-ms-discriminator-value": "stop"
- },
"Versions": {
"type": "string",
"description": "The Azure.AI.Inference service versions.",
From 1da51c9ef13df08245636e9a282c63c2c12db39a Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 25 Mar 2024 14:35:52 -0700
Subject: [PATCH 012/343] Fix URL path
---
specification/ai/ModelInference/routes/completions.tsp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/specification/ai/ModelInference/routes/completions.tsp b/specification/ai/ModelInference/routes/completions.tsp
index 97f77b6c3b09..668a41626003 100644
--- a/specification/ai/ModelInference/routes/completions.tsp
+++ b/specification/ai/ModelInference/routes/completions.tsp
@@ -20,7 +20,7 @@ provided prompt data.
""")
@actionSeparator("/")
@actionSeparator("/")
-@route("chat/completions")
+@route("v1/chat/completions")
op getChatCompletions is Azure.Core.RpcOperation<
{
@doc("The format of the HTTP payload.")
From 640ac1cc0345c68748643911419e61c67a9aec06 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 25 Mar 2024 14:44:28 -0700
Subject: [PATCH 013/343] Revert unrelated changes
---
.../examples/2023-10-01/AnalyzeFromImageData_MaximumSet.json | 2 +-
.../examples/2023-10-01/AnalyzeFromUrl_MaximumSet.json | 2 +-
specification/ai/ImageAnalysis/routes.tsp | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/specification/ai/ImageAnalysis/examples/2023-10-01/AnalyzeFromImageData_MaximumSet.json b/specification/ai/ImageAnalysis/examples/2023-10-01/AnalyzeFromImageData_MaximumSet.json
index 65381fe30d09..336d20f470b1 100644
--- a/specification/ai/ImageAnalysis/examples/2023-10-01/AnalyzeFromImageData_MaximumSet.json
+++ b/specification/ai/ImageAnalysis/examples/2023-10-01/AnalyzeFromImageData_MaximumSet.json
@@ -19,7 +19,7 @@
1.33
],
"model-version": "latest",
- "imageData": ""
+ "imageContent": ""
},
"responses": {
"200": {
diff --git a/specification/ai/ImageAnalysis/examples/2023-10-01/AnalyzeFromUrl_MaximumSet.json b/specification/ai/ImageAnalysis/examples/2023-10-01/AnalyzeFromUrl_MaximumSet.json
index a5f460c02704..266456feef92 100644
--- a/specification/ai/ImageAnalysis/examples/2023-10-01/AnalyzeFromUrl_MaximumSet.json
+++ b/specification/ai/ImageAnalysis/examples/2023-10-01/AnalyzeFromUrl_MaximumSet.json
@@ -19,7 +19,7 @@
1.33
],
"model-version": "latest",
- "imageUrl": {
+ "imageContent": {
"url": "https://aka.ms/azai/vision/image-analysis-sample.jpg"
}
},
diff --git a/specification/ai/ImageAnalysis/routes.tsp b/specification/ai/ImageAnalysis/routes.tsp
index 1db075b7c439..0bdebd4b889a 100644
--- a/specification/ai/ImageAnalysis/routes.tsp
+++ b/specification/ai/ImageAnalysis/routes.tsp
@@ -83,7 +83,7 @@ op analyzeFromImageData is Azure.Core.RpcOperation<
@doc("The image to be analyzed")
@body
- imageData: bytes;
+ imageContent: bytes;
...SharedAnalyzeQuery;
},
@@ -102,7 +102,7 @@ op analyzeFromUrl is Azure.Core.RpcOperation<
@doc("The image to be analyzed")
@body
- imageUrl: ImageUrl;
+ imageContent: ImageUrl;
...SharedAnalyzeQuery;
},
From fc6fa2bb54f4f23b2388decbea48541683a3d45c Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 25 Mar 2024 14:49:24 -0700
Subject: [PATCH 014/343] Continue to revert unrelated changes
---
.../2023-10-01/examples/AnalyzeFromImageData_MaximumSet.json | 2 +-
.../stable/2023-10-01/examples/AnalyzeFromUrl_MaximumSet.json | 2 +-
.../data-plane/ImageAnalysis/stable/2023-10-01/generated.json | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/examples/AnalyzeFromImageData_MaximumSet.json b/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/examples/AnalyzeFromImageData_MaximumSet.json
index 65381fe30d09..336d20f470b1 100644
--- a/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/examples/AnalyzeFromImageData_MaximumSet.json
+++ b/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/examples/AnalyzeFromImageData_MaximumSet.json
@@ -19,7 +19,7 @@
1.33
],
"model-version": "latest",
- "imageData": ""
+ "imageContent": ""
},
"responses": {
"200": {
diff --git a/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/examples/AnalyzeFromUrl_MaximumSet.json b/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/examples/AnalyzeFromUrl_MaximumSet.json
index a5f460c02704..266456feef92 100644
--- a/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/examples/AnalyzeFromUrl_MaximumSet.json
+++ b/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/examples/AnalyzeFromUrl_MaximumSet.json
@@ -19,7 +19,7 @@
1.33
],
"model-version": "latest",
- "imageUrl": {
+ "imageContent": {
"url": "https://aka.ms/azai/vision/image-analysis-sample.jpg"
}
},
diff --git a/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/generated.json b/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/generated.json
index fced0b7c2f01..a223b95be137 100644
--- a/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/generated.json
+++ b/specification/ai/data-plane/ImageAnalysis/stable/2023-10-01/generated.json
@@ -165,7 +165,7 @@
"x-ms-client-name": "modelVersion"
},
{
- "name": "imageData",
+ "name": "imageContent",
"in": "body",
"description": "The image to be analyzed",
"required": true,
@@ -319,7 +319,7 @@
"x-ms-client-name": "modelVersion"
},
{
- "name": "imageUrl",
+ "name": "imageContent",
"in": "body",
"description": "The image to be analyzed",
"required": true,
From 63733152d7611578ae21410e953b466894427303 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 25 Mar 2024 14:53:03 -0700
Subject: [PATCH 015/343] Delete old examples
---
.../Widgets_CreateOrUpdateWidgetSample.json | 37 ---------------
.../examples/Widgets_DeleteWidgetSample.json | 29 ------------
...idgets_GetWidgetOperationStatusSample.json | 45 -------------------
.../examples/Widgets_GetWidgetSample.json | 25 -----------
.../examples/Widgets_ListWidgetsSample.json | 27 -----------
5 files changed, 163 deletions(-)
delete mode 100644 specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_CreateOrUpdateWidgetSample.json
delete mode 100644 specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_DeleteWidgetSample.json
delete mode 100644 specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_GetWidgetOperationStatusSample.json
delete mode 100644 specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_GetWidgetSample.json
delete mode 100644 specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_ListWidgetsSample.json
diff --git a/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_CreateOrUpdateWidgetSample.json b/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_CreateOrUpdateWidgetSample.json
deleted file mode 100644
index 9adc3398bcad..000000000000
--- a/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_CreateOrUpdateWidgetSample.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "title": "Widgets_CreateOrUpdateWidget",
- "operationId": "Widgets_CreateOrUpdateWidget",
- "parameters": {
- "widgetName": "name1",
- "api-version": "2022-11-01-preview",
- "body": {
- "manufacturerId": "manufacturer id1",
- "sharedModel": {
- "tag": "tag1",
- "createdDate": "2023-01-09T02:12:25.689Z"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "name": "name1",
- "manufacturerId": "manufacturer id1",
- "sharedModel": {
- "tag": "tag1",
- "createdDate": "2023-01-09T02:12:25.689Z"
- }
- }
- },
- "201": {
- "body": {
- "name": "name1",
- "manufacturerId": "manufacturer id1",
- "sharedModel": {
- "tag": "tag1",
- "createdDate": "2023-01-09T02:12:25.689Z"
- }
- }
- }
- }
-}
diff --git a/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_DeleteWidgetSample.json b/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_DeleteWidgetSample.json
deleted file mode 100644
index 8a6b117b5cde..000000000000
--- a/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_DeleteWidgetSample.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "operationId": "Widgets_DeleteWidget",
- "title": "Delete widget by widget name using long-running operation.",
- "parameters": {
- "api-version": "2022-11-01-preview",
- "widgetName": "searchbox"
- },
- "responses": {
- "202": {
- "headers": {
- "location": "https://contosowidgetmanager.azure.com/operations/00000000-0000-0000-0000-000000000123/result?api-version=2022-11-01-preview",
- "operation-location": "https://contosowidgetmanager.azure.com/operations/00000000-0000-0000-0000-000000000123?api-version=2022-11-01-preview"
- },
- "body": {
- "id": "id1",
- "status": "deleted"
- }
- },
- "default": {
- "body": {
- "error": {
- "code": "Error code",
- "message": "Error message",
- "details": []
- }
- }
- }
- }
-}
diff --git a/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_GetWidgetOperationStatusSample.json b/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_GetWidgetOperationStatusSample.json
deleted file mode 100644
index c88b6155b003..000000000000
--- a/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_GetWidgetOperationStatusSample.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "title": "Widgets_GetWidgetOperationStatus",
- "operationId": "Widgets_GetWidgetOperationStatus",
- "parameters": {
- "widgetName": "name1",
- "operationId": "opreation id1",
- "api-version": "2022-11-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "id": "opreation id1",
- "status": "InProgress",
- "error": {
- "code": "Error code",
- "message": "Error message",
- "target": "op1",
- "details": [
- {
- "code": "code1",
- "message": "message1",
- "target": "op1",
- "details": [],
- "innererror": {
- "code": "code1"
- }
- }
- ],
- "innererror": {
- "code": "code1"
- }
- },
- "result": {
- "name": "bingsearch",
- "manufacturerId": "manufacturer Id1",
- "sharedModel": {
- "tag": "tag1",
- "createdDate": "2023-01-09T02:12:25.689Z"
- }
- },
- "widgetName": "rfazvwnfwwomiwrh"
- }
- }
- }
-}
diff --git a/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_GetWidgetSample.json b/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_GetWidgetSample.json
deleted file mode 100644
index 9c07ed974352..000000000000
--- a/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_GetWidgetSample.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "operationId": "Widgets_GetWidget",
- "title": "Get widget by widget name.",
- "parameters": {
- "api-version": "2022-11-01-preview",
- "widgetName": "searchbox"
- },
- "responses": {
- "200": {
- "body": {
- "name": "bingsearch",
- "manufacturerId": "a-22-01"
- }
- },
- "default": {
- "body": {
- "error": {
- "code": "Error code",
- "message": "Error message",
- "details": []
- }
- }
- }
- }
-}
diff --git a/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_ListWidgetsSample.json b/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_ListWidgetsSample.json
deleted file mode 100644
index 60cfc8902fb8..000000000000
--- a/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/examples/Widgets_ListWidgetsSample.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "title": "Widgets_ListWidgets",
- "operationId": "Widgets_ListWidgets",
- "parameters": {
- "top": 8,
- "skip": 15,
- "maxpagesize": 27,
- "api-version": "2022-11-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "name": "bingsearch",
- "manufacturerId": "manufacturer Id1",
- "sharedModel": {
- "tag": "tag1",
- "createdDate": "2023-01-09T02:12:25.689Z"
- }
- }
- ],
- "nextLink": "https://microsoft.com/a"
- }
- }
- }
-}
From d31bec22373acb0d6f280419e738b57c93b6bee2 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 25 Mar 2024 15:28:19 -0700
Subject: [PATCH 016/343] Update service name. Redo data-plane folder
---
specification/ai/ModelInference/client.tsp | 6 +-
specification/ai/ModelInference/main.tsp | 10 +--
.../models/completions/chat_completions.tsp | 2 +-
.../models/completions/chat_messages.tsp | 2 +-
.../ai/ModelInference/routes/completions.tsp | 2 +-
.../GetChatCompletions_MaximumSet_Gen.json | 56 +++++++++++++
.../GetChatCompletions_MinimumSet_Gen.json | 35 ++++++++
.../preview/2024-04-01-preview/openapi.json | 18 ++--
.../ai/data-plane/ModelInference/readme.md | 82 +++++++++++++++++++
9 files changed, 197 insertions(+), 16 deletions(-)
create mode 100644 specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
create mode 100644 specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
rename specification/ai/data-plane/{Azure.AI.Inference => ModelInference}/preview/2024-04-01-preview/openapi.json (97%)
create mode 100644 specification/ai/data-plane/ModelInference/readme.md
diff --git a/specification/ai/ModelInference/client.tsp b/specification/ai/ModelInference/client.tsp
index 44154cc52590..a7225a793119 100644
--- a/specification/ai/ModelInference/client.tsp
+++ b/specification/ai/ModelInference/client.tsp
@@ -5,15 +5,15 @@ import "./main.tsp";
using Azure.ClientGenerator.Core;
@TypeSpec.Versioning.useDependency(
- Azure.AI.Inference.Versions.v2024_04_01_Preview
+ ModelInference.Versions.v2024_04_01_Preview
)
namespace Client;
@client({
name: "ModelClient",
- service: Azure.AI.Inference,
+ service: ModelInference,
})
interface ModelClient {
- getChatCompletions is Azure.AI.Inference.getChatCompletions;
+ getChatCompletions is ModelInference.getChatCompletions;
}
diff --git a/specification/ai/ModelInference/main.tsp b/specification/ai/ModelInference/main.tsp
index c710c67dab3c..35cf491839c1 100644
--- a/specification/ai/ModelInference/main.tsp
+++ b/specification/ai/ModelInference/main.tsp
@@ -19,16 +19,16 @@ using Azure.Core;
]>
)
@service({
- title: "Azure.AI.Inference service",
+ title: "AI Model Inference",
})
-@versioned(Azure.AI.Inference.Versions)
+@versioned(ModelInference.Versions)
#suppress "@azure-tools/typespec-azure-core/casing-style" "The names of Namespace types must use PascalCase"
-namespace Azure.AI.Inference;
+namespace ModelInference;
-@doc("The Azure.AI.Inference service versions.")
+@doc("The ModelInference service versions.")
enum Versions {
@useDependency(Azure.Core.Versions.v1_0_Preview_2)
- @doc("The 2024-04-01-preview version of the Azure.AI.Inference service.")
+ @doc("The 2024-04-01-preview version of the ModelInference service.")
v2024_04_01_Preview: "2024-04-01-preview",
}
diff --git a/specification/ai/ModelInference/models/completions/chat_completions.tsp b/specification/ai/ModelInference/models/completions/chat_completions.tsp
index f7606c269914..8c22bee083f2 100644
--- a/specification/ai/ModelInference/models/completions/chat_completions.tsp
+++ b/specification/ai/ModelInference/models/completions/chat_completions.tsp
@@ -8,7 +8,7 @@ using TypeSpec.Rest;
using TypeSpec.Http;
using TypeSpec.Versioning;
-namespace Azure.AI.Inference;
+namespace ModelInference;
@doc("""
Representation of the token counts processed for a completions request.
diff --git a/specification/ai/ModelInference/models/completions/chat_messages.tsp b/specification/ai/ModelInference/models/completions/chat_messages.tsp
index a51b55af4e69..64f6472b97ac 100644
--- a/specification/ai/ModelInference/models/completions/chat_messages.tsp
+++ b/specification/ai/ModelInference/models/completions/chat_messages.tsp
@@ -6,7 +6,7 @@ using TypeSpec.Rest;
using TypeSpec.Http;
using TypeSpec.Versioning;
-namespace Azure.AI.Inference;
+namespace ModelInference;
#suppress "@azure-tools/typespec-autorest/union-unsupported" "External API shape is defined in OpenAPI 3.0 as oneOf."
alias ChatMessageContent = string | ChatMessageContentItem[];
diff --git a/specification/ai/ModelInference/routes/completions.tsp b/specification/ai/ModelInference/routes/completions.tsp
index 668a41626003..6d706fa7c2a4 100644
--- a/specification/ai/ModelInference/routes/completions.tsp
+++ b/specification/ai/ModelInference/routes/completions.tsp
@@ -11,7 +11,7 @@ using TypeSpec.Versioning;
using Azure.Core;
-namespace Azure.AI.Inference;
+namespace ModelInference;
@doc("""
Gets chat completions for the provided chat messages.
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
new file mode 100644
index 000000000000..1b0119e81b72
--- /dev/null
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -0,0 +1,56 @@
+{
+ "title": "GetChatCompletions",
+ "operationId": "GetChatCompletions",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "chatCompletionOptions": {
+ "messages": [
+ {
+ "role": "ChatRequestMessage"
+ }
+ ],
+ "max_tokens": 3,
+ "temperature": 17,
+ "top_p": 11,
+ "stop": [
+ "tdznlwkqqkwpfwhfzgrnadcprfnwh"
+ ],
+ "presence_penalty": 27,
+ "frequency_penalty": 20,
+ "stream": true,
+ "seed": 29,
+ "response_format": {
+ "type": "ChatCompletionsResponseFormat"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "guxpnhvgeseixtlwsz",
+ "created": 16,
+ "choices": [
+ {
+ "message": {
+ "role": "system",
+ "content": "ldwtcers"
+ },
+ "index": 12,
+ "finish_reason": "stop",
+ "delta": {
+ "role": "system",
+ "content": "ldwtcers"
+ }
+ }
+ ],
+ "usage": {
+ "completion_tokens": 24,
+ "prompt_tokens": 13,
+ "total_tokens": 30
+ },
+ "object": "foqibnwknavndujrtsqlb",
+ "model": "ssioolygavmebvstrmucaulzdpocqa"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
new file mode 100644
index 000000000000..bad9fe38e530
--- /dev/null
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -0,0 +1,35 @@
+{
+ "title": "GetChatCompletions",
+ "operationId": "GetChatCompletions",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "chatCompletionOptions": {
+ "messages": [
+ {
+ "role": "ChatRequestMessage"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "guxpnhvgeseixtlwsz",
+ "created": 16,
+ "choices": [
+ {
+ "index": 12,
+ "finish_reason": "stop"
+ }
+ ],
+ "usage": {
+ "completion_tokens": 24,
+ "prompt_tokens": 13,
+ "total_tokens": 30
+ },
+ "object": "foqibnwknavndujrtsqlb",
+ "model": "ssioolygavmebvstrmucaulzdpocqa"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
similarity index 97%
rename from specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/openapi.json
rename to specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
index a8862dd524ed..993147fce268 100644
--- a/specification/ai/data-plane/Azure.AI.Inference/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
@@ -1,7 +1,7 @@
{
"swagger": "2.0",
"info": {
- "title": "Azure.AI.Inference service",
+ "title": "AI Model Inference",
"version": "2024-04-01-preview",
"x-typespec-generated": [
{
@@ -45,7 +45,7 @@
},
"tags": [],
"paths": {
- "/chat/completions": {
+ "/v1/chat/completions": {
"post": {
"operationId": "GetChatCompletions",
"description": "Gets chat completions for the provided chat messages.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.",
@@ -82,6 +82,14 @@
}
}
}
+ },
+ "x-ms-examples": {
+ "GetChatCompletions_MaximumSet_Gen": {
+ "$ref": "./examples/GetChatCompletions_MaximumSet_Gen.json"
+ },
+ "GetChatCompletions_MinimumSet_Gen": {
+ "$ref": "./examples/GetChatCompletions_MinimumSet_Gen.json"
+ }
}
}
}
@@ -547,7 +555,7 @@
},
"Versions": {
"type": "string",
- "description": "The Azure.AI.Inference service versions.",
+ "description": "The ModelInference service versions.",
"enum": [
"2024-04-01-preview"
],
@@ -558,7 +566,7 @@
{
"name": "v2024_04_01_Preview",
"value": "2024-04-01-preview",
- "description": "The 2024-04-01-preview version of the Azure.AI.Inference service."
+ "description": "The 2024-04-01-preview version of the ModelInference service."
}
]
}
@@ -576,4 +584,4 @@
"x-ms-client-name": "apiVersion"
}
}
-}
+}
\ No newline at end of file
diff --git a/specification/ai/data-plane/ModelInference/readme.md b/specification/ai/data-plane/ModelInference/readme.md
new file mode 100644
index 000000000000..fe937b5a2672
--- /dev/null
+++ b/specification/ai/data-plane/ModelInference/readme.md
@@ -0,0 +1,82 @@
+# [[ServiceName]]
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for [[ServiceName]].
+
+## 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 [[ServiceName]].
+
+```yaml
+openapi-type: [[OpenApiType]]
+tag: package-[[Version]]
+```
+
+### Tag: package-[[Version]]
+
+These settings apply only when `--tag=package-[[Version]]` is specified on the command line.
+
+```yaml $(tag) == 'package-[[Version]]'
+input-file:
+ - [[ResourceProviderName]]/[[ReleaseState]]/[[Version]]/[[ServiceName]].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-resource-manager-schemas
+ - repo: azure-cli-extensions
+ - repo: azure-powershell
+```
+## Az
+
+See configuration in [readme.az.md](./readme.az.md)
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## CSharp
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
+
+## Java
+
+See configuration in [readme.java.md](./readme.java.md)
From d5c7b0b1ef78e59dfab800460a286d851a687231 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 25 Mar 2024 15:37:20 -0700
Subject: [PATCH 017/343] Copy examples
---
.../GetChatCompletions_MaximumSet_Gen.json | 56 +++++++++++++++++++
.../GetChatCompletions_MinimumSet_Gen.json | 35 ++++++++++++
2 files changed, 91 insertions(+)
create mode 100644 specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
create mode 100644 specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
diff --git a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
new file mode 100644
index 000000000000..1b0119e81b72
--- /dev/null
+++ b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -0,0 +1,56 @@
+{
+ "title": "GetChatCompletions",
+ "operationId": "GetChatCompletions",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "chatCompletionOptions": {
+ "messages": [
+ {
+ "role": "ChatRequestMessage"
+ }
+ ],
+ "max_tokens": 3,
+ "temperature": 17,
+ "top_p": 11,
+ "stop": [
+ "tdznlwkqqkwpfwhfzgrnadcprfnwh"
+ ],
+ "presence_penalty": 27,
+ "frequency_penalty": 20,
+ "stream": true,
+ "seed": 29,
+ "response_format": {
+ "type": "ChatCompletionsResponseFormat"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "guxpnhvgeseixtlwsz",
+ "created": 16,
+ "choices": [
+ {
+ "message": {
+ "role": "system",
+ "content": "ldwtcers"
+ },
+ "index": 12,
+ "finish_reason": "stop",
+ "delta": {
+ "role": "system",
+ "content": "ldwtcers"
+ }
+ }
+ ],
+ "usage": {
+ "completion_tokens": 24,
+ "prompt_tokens": 13,
+ "total_tokens": 30
+ },
+ "object": "foqibnwknavndujrtsqlb",
+ "model": "ssioolygavmebvstrmucaulzdpocqa"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
new file mode 100644
index 000000000000..bad9fe38e530
--- /dev/null
+++ b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -0,0 +1,35 @@
+{
+ "title": "GetChatCompletions",
+ "operationId": "GetChatCompletions",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "chatCompletionOptions": {
+ "messages": [
+ {
+ "role": "ChatRequestMessage"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "guxpnhvgeseixtlwsz",
+ "created": 16,
+ "choices": [
+ {
+ "index": 12,
+ "finish_reason": "stop"
+ }
+ ],
+ "usage": {
+ "completion_tokens": 24,
+ "prompt_tokens": 13,
+ "total_tokens": 30
+ },
+ "object": "foqibnwknavndujrtsqlb",
+ "model": "ssioolygavmebvstrmucaulzdpocqa"
+ }
+ }
+ }
+}
\ No newline at end of file
From 2829c284739222b384e342cf81bc29526080584e Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 25 Mar 2024 16:13:34 -0700
Subject: [PATCH 018/343] Fix build issues
---
.../GetChatCompletions_MaximumSet_Gen.json | 2 +-
.../GetChatCompletions_MinimumSet_Gen.json | 2 +-
.../GetChatCompletions_MaximumSet_Gen.json | 2 +-
.../GetChatCompletions_MinimumSet_Gen.json | 2 +-
.../ai/data-plane/ModelInference/readme.md | 18 +++++++++---------
5 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index 1b0119e81b72..f6bda4a88d2a 100644
--- a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -53,4 +53,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index bad9fe38e530..9011c336e0f2 100644
--- a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -32,4 +32,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index 1b0119e81b72..f6bda4a88d2a 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -53,4 +53,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index bad9fe38e530..9011c336e0f2 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -32,4 +32,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/ai/data-plane/ModelInference/readme.md b/specification/ai/data-plane/ModelInference/readme.md
index fe937b5a2672..ef1d4084fd65 100644
--- a/specification/ai/data-plane/ModelInference/readme.md
+++ b/specification/ai/data-plane/ModelInference/readme.md
@@ -1,8 +1,8 @@
-# [[ServiceName]]
+# Azure AI Model Inference
> see https://aka.ms/autorest
-This is the AutoRest configuration file for [[ServiceName]].
+This is the AutoRest configuration file for Azure AI Model Inference.
## Getting Started
@@ -22,20 +22,20 @@ For other options on installation see [Installing AutoRest](https://aka.ms/autor
### Basic Information
-These are the global settings for the [[ServiceName]].
+These are the global settings for the Azure AI Model Inference.
```yaml
-openapi-type: [[OpenApiType]]
-tag: package-[[Version]]
+openapi-type: data-plane
+tag: package-2024-04-01-preview
```
-### Tag: package-[[Version]]
+### Tag: package-2024-04-01-preview
-These settings apply only when `--tag=package-[[Version]]` is specified on the command line.
+These settings apply only when `--tag=package-2024-04-01-preview` is specified on the command line.
-```yaml $(tag) == 'package-[[Version]]'
+```yaml $(tag) == 'package-2024-04-01-preview'
input-file:
- - [[ResourceProviderName]]/[[ReleaseState]]/[[Version]]/[[ServiceName]].json
+ - preview/2024-04-01-preview/openapi.json
```
---
From 9dfb94f250418710787705822cabae7bd909c896 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 25 Mar 2024 17:52:17 -0700
Subject: [PATCH 019/343] Simplify and fix errors
---
.../GetChatCompletions_MaximumSet_Gen.json | 34 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 16 ++++-----
.../models/completions/chat_messages.tsp | 21 +-----------
.../GetChatCompletions_MaximumSet_Gen.json | 34 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 16 ++++-----
.../preview/2024-04-01-preview/openapi.json | 34 +------------------
.../ai/data-plane/ModelInference/readme.md | 3 +-
7 files changed, 54 insertions(+), 104 deletions(-)
diff --git a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index f6bda4a88d2a..43fb939990d1 100644
--- a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -9,16 +9,16 @@
"role": "ChatRequestMessage"
}
],
- "max_tokens": 3,
- "temperature": 17,
- "top_p": 11,
+ "max_tokens": 14,
+ "temperature": 16,
+ "top_p": 24,
"stop": [
- "tdznlwkqqkwpfwhfzgrnadcprfnwh"
+ "fb"
],
- "presence_penalty": 27,
- "frequency_penalty": 20,
+ "presence_penalty": 4,
+ "frequency_penalty": 12,
"stream": true,
- "seed": 29,
+ "seed": 18,
"response_format": {
"type": "ChatCompletionsResponseFormat"
}
@@ -27,29 +27,29 @@
"responses": {
"200": {
"body": {
- "id": "guxpnhvgeseixtlwsz",
- "created": 16,
+ "id": "qsezeimknwumonidzrtinssbx",
+ "created": 6,
"choices": [
{
"message": {
"role": "system",
- "content": "ldwtcers"
+ "content": "hwrlzeoiungbiepci"
},
- "index": 12,
+ "index": 4,
"finish_reason": "stop",
"delta": {
"role": "system",
- "content": "ldwtcers"
+ "content": "hwrlzeoiungbiepci"
}
}
],
"usage": {
- "completion_tokens": 24,
- "prompt_tokens": 13,
- "total_tokens": 30
+ "completion_tokens": 22,
+ "prompt_tokens": 26,
+ "total_tokens": 22
},
- "object": "foqibnwknavndujrtsqlb",
- "model": "ssioolygavmebvstrmucaulzdpocqa"
+ "object": "o",
+ "model": "lmqsmmsj"
}
}
}
diff --git a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 9011c336e0f2..3a271b990518 100644
--- a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "guxpnhvgeseixtlwsz",
- "created": 16,
+ "id": "qsezeimknwumonidzrtinssbx",
+ "created": 6,
"choices": [
{
- "index": 12,
+ "index": 4,
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 24,
- "prompt_tokens": 13,
- "total_tokens": 30
+ "completion_tokens": 22,
+ "prompt_tokens": 26,
+ "total_tokens": 22
},
- "object": "foqibnwknavndujrtsqlb",
- "model": "ssioolygavmebvstrmucaulzdpocqa"
+ "object": "o",
+ "model": "lmqsmmsj"
}
}
}
diff --git a/specification/ai/ModelInference/models/completions/chat_messages.tsp b/specification/ai/ModelInference/models/completions/chat_messages.tsp
index 64f6472b97ac..c7216c73e234 100644
--- a/specification/ai/ModelInference/models/completions/chat_messages.tsp
+++ b/specification/ai/ModelInference/models/completions/chat_messages.tsp
@@ -8,25 +8,6 @@ using TypeSpec.Versioning;
namespace ModelInference;
-#suppress "@azure-tools/typespec-autorest/union-unsupported" "External API shape is defined in OpenAPI 3.0 as oneOf."
-alias ChatMessageContent = string | ChatMessageContentItem[];
-
-@doc("An abstract representation of a structured content item within a chat message.")
-@discriminator("type")
-model ChatMessageContentItem {
- @doc("The discriminated object type.")
- type: string;
-}
-
-@doc("A structured chat content item containing plain text.")
-model ChatMessageTextContentItem extends ChatMessageContentItem {
- @doc("The discriminated object type: always 'text' for this type.")
- type: "text";
-
- @doc("The content of the message.")
- text: string;
-}
-
@discriminator("role")
@doc("An abstract representation of a chat message as provided in a request.")
model ChatRequestMessage {
@@ -55,7 +36,7 @@ model ChatRequestUserMessage extends ChatRequestMessage {
role: ChatRole.user;
@doc("The contents of the user message, with available input types varying by selected model.")
- content: ChatMessageContent;
+ content: string;
@doc("An optional name for the participant.")
name?: string;
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index f6bda4a88d2a..43fb939990d1 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -9,16 +9,16 @@
"role": "ChatRequestMessage"
}
],
- "max_tokens": 3,
- "temperature": 17,
- "top_p": 11,
+ "max_tokens": 14,
+ "temperature": 16,
+ "top_p": 24,
"stop": [
- "tdznlwkqqkwpfwhfzgrnadcprfnwh"
+ "fb"
],
- "presence_penalty": 27,
- "frequency_penalty": 20,
+ "presence_penalty": 4,
+ "frequency_penalty": 12,
"stream": true,
- "seed": 29,
+ "seed": 18,
"response_format": {
"type": "ChatCompletionsResponseFormat"
}
@@ -27,29 +27,29 @@
"responses": {
"200": {
"body": {
- "id": "guxpnhvgeseixtlwsz",
- "created": 16,
+ "id": "qsezeimknwumonidzrtinssbx",
+ "created": 6,
"choices": [
{
"message": {
"role": "system",
- "content": "ldwtcers"
+ "content": "hwrlzeoiungbiepci"
},
- "index": 12,
+ "index": 4,
"finish_reason": "stop",
"delta": {
"role": "system",
- "content": "ldwtcers"
+ "content": "hwrlzeoiungbiepci"
}
}
],
"usage": {
- "completion_tokens": 24,
- "prompt_tokens": 13,
- "total_tokens": 30
+ "completion_tokens": 22,
+ "prompt_tokens": 26,
+ "total_tokens": 22
},
- "object": "foqibnwknavndujrtsqlb",
- "model": "ssioolygavmebvstrmucaulzdpocqa"
+ "object": "o",
+ "model": "lmqsmmsj"
}
}
}
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 9011c336e0f2..3a271b990518 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "guxpnhvgeseixtlwsz",
- "created": 16,
+ "id": "qsezeimknwumonidzrtinssbx",
+ "created": 6,
"choices": [
{
- "index": 12,
+ "index": 4,
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 24,
- "prompt_tokens": 13,
- "total_tokens": 30
+ "completion_tokens": 22,
+ "prompt_tokens": 26,
+ "total_tokens": 22
},
- "object": "foqibnwknavndujrtsqlb",
- "model": "ssioolygavmebvstrmucaulzdpocqa"
+ "object": "o",
+ "model": "lmqsmmsj"
}
}
}
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
index 993147fce268..9ea17f9709cb 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
@@ -329,39 +329,6 @@
],
"x-ms-discriminator-value": "text"
},
- "ChatMessageContentItem": {
- "type": "object",
- "description": "An abstract representation of a structured content item within a chat message.",
- "properties": {
- "type": {
- "type": "string",
- "description": "The discriminated object type."
- }
- },
- "discriminator": "type",
- "required": [
- "type"
- ]
- },
- "ChatMessageTextContentItem": {
- "type": "object",
- "description": "A structured chat content item containing plain text.",
- "properties": {
- "text": {
- "type": "string",
- "description": "The content of the message."
- }
- },
- "required": [
- "text"
- ],
- "allOf": [
- {
- "$ref": "#/definitions/ChatMessageContentItem"
- }
- ],
- "x-ms-discriminator-value": "text"
- },
"ChatRequestAssistantMessage": {
"type": "object",
"description": "A request chat message representing response or action from the assistant.",
@@ -428,6 +395,7 @@
"description": "A request chat message representing user input to the assistant.",
"properties": {
"content": {
+ "type": "string",
"description": "The contents of the user message, with available input types varying by selected model."
},
"name": {
diff --git a/specification/ai/data-plane/ModelInference/readme.md b/specification/ai/data-plane/ModelInference/readme.md
index ef1d4084fd65..5d8e93f6b1ea 100644
--- a/specification/ai/data-plane/ModelInference/readme.md
+++ b/specification/ai/data-plane/ModelInference/readme.md
@@ -37,7 +37,7 @@ These settings apply only when `--tag=package-2024-04-01-preview` is specified o
input-file:
- preview/2024-04-01-preview/openapi.json
```
-
+
\ No newline at end of file
From a14be5a0d4285049f2b7f23dba101a7e88afff29 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Tue, 26 Mar 2024 06:43:45 -0700
Subject: [PATCH 020/343] Fix more errors
---
specification/ai/ModelInference/client.tsp | 4 +---
specification/ai/ModelInference/main.tsp | 1 -
.../ModelInference/preview/2024-04-01-preview/openapi.json | 2 +-
3 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/specification/ai/ModelInference/client.tsp b/specification/ai/ModelInference/client.tsp
index a7225a793119..248fbc5933f6 100644
--- a/specification/ai/ModelInference/client.tsp
+++ b/specification/ai/ModelInference/client.tsp
@@ -4,9 +4,7 @@ import "./main.tsp";
using Azure.ClientGenerator.Core;
-@TypeSpec.Versioning.useDependency(
- ModelInference.Versions.v2024_04_01_Preview
-)
+@TypeSpec.Versioning.useDependency(ModelInference.Versions.v2024_04_01_Preview)
namespace Client;
@client({
diff --git a/specification/ai/ModelInference/main.tsp b/specification/ai/ModelInference/main.tsp
index 35cf491839c1..945530628f01 100644
--- a/specification/ai/ModelInference/main.tsp
+++ b/specification/ai/ModelInference/main.tsp
@@ -22,7 +22,6 @@ using Azure.Core;
title: "AI Model Inference",
})
@versioned(ModelInference.Versions)
-#suppress "@azure-tools/typespec-azure-core/casing-style" "The names of Namespace types must use PascalCase"
namespace ModelInference;
@doc("The ModelInference service versions.")
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
index 9ea17f9709cb..211b6d442252 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
@@ -552,4 +552,4 @@
"x-ms-client-name": "apiVersion"
}
}
-}
\ No newline at end of file
+}
From 97d7375684cd00d7fb9a4f2c8a92b4de890b6d9a Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Tue, 26 Mar 2024 07:01:10 -0700
Subject: [PATCH 021/343] More fixes
---
specification/ai/ModelInference/client.tsp | 1 -
specification/ai/ModelInference/main.tsp | 1 -
specification/ai/ModelInference/tspconfig.yaml | 4 ++--
3 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/specification/ai/ModelInference/client.tsp b/specification/ai/ModelInference/client.tsp
index 248fbc5933f6..74044c108993 100644
--- a/specification/ai/ModelInference/client.tsp
+++ b/specification/ai/ModelInference/client.tsp
@@ -11,7 +11,6 @@ namespace Client;
name: "ModelClient",
service: ModelInference,
})
-
interface ModelClient {
getChatCompletions is ModelInference.getChatCompletions;
}
diff --git a/specification/ai/ModelInference/main.tsp b/specification/ai/ModelInference/main.tsp
index 945530628f01..72c5121a80f1 100644
--- a/specification/ai/ModelInference/main.tsp
+++ b/specification/ai/ModelInference/main.tsp
@@ -30,4 +30,3 @@ enum Versions {
@doc("The 2024-04-01-preview version of the ModelInference service.")
v2024_04_01_Preview: "2024-04-01-preview",
}
-
diff --git a/specification/ai/ModelInference/tspconfig.yaml b/specification/ai/ModelInference/tspconfig.yaml
index f5da300bbc18..3e950d498d47 100644
--- a/specification/ai/ModelInference/tspconfig.yaml
+++ b/specification/ai/ModelInference/tspconfig.yaml
@@ -1,6 +1,6 @@
parameters:
"service-dir":
- default: "sdk/machinelearning"
+ default: "sdk/ai"
"dependencies":
"additionalDirectories": []
default: ""
@@ -13,9 +13,9 @@ options:
examples-directory: "{project-root}/examples"
output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json"
"@azure-tools/typespec-python":
+ package-mode: dataplane
package-dir: "azure-ai-inference"
package-name: "{package-dir}"
- package-mode: dataplane
linter:
extends:
- "@azure-tools/typespec-azure-core/all"
From 553ccaadec0b913e4b438b42fdaac823d910d656 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Tue, 26 Mar 2024 08:25:20 -0700
Subject: [PATCH 022/343] Another fix
---
specification/ai/ModelInference/tspconfig.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/specification/ai/ModelInference/tspconfig.yaml b/specification/ai/ModelInference/tspconfig.yaml
index 3e950d498d47..94303e024610 100644
--- a/specification/ai/ModelInference/tspconfig.yaml
+++ b/specification/ai/ModelInference/tspconfig.yaml
@@ -16,6 +16,7 @@ options:
package-mode: dataplane
package-dir: "azure-ai-inference"
package-name: "{package-dir}"
+ flavor: azure
linter:
extends:
- "@azure-tools/typespec-azure-core/all"
From 3b8c933cdb9ff186419286e6a4b6a0dbacabad41 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Tue, 26 Mar 2024 17:05:24 -0700
Subject: [PATCH 023/343] Fix typo in variable name
---
.../GetChatCompletions_MaximumSet_Gen.json | 34 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 18 +++++-----
.../ai/ModelInference/routes/completions.tsp | 2 +-
.../GetChatCompletions_MaximumSet_Gen.json | 34 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 18 +++++-----
.../preview/2024-04-01-preview/openapi.json | 2 +-
6 files changed, 54 insertions(+), 54 deletions(-)
diff --git a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index 43fb939990d1..9b8d91ad5f25 100644
--- a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -3,20 +3,20 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "chatCompletionOptions": {
+ "chatCompletionsOptions": {
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "max_tokens": 14,
- "temperature": 16,
- "top_p": 24,
+ "max_tokens": 30,
+ "temperature": 21,
+ "top_p": 21,
"stop": [
- "fb"
+ "bsqsyjrzujojthmxmxcrgqniuwr"
],
- "presence_penalty": 4,
- "frequency_penalty": 12,
+ "presence_penalty": 11,
+ "frequency_penalty": 7,
"stream": true,
"seed": 18,
"response_format": {
@@ -27,29 +27,29 @@
"responses": {
"200": {
"body": {
- "id": "qsezeimknwumonidzrtinssbx",
- "created": 6,
+ "id": "brfimykzbfjbrrnwwzavielcgrkxs",
+ "created": 9,
"choices": [
{
"message": {
"role": "system",
- "content": "hwrlzeoiungbiepci"
+ "content": "tvuhpskzpfjwpt"
},
- "index": 4,
+ "index": 15,
"finish_reason": "stop",
"delta": {
"role": "system",
- "content": "hwrlzeoiungbiepci"
+ "content": "tvuhpskzpfjwpt"
}
}
],
"usage": {
- "completion_tokens": 22,
- "prompt_tokens": 26,
- "total_tokens": 22
+ "completion_tokens": 7,
+ "prompt_tokens": 8,
+ "total_tokens": 3
},
- "object": "o",
- "model": "lmqsmmsj"
+ "object": "qtdixlriouipivyf",
+ "model": "caqtfy"
}
}
}
diff --git a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 3a271b990518..12c5a8b52444 100644
--- a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -3,7 +3,7 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "chatCompletionOptions": {
+ "chatCompletionsOptions": {
"messages": [
{
"role": "ChatRequestMessage"
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "qsezeimknwumonidzrtinssbx",
- "created": 6,
+ "id": "brfimykzbfjbrrnwwzavielcgrkxs",
+ "created": 9,
"choices": [
{
- "index": 4,
+ "index": 15,
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 22,
- "prompt_tokens": 26,
- "total_tokens": 22
+ "completion_tokens": 7,
+ "prompt_tokens": 8,
+ "total_tokens": 3
},
- "object": "o",
- "model": "lmqsmmsj"
+ "object": "qtdixlriouipivyf",
+ "model": "caqtfy"
}
}
}
diff --git a/specification/ai/ModelInference/routes/completions.tsp b/specification/ai/ModelInference/routes/completions.tsp
index 6d706fa7c2a4..89c255896848 100644
--- a/specification/ai/ModelInference/routes/completions.tsp
+++ b/specification/ai/ModelInference/routes/completions.tsp
@@ -29,7 +29,7 @@ op getChatCompletions is Azure.Core.RpcOperation<
@doc("The JSON payload containing chat completion options.")
@body
- chatCompletionOptions: ChatCompletionsOptions;
+ chatCompletionsOptions: ChatCompletionsOptions;
},
ChatCompletions
>;
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index 43fb939990d1..9b8d91ad5f25 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -3,20 +3,20 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "chatCompletionOptions": {
+ "chatCompletionsOptions": {
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "max_tokens": 14,
- "temperature": 16,
- "top_p": 24,
+ "max_tokens": 30,
+ "temperature": 21,
+ "top_p": 21,
"stop": [
- "fb"
+ "bsqsyjrzujojthmxmxcrgqniuwr"
],
- "presence_penalty": 4,
- "frequency_penalty": 12,
+ "presence_penalty": 11,
+ "frequency_penalty": 7,
"stream": true,
"seed": 18,
"response_format": {
@@ -27,29 +27,29 @@
"responses": {
"200": {
"body": {
- "id": "qsezeimknwumonidzrtinssbx",
- "created": 6,
+ "id": "brfimykzbfjbrrnwwzavielcgrkxs",
+ "created": 9,
"choices": [
{
"message": {
"role": "system",
- "content": "hwrlzeoiungbiepci"
+ "content": "tvuhpskzpfjwpt"
},
- "index": 4,
+ "index": 15,
"finish_reason": "stop",
"delta": {
"role": "system",
- "content": "hwrlzeoiungbiepci"
+ "content": "tvuhpskzpfjwpt"
}
}
],
"usage": {
- "completion_tokens": 22,
- "prompt_tokens": 26,
- "total_tokens": 22
+ "completion_tokens": 7,
+ "prompt_tokens": 8,
+ "total_tokens": 3
},
- "object": "o",
- "model": "lmqsmmsj"
+ "object": "qtdixlriouipivyf",
+ "model": "caqtfy"
}
}
}
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 3a271b990518..12c5a8b52444 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -3,7 +3,7 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "chatCompletionOptions": {
+ "chatCompletionsOptions": {
"messages": [
{
"role": "ChatRequestMessage"
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "qsezeimknwumonidzrtinssbx",
- "created": 6,
+ "id": "brfimykzbfjbrrnwwzavielcgrkxs",
+ "created": 9,
"choices": [
{
- "index": 4,
+ "index": 15,
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 22,
- "prompt_tokens": 26,
- "total_tokens": 22
+ "completion_tokens": 7,
+ "prompt_tokens": 8,
+ "total_tokens": 3
},
- "object": "o",
- "model": "lmqsmmsj"
+ "object": "qtdixlriouipivyf",
+ "model": "caqtfy"
}
}
}
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
index 211b6d442252..669cbc65bb42 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
@@ -54,7 +54,7 @@
"$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
},
{
- "name": "chatCompletionOptions",
+ "name": "chatCompletionsOptions",
"in": "body",
"description": "The JSON payload containing chat completion options.",
"required": true,
From 837a784a040a09765da135783ef02b889ea3d487 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Wed, 27 Mar 2024 15:44:41 -0700
Subject: [PATCH 024/343] Remove delta streaming for now
---
.../GetChatCompletions_MaximumSet_Gen.json | 38 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 16 ++++----
.../models/completions/chat_completions.tsp | 4 --
.../ai/ModelInference/routes/completions.tsp | 5 ---
.../GetChatCompletions_MaximumSet_Gen.json | 38 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 16 ++++----
.../preview/2024-04-01-preview/openapi.json | 4 --
7 files changed, 50 insertions(+), 71 deletions(-)
diff --git a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index 9b8d91ad5f25..f719c04111a4 100644
--- a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -9,16 +9,16 @@
"role": "ChatRequestMessage"
}
],
- "max_tokens": 30,
- "temperature": 21,
- "top_p": 21,
+ "max_tokens": 4,
+ "temperature": 13,
+ "top_p": 17,
"stop": [
- "bsqsyjrzujojthmxmxcrgqniuwr"
+ "mdgofrvxhywiftfd"
],
- "presence_penalty": 11,
- "frequency_penalty": 7,
+ "presence_penalty": 17,
+ "frequency_penalty": 13,
"stream": true,
- "seed": 18,
+ "seed": 6,
"response_format": {
"type": "ChatCompletionsResponseFormat"
}
@@ -27,29 +27,25 @@
"responses": {
"200": {
"body": {
- "id": "brfimykzbfjbrrnwwzavielcgrkxs",
- "created": 9,
+ "id": "rqkpsweaxnvzmrofqlwnhuavklcvo",
+ "created": 21,
"choices": [
{
"message": {
"role": "system",
- "content": "tvuhpskzpfjwpt"
+ "content": "uicrnfw"
},
- "index": 15,
- "finish_reason": "stop",
- "delta": {
- "role": "system",
- "content": "tvuhpskzpfjwpt"
- }
+ "index": 25,
+ "finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 7,
- "prompt_tokens": 8,
- "total_tokens": 3
+ "completion_tokens": 1,
+ "prompt_tokens": 28,
+ "total_tokens": 1
},
- "object": "qtdixlriouipivyf",
- "model": "caqtfy"
+ "object": "zlmymzdiugfivjqbfbzmzu",
+ "model": "oyawtxkpvnnj"
}
}
}
diff --git a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 12c5a8b52444..14f23bc0cb63 100644
--- a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "brfimykzbfjbrrnwwzavielcgrkxs",
- "created": 9,
+ "id": "rqkpsweaxnvzmrofqlwnhuavklcvo",
+ "created": 21,
"choices": [
{
- "index": 15,
+ "index": 25,
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 7,
- "prompt_tokens": 8,
- "total_tokens": 3
+ "completion_tokens": 1,
+ "prompt_tokens": 28,
+ "total_tokens": 1
},
- "object": "qtdixlriouipivyf",
- "model": "caqtfy"
+ "object": "zlmymzdiugfivjqbfbzmzu",
+ "model": "oyawtxkpvnnj"
}
}
}
diff --git a/specification/ai/ModelInference/models/completions/chat_completions.tsp b/specification/ai/ModelInference/models/completions/chat_completions.tsp
index 8c22bee083f2..4c59e66a1dc9 100644
--- a/specification/ai/ModelInference/models/completions/chat_completions.tsp
+++ b/specification/ai/ModelInference/models/completions/chat_completions.tsp
@@ -186,10 +186,6 @@ model ChatChoice {
@doc("The reason that this chat completions choice completed its generated.")
@projectedName("json", "finish_reason")
finishReason: CompletionsFinishReason | null;
-
- @doc("The delta message content for a streaming response.")
- @projectedName("json", "delta")
- delta?: ChatResponseMessage;
}
@doc("""
diff --git a/specification/ai/ModelInference/routes/completions.tsp b/specification/ai/ModelInference/routes/completions.tsp
index 89c255896848..4262f25e025e 100644
--- a/specification/ai/ModelInference/routes/completions.tsp
+++ b/specification/ai/ModelInference/routes/completions.tsp
@@ -19,14 +19,9 @@ Completions support a wide variety of tasks and generate text that continues fro
provided prompt data.
""")
@actionSeparator("/")
-@actionSeparator("/")
@route("v1/chat/completions")
op getChatCompletions is Azure.Core.RpcOperation<
{
- @doc("The format of the HTTP payload.")
- @header
- contentType: "application/json";
-
@doc("The JSON payload containing chat completion options.")
@body
chatCompletionsOptions: ChatCompletionsOptions;
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index 9b8d91ad5f25..f719c04111a4 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -9,16 +9,16 @@
"role": "ChatRequestMessage"
}
],
- "max_tokens": 30,
- "temperature": 21,
- "top_p": 21,
+ "max_tokens": 4,
+ "temperature": 13,
+ "top_p": 17,
"stop": [
- "bsqsyjrzujojthmxmxcrgqniuwr"
+ "mdgofrvxhywiftfd"
],
- "presence_penalty": 11,
- "frequency_penalty": 7,
+ "presence_penalty": 17,
+ "frequency_penalty": 13,
"stream": true,
- "seed": 18,
+ "seed": 6,
"response_format": {
"type": "ChatCompletionsResponseFormat"
}
@@ -27,29 +27,25 @@
"responses": {
"200": {
"body": {
- "id": "brfimykzbfjbrrnwwzavielcgrkxs",
- "created": 9,
+ "id": "rqkpsweaxnvzmrofqlwnhuavklcvo",
+ "created": 21,
"choices": [
{
"message": {
"role": "system",
- "content": "tvuhpskzpfjwpt"
+ "content": "uicrnfw"
},
- "index": 15,
- "finish_reason": "stop",
- "delta": {
- "role": "system",
- "content": "tvuhpskzpfjwpt"
- }
+ "index": 25,
+ "finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 7,
- "prompt_tokens": 8,
- "total_tokens": 3
+ "completion_tokens": 1,
+ "prompt_tokens": 28,
+ "total_tokens": 1
},
- "object": "qtdixlriouipivyf",
- "model": "caqtfy"
+ "object": "zlmymzdiugfivjqbfbzmzu",
+ "model": "oyawtxkpvnnj"
}
}
}
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 12c5a8b52444..14f23bc0cb63 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "brfimykzbfjbrrnwwzavielcgrkxs",
- "created": 9,
+ "id": "rqkpsweaxnvzmrofqlwnhuavklcvo",
+ "created": 21,
"choices": [
{
- "index": 15,
+ "index": 25,
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 7,
- "prompt_tokens": 8,
- "total_tokens": 3
+ "completion_tokens": 1,
+ "prompt_tokens": 28,
+ "total_tokens": 1
},
- "object": "qtdixlriouipivyf",
- "model": "caqtfy"
+ "object": "zlmymzdiugfivjqbfbzmzu",
+ "model": "oyawtxkpvnnj"
}
}
}
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
index 669cbc65bb42..0dfa0e724857 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
@@ -174,10 +174,6 @@
"description": "The reason that this chat completions choice completed its generated.",
"x-nullable": true,
"x-ms-client-name": "finishReason"
- },
- "delta": {
- "$ref": "#/definitions/ChatResponseMessage",
- "description": "The delta message content for a streaming response."
}
},
"required": [
From 1b950ebcf6b58804a387e17641b1c933aeb13f4b Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Wed, 27 Mar 2024 19:14:02 -0700
Subject: [PATCH 025/343] Use bearer auth
---
.../GetChatCompletions_MaximumSet_Gen.json | 32 ++++-----
.../GetChatCompletions_MinimumSet_Gen.json | 16 ++---
specification/ai/ModelInference/main.tsp | 11 +---
.../{completions => }/chat_completions.tsp | 66 +++++++++++++++++--
.../models/completions/chat_messages.tsp | 66 -------------------
.../ai/ModelInference/routes/completions.tsp | 2 +-
.../GetChatCompletions_MaximumSet_Gen.json | 32 ++++-----
.../GetChatCompletions_MinimumSet_Gen.json | 16 ++---
.../preview/2024-04-01-preview/openapi.json | 39 +++--------
9 files changed, 123 insertions(+), 157 deletions(-)
rename specification/ai/ModelInference/models/{completions => }/chat_completions.tsp (80%)
delete mode 100644 specification/ai/ModelInference/models/completions/chat_messages.tsp
diff --git a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index f719c04111a4..ac1c0e30be71 100644
--- a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -9,16 +9,16 @@
"role": "ChatRequestMessage"
}
],
- "max_tokens": 4,
- "temperature": 13,
- "top_p": 17,
+ "max_tokens": 25,
+ "temperature": 19,
+ "top_p": 5,
"stop": [
- "mdgofrvxhywiftfd"
+ "rtavfjfyhnzl"
],
- "presence_penalty": 17,
- "frequency_penalty": 13,
+ "presence_penalty": 15,
+ "frequency_penalty": 19,
"stream": true,
- "seed": 6,
+ "seed": 19,
"response_format": {
"type": "ChatCompletionsResponseFormat"
}
@@ -27,25 +27,25 @@
"responses": {
"200": {
"body": {
- "id": "rqkpsweaxnvzmrofqlwnhuavklcvo",
- "created": 21,
+ "id": "sxmyscekvlsxqpsegdwnzyal",
+ "created": 30,
"choices": [
{
"message": {
"role": "system",
- "content": "uicrnfw"
+ "content": "mdhccqpdhwbiohjsm"
},
- "index": 25,
+ "index": 6,
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 1,
- "prompt_tokens": 28,
- "total_tokens": 1
+ "completion_tokens": 14,
+ "prompt_tokens": 3,
+ "total_tokens": 11
},
- "object": "zlmymzdiugfivjqbfbzmzu",
- "model": "oyawtxkpvnnj"
+ "object": "uuxdaqxswkk",
+ "model": "zaacxtgyugjfid"
}
}
}
diff --git a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 14f23bc0cb63..74f26554c793 100644
--- a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "rqkpsweaxnvzmrofqlwnhuavklcvo",
- "created": 21,
+ "id": "sxmyscekvlsxqpsegdwnzyal",
+ "created": 30,
"choices": [
{
- "index": 25,
+ "index": 6,
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 1,
- "prompt_tokens": 28,
- "total_tokens": 1
+ "completion_tokens": 14,
+ "prompt_tokens": 3,
+ "total_tokens": 11
},
- "object": "zlmymzdiugfivjqbfbzmzu",
- "model": "oyawtxkpvnnj"
+ "object": "uuxdaqxswkk",
+ "model": "zaacxtgyugjfid"
}
}
}
diff --git a/specification/ai/ModelInference/main.tsp b/specification/ai/ModelInference/main.tsp
index 72c5121a80f1..fa0307e2a8e1 100644
--- a/specification/ai/ModelInference/main.tsp
+++ b/specification/ai/ModelInference/main.tsp
@@ -9,15 +9,8 @@ using TypeSpec.Rest;
using TypeSpec.Versioning;
using Azure.Core;
-@useAuth(
- ApiKeyAuth | OAuth2Auth<[
- {
- type: OAuth2FlowType.implicit,
- authorizationUrl: "https://login.contoso.com/common/oauth2/v2.0/authorize",
- scopes: ["https://widget.contoso.com/.default"],
- }
- ]>
-)
+#suppress "@azure-tools/typespec-autorest/unsupported-http-auth-scheme"
+@useAuth(BearerAuth)
@service({
title: "AI Model Inference",
})
diff --git a/specification/ai/ModelInference/models/completions/chat_completions.tsp b/specification/ai/ModelInference/models/chat_completions.tsp
similarity index 80%
rename from specification/ai/ModelInference/models/completions/chat_completions.tsp
rename to specification/ai/ModelInference/models/chat_completions.tsp
index 4c59e66a1dc9..d58f8a658cee 100644
--- a/specification/ai/ModelInference/models/completions/chat_completions.tsp
+++ b/specification/ai/ModelInference/models/chat_completions.tsp
@@ -2,8 +2,6 @@ import "@typespec/rest";
import "@typespec/http";
import "@typespec/versioning";
-import "./chat_messages.tsp";
-
using TypeSpec.Rest;
using TypeSpec.Http;
using TypeSpec.Versioning;
@@ -51,11 +49,14 @@ enum ChatRole {
@doc("The role that instructs or sets the behavior of the assistant.")
system: "system",
+ @doc("The role that provides input for chat completions.")
+ user: "user",
+
@doc("The role that provides responses to system-instructed, user-prompted input.")
assistant: "assistant",
- @doc("The role that provides input for chat completions.")
- user: "user",
+ @doc("The role that represents extension tool activity within a chat completions operation.")
+ tool: "tool",
}
@doc("""
@@ -228,3 +229,60 @@ model ChatCompletions {
@projectedName("json", "model")
`model`: string;
}
+
+@discriminator("role")
+@doc("An abstract representation of a chat message as provided in a request.")
+model ChatRequestMessage {
+ @doc("The chat role associated with this message.")
+ role: ChatRole;
+}
+
+@doc("""
+A request chat message containing system instructions that influence how the model will generate a chat completions
+response.
+""")
+model ChatRequestSystemMessage extends ChatRequestMessage {
+ @doc("The chat role associated with this message, which is always 'system' for system messages.")
+ role: ChatRole.system;
+
+ @doc("The contents of the system message.")
+ content: string;
+
+ @doc("An optional name for the participant.")
+ name?: string;
+}
+
+@doc("A request chat message representing user input to the assistant.")
+model ChatRequestUserMessage extends ChatRequestMessage {
+ @doc("The chat role associated with this message, which is always 'user' for user messages.")
+ role: ChatRole.user;
+
+ @doc("The contents of the user message, with available input types varying by selected model.")
+ content: string;
+
+ @doc("An optional name for the participant.")
+ name?: string;
+}
+
+@doc("A request chat message representing response or action from the assistant.")
+model ChatRequestAssistantMessage extends ChatRequestMessage {
+ @doc("The chat role associated with this message, which is always 'assistant' for assistant messages.")
+ role: ChatRole.assistant;
+
+ #suppress "@azure-tools/typespec-azure-core/no-nullable" "explicitly nullable in mirrored API"
+ @doc("The content of the message.")
+ content: string | null;
+
+ @doc("An optional name for the participant.")
+ name?: string;
+}
+
+@doc("A representation of a chat message as received in a response.")
+model ChatResponseMessage {
+ @doc("The chat role associated with the message.")
+ role: ChatRole;
+
+ #suppress "@azure-tools/typespec-azure-core/no-nullable" "explicitly nullable in mirrored API"
+ @doc("The content of the message.")
+ content: string | null;
+}
diff --git a/specification/ai/ModelInference/models/completions/chat_messages.tsp b/specification/ai/ModelInference/models/completions/chat_messages.tsp
deleted file mode 100644
index c7216c73e234..000000000000
--- a/specification/ai/ModelInference/models/completions/chat_messages.tsp
+++ /dev/null
@@ -1,66 +0,0 @@
-import "@typespec/rest";
-import "@typespec/http";
-import "@typespec/versioning";
-
-using TypeSpec.Rest;
-using TypeSpec.Http;
-using TypeSpec.Versioning;
-
-namespace ModelInference;
-
-@discriminator("role")
-@doc("An abstract representation of a chat message as provided in a request.")
-model ChatRequestMessage {
- @doc("The chat role associated with this message.")
- role: ChatRole;
-}
-
-@doc("""
-A request chat message containing system instructions that influence how the model will generate a chat completions
-response.
-""")
-model ChatRequestSystemMessage extends ChatRequestMessage {
- @doc("The chat role associated with this message, which is always 'system' for system messages.")
- role: ChatRole.system;
-
- @doc("The contents of the system message.")
- content: string;
-
- @doc("An optional name for the participant.")
- name?: string;
-}
-
-@doc("A request chat message representing user input to the assistant.")
-model ChatRequestUserMessage extends ChatRequestMessage {
- @doc("The chat role associated with this message, which is always 'user' for user messages.")
- role: ChatRole.user;
-
- @doc("The contents of the user message, with available input types varying by selected model.")
- content: string;
-
- @doc("An optional name for the participant.")
- name?: string;
-}
-
-@doc("A request chat message representing response or action from the assistant.")
-model ChatRequestAssistantMessage extends ChatRequestMessage {
- @doc("The chat role associated with this message, which is always 'assistant' for assistant messages.")
- role: ChatRole.assistant;
-
- #suppress "@azure-tools/typespec-azure-core/no-nullable" "explicitly nullable in mirrored API"
- @doc("The content of the message.")
- content: string | null;
-
- @doc("An optional name for the participant.")
- name?: string;
-}
-
-@doc("A representation of a chat message as received in a response.")
-model ChatResponseMessage {
- @doc("The chat role associated with the message.")
- role: ChatRole;
-
- #suppress "@azure-tools/typespec-azure-core/no-nullable" "explicitly nullable in mirrored API"
- @doc("The content of the message.")
- content: string | null;
-}
diff --git a/specification/ai/ModelInference/routes/completions.tsp b/specification/ai/ModelInference/routes/completions.tsp
index 4262f25e025e..576d72dcb976 100644
--- a/specification/ai/ModelInference/routes/completions.tsp
+++ b/specification/ai/ModelInference/routes/completions.tsp
@@ -3,7 +3,7 @@ import "@typespec/rest";
import "@typespec/http";
import "@typespec/versioning";
-import "../models/completions/chat_completions.tsp";
+import "../models/chat_completions.tsp";
using TypeSpec.Rest;
using TypeSpec.Http;
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index f719c04111a4..ac1c0e30be71 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -9,16 +9,16 @@
"role": "ChatRequestMessage"
}
],
- "max_tokens": 4,
- "temperature": 13,
- "top_p": 17,
+ "max_tokens": 25,
+ "temperature": 19,
+ "top_p": 5,
"stop": [
- "mdgofrvxhywiftfd"
+ "rtavfjfyhnzl"
],
- "presence_penalty": 17,
- "frequency_penalty": 13,
+ "presence_penalty": 15,
+ "frequency_penalty": 19,
"stream": true,
- "seed": 6,
+ "seed": 19,
"response_format": {
"type": "ChatCompletionsResponseFormat"
}
@@ -27,25 +27,25 @@
"responses": {
"200": {
"body": {
- "id": "rqkpsweaxnvzmrofqlwnhuavklcvo",
- "created": 21,
+ "id": "sxmyscekvlsxqpsegdwnzyal",
+ "created": 30,
"choices": [
{
"message": {
"role": "system",
- "content": "uicrnfw"
+ "content": "mdhccqpdhwbiohjsm"
},
- "index": 25,
+ "index": 6,
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 1,
- "prompt_tokens": 28,
- "total_tokens": 1
+ "completion_tokens": 14,
+ "prompt_tokens": 3,
+ "total_tokens": 11
},
- "object": "zlmymzdiugfivjqbfbzmzu",
- "model": "oyawtxkpvnnj"
+ "object": "uuxdaqxswkk",
+ "model": "zaacxtgyugjfid"
}
}
}
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 14f23bc0cb63..74f26554c793 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "rqkpsweaxnvzmrofqlwnhuavklcvo",
- "created": 21,
+ "id": "sxmyscekvlsxqpsegdwnzyal",
+ "created": 30,
"choices": [
{
- "index": 25,
+ "index": 6,
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 1,
- "prompt_tokens": 28,
- "total_tokens": 1
+ "completion_tokens": 14,
+ "prompt_tokens": 3,
+ "total_tokens": 11
},
- "object": "zlmymzdiugfivjqbfbzmzu",
- "model": "oyawtxkpvnnj"
+ "object": "uuxdaqxswkk",
+ "model": "zaacxtgyugjfid"
}
}
}
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
index 0dfa0e724857..2f883241fc11 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
@@ -18,31 +18,6 @@
"consumes": [
"application/json"
],
- "security": [
- {
- "ApiKeyAuth": []
- },
- {
- "OAuth2Auth": [
- "https://widget.contoso.com/.default"
- ]
- }
- ],
- "securityDefinitions": {
- "ApiKeyAuth": {
- "type": "apiKey",
- "name": "api-key",
- "in": "header"
- },
- "OAuth2Auth": {
- "type": "oauth2",
- "flow": "implicit",
- "authorizationUrl": "https://login.contoso.com/common/oauth2/v2.0/authorize",
- "scopes": {
- "https://widget.contoso.com/.default": ""
- }
- }
- },
"tags": [],
"paths": {
"/v1/chat/completions": {
@@ -433,8 +408,9 @@
"description": "A description of the intended purpose of a message within a chat completions interaction.",
"enum": [
"system",
+ "user",
"assistant",
- "user"
+ "tool"
],
"x-ms-enum": {
"name": "ChatRole",
@@ -445,15 +421,20 @@
"value": "system",
"description": "The role that instructs or sets the behavior of the assistant."
},
+ {
+ "name": "user",
+ "value": "user",
+ "description": "The role that provides input for chat completions."
+ },
{
"name": "assistant",
"value": "assistant",
"description": "The role that provides responses to system-instructed, user-prompted input."
},
{
- "name": "user",
- "value": "user",
- "description": "The role that provides input for chat completions."
+ "name": "tool",
+ "value": "tool",
+ "description": "The role that represents extension tool activity within a chat completions operation."
}
]
}
From 11cd623b7f704a2c40c34aacb9a6456f6e32445a Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Thu, 28 Mar 2024 12:08:31 -0700
Subject: [PATCH 026/343] Add support for tools. Reorder elements based on
order I see in service swagger
---
.../GetChatCompletions_MaximumSet_Gen.json | 49 ++-
.../GetChatCompletions_MinimumSet_Gen.json | 20 +-
.../models/chat_completions.tsp | 403 ++++++++++++------
.../GetChatCompletions_MaximumSet_Gen.json | 49 ++-
.../GetChatCompletions_MinimumSet_Gen.json | 20 +-
.../preview/2024-04-01-preview/openapi.json | 290 +++++++++++--
6 files changed, 611 insertions(+), 220 deletions(-)
diff --git a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index ac1c0e30be71..6318da943bfd 100644
--- a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -9,43 +9,54 @@
"role": "ChatRequestMessage"
}
],
- "max_tokens": 25,
- "temperature": 19,
- "top_p": 5,
+ "frequency_penalty": -2,
+ "presence_penalty": -1,
+ "temperature": 0,
+ "top_p": 0,
+ "max_tokens": 0,
+ "response_format": {
+ "type": "ChatCompletionsResponseFormat"
+ },
"stop": [
- "rtavfjfyhnzl"
+ "zlkrxijvazqium"
],
- "presence_penalty": 15,
- "frequency_penalty": 19,
"stream": true,
- "seed": 19,
- "response_format": {
- "type": "ChatCompletionsResponseFormat"
- }
+ "tools": [
+ {
+ "type": "ChatCompletionsToolDefinition"
+ }
+ ],
+ "seed": 30
}
},
"responses": {
"200": {
"body": {
- "id": "sxmyscekvlsxqpsegdwnzyal",
+ "id": "vxckegxkfctjdqjitcawjna",
+ "object": "wepdkxpkuzhs",
"created": 30,
+ "model": "ekoksbbgcjzskssaxefhmkrmnpfopm",
"choices": [
{
+ "index": 30,
"message": {
"role": "system",
- "content": "mdhccqpdhwbiohjsm"
+ "content": "bfeykwwialisszlizvbiu",
+ "tool_calls": [
+ {
+ "type": "ChatCompletionsToolCall",
+ "id": "pxokpajzlccgcbaz"
+ }
+ ]
},
- "index": 6,
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 14,
- "prompt_tokens": 3,
- "total_tokens": 11
- },
- "object": "uuxdaqxswkk",
- "model": "zaacxtgyugjfid"
+ "completion_tokens": 19,
+ "prompt_tokens": 29,
+ "total_tokens": 29
+ }
}
}
}
diff --git a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 74f26554c793..d126d5d3c435 100644
--- a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,21 +14,25 @@
"responses": {
"200": {
"body": {
- "id": "sxmyscekvlsxqpsegdwnzyal",
+ "id": "vxckegxkfctjdqjitcawjna",
+ "object": "wepdkxpkuzhs",
"created": 30,
+ "model": "ekoksbbgcjzskssaxefhmkrmnpfopm",
"choices": [
{
- "index": 6,
+ "index": 30,
+ "message": {
+ "role": "system",
+ "content": "bfeykwwialisszlizvbiu"
+ },
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 14,
- "prompt_tokens": 3,
- "total_tokens": 11
- },
- "object": "uuxdaqxswkk",
- "model": "zaacxtgyugjfid"
+ "completion_tokens": 19,
+ "prompt_tokens": 29,
+ "total_tokens": 29
+ }
}
}
}
diff --git a/specification/ai/ModelInference/models/chat_completions.tsp b/specification/ai/ModelInference/models/chat_completions.tsp
index d58f8a658cee..00a9c6c1843f 100644
--- a/specification/ai/ModelInference/models/chat_completions.tsp
+++ b/specification/ai/ModelInference/models/chat_completions.tsp
@@ -8,6 +8,151 @@ using TypeSpec.Versioning;
namespace ModelInference;
+@doc("""
+The configuration information for a chat completions request.
+Completions support a wide variety of tasks and generate text that continues from or "completes"
+provided prompt data.
+""")
+model ChatCompletionsOptions {
+ @doc("""
+ The collection of context messages associated with this chat completions request.
+ Typical usage begins with a chat message for the System role that provides instructions for
+ the behavior of the assistant, followed by alternating messages between the User and
+ Assistant roles.
+ """)
+ @projectedName("json", "messages")
+ @minItems(1)
+ messages: ChatRequestMessage[];
+
+ @doc("""
+ A value that influences the probability of generated tokens appearing based on their cumulative
+ frequency in generated text.
+ Positive values will make tokens less likely to appear as their frequency increases and
+ decrease the likelihood of the model repeating the same statements verbatim.
+ """)
+ @maxValue(2.0)
+ @minValue(-2.0)
+ @projectedName("json", "frequency_penalty")
+ frequencyPenalty?: float32 = 0.0;
+
+ @doc("""
+ A value that influences the probability of generated tokens appearing based on their existing
+ presence in generated text.
+ Positive values will make tokens less likely to appear when they already exist and increase the
+ model's likelihood to output new topics.
+ """)
+ @maxValue(2.0)
+ @minValue(-2.0)
+ @projectedName("json", "presence_penalty")
+ presencePenalty?: float32 = 0.0;
+
+ @doc("""
+ The sampling temperature to use that controls the apparent creativity of generated completions.
+ Higher values will make output more random while lower values will make results more focused
+ and deterministic.
+ It is not recommended to modify temperature and top_p for the same completions request as the
+ interaction of these two settings is difficult to predict.
+ """)
+ @maxValue(1.0)
+ @minValue(0.0)
+ @projectedName("json", "temperature")
+ temperature?: float32 = 0.7;
+
+ @doc("""
+ An alternative to sampling with temperature called nucleus sampling. This value causes the
+ model to consider the results of tokens with the provided probability mass. As an example, a
+ value of 0.15 will cause only the tokens comprising the top 15% of probability mass to be
+ considered.
+ It is not recommended to modify temperature and top_p for the same completions request as the
+ interaction of these two settings is difficult to predict.
+ """)
+ @maxValue(1.0)
+ @minValue(0.0)
+ @projectedName("json", "top_p")
+ topP?: float32 = 1.0;
+
+ @doc("The maximum number of tokens to generate.")
+ @projectedName("json", "max_tokens")
+ @minValue(0.0)
+ maxTokens?: int32;
+
+ @projectedName("json", "response_format")
+ @doc("An object specifying the format that the model must output. Used to enable JSON mode.")
+ responseFormat?: ChatCompletionsResponseFormat;
+
+ @doc("""
+ A collection of textual sequences that will end completions generation.
+ """)
+ @projectedName("json", "stop")
+ @minItems(1)
+ stop?: string[];
+
+ @doc("""
+ A value indicating whether chat completions should be streamed for this request.
+ """)
+ @projectedName("json", "stream")
+ stream?: boolean = false;
+
+ @doc("The available tool definitions that the chat completions request can use, including caller-defined functions.")
+ @minItems(1)
+ tools?: ChatCompletionsToolDefinition[];
+
+ @encodedName("application/json", "tool_choice")
+ @doc("""
+ If specified, the model will configure which of the provided tools it can use for the chat completions response.
+ """)
+ toolChoice?: ChatCompletionsToolSelection;
+
+ @doc("""
+ If specified, the system will make a best effort to sample deterministically such that repeated requests with the
+ same seed and parameters should return the same result. Determinism is not guaranteed, and you should refer to the
+ system_fingerprint response parameter to monitor changes in the backend."
+ """)
+ seed?: int64;
+}
+
+@doc("""
+Representation of the response data from a chat completions request.
+Completions support a wide variety of tasks and generate text that continues from or "completes"
+provided prompt data.
+""")
+model ChatCompletions {
+ @doc("A unique identifier associated with this chat completions response.")
+ @projectedName("json", "id")
+ id: string;
+
+ @doc("The response object type, which is always `chat.completion`.")
+ @projectedName("json", "object")
+ object: string;
+
+ @doc("""
+ The first timestamp associated with generation activity for this completions response,
+ represented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970.
+ """)
+ @projectedName("json", "created")
+ @encode(DateTimeKnownEncoding.unixTimestamp, int32)
+ created: utcDateTime;
+
+ @doc("The model used for the chat completion.")
+ @projectedName("json", "model")
+ `model`: string;
+
+ @doc("""
+ The collection of completions choices associated with this completions response.
+ Generally, `n` choices are generated per provided prompt with a default value of 1.
+ Token limits and other settings may limit the number of choices generated.
+ """)
+ @projectedName("json", "choices")
+ @minItems(1)
+ choices: ChatChoice[];
+
+ @doc("""
+ Usage information for tokens processed and generated as part of this completions operation.
+ """)
+ @projectedName("json", "usage")
+ usage: CompletionsUsage;
+}
+
@doc("""
Representation of the token counts processed for a completions request.
Counts consider all tokens across prompts, choices, choice alternates, best_of generations, and
@@ -86,102 +231,20 @@ model ChatCompletionsJsonResponseFormat extends ChatCompletionsResponseFormat {
type: "json_object";
}
-@doc("""
-The configuration information for a chat completions request.
-Completions support a wide variety of tasks and generate text that continues from or "completes"
-provided prompt data.
-""")
-model ChatCompletionsOptions {
- @doc("""
- The collection of context messages associated with this chat completions request.
- Typical usage begins with a chat message for the System role that provides instructions for
- the behavior of the assistant, followed by alternating messages between the User and
- Assistant roles.
- """)
- @projectedName("json", "messages")
- messages: ChatRequestMessage[];
-
- @doc("The maximum number of tokens to generate.")
- @projectedName("json", "max_tokens")
- maxTokens?: int32;
-
- @doc("""
- The sampling temperature to use that controls the apparent creativity of generated completions.
- Higher values will make output more random while lower values will make results more focused
- and deterministic.
- It is not recommended to modify temperature and top_p for the same completions request as the
- interaction of these two settings is difficult to predict.
- """)
- @projectedName("json", "temperature")
- temperature?: float32;
-
- @doc("""
- An alternative to sampling with temperature called nucleus sampling. This value causes the
- model to consider the results of tokens with the provided probability mass. As an example, a
- value of 0.15 will cause only the tokens comprising the top 15% of probability mass to be
- considered.
- It is not recommended to modify temperature and top_p for the same completions request as the
- interaction of these two settings is difficult to predict.
- """)
- @projectedName("json", "top_p")
- topP?: float32;
-
- @doc("""
- A collection of textual sequences that will end completions generation.
- """)
- @projectedName("json", "stop")
- stop?: string[];
-
- @doc("""
- A value that influences the probability of generated tokens appearing based on their existing
- presence in generated text.
- Positive values will make tokens less likely to appear when they already exist and increase the
- model's likelihood to output new topics.
- """)
- @projectedName("json", "presence_penalty")
- presencePenalty?: float32;
-
- @doc("""
- A value that influences the probability of generated tokens appearing based on their cumulative
- frequency in generated text.
- Positive values will make tokens less likely to appear as their frequency increases and
- decrease the likelihood of the model repeating the same statements verbatim.
- """)
- @projectedName("json", "frequency_penalty")
- frequencyPenalty?: float32;
-
- @doc("""
- A value indicating whether chat completions should be streamed for this request.
- """)
- @projectedName("json", "stream")
- stream?: boolean;
-
- @doc("""
- If specified, the system will make a best effort to sample deterministically such that repeated requests with the
- same seed and parameters should return the same result. Determinism is not guaranteed, and you should refer to the
- system_fingerprint response parameter to monitor changes in the backend."
- """)
- seed?: int64;
-
- @projectedName("json", "response_format")
- @doc("An object specifying the format that the model must output. Used to enable JSON mode.")
- responseFormat?: ChatCompletionsResponseFormat;
-}
-
@doc("""
The representation of a single prompt completion as part of an overall chat completions request.
Generally, `n` choices are generated per provided prompt with a default value of 1.
Token limits and other settings may limit the number of choices generated.
""")
model ChatChoice {
- @doc("The chat message for a given chat completions prompt.")
- @projectedName("json", "message")
- message?: ChatResponseMessage;
-
@doc("The ordered index associated with this chat completions choice.")
@projectedName("json", "index")
index: int32;
+ @doc("The chat message for a given chat completions prompt.")
+ @projectedName("json", "message")
+ message: ChatResponseMessage;
+
#suppress "@azure-tools/typespec-azure-core/no-nullable" "The operation already returns nulls"
#suppress "@azure-tools/typespec-autorest/union-unsupported" "OpenAPI v2 support deferred"
@doc("The reason that this chat completions choice completed its generated.")
@@ -189,47 +252,6 @@ model ChatChoice {
finishReason: CompletionsFinishReason | null;
}
-@doc("""
-Representation of the response data from a chat completions request.
-Completions support a wide variety of tasks and generate text that continues from or "completes"
-provided prompt data.
-""")
-model ChatCompletions {
- @doc("A unique identifier associated with this chat completions response.")
- @projectedName("json", "id")
- id: string;
-
- @doc("""
- The first timestamp associated with generation activity for this completions response,
- represented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970.
- """)
- @projectedName("json", "created")
- @encode(DateTimeKnownEncoding.unixTimestamp, int32)
- created: utcDateTime;
-
- @doc("""
- The collection of completions choices associated with this completions response.
- Generally, `n` choices are generated per provided prompt with a default value of 1.
- Token limits and other settings may limit the number of choices generated.
- """)
- @projectedName("json", "choices")
- choices: ChatChoice[];
-
- @doc("""
- Usage information for tokens processed and generated as part of this completions operation.
- """)
- @projectedName("json", "usage")
- usage: CompletionsUsage;
-
- @doc("The response object type, which is always `chat.completion`.")
- @projectedName("json", "object")
- object: string;
-
- @doc("The model used for the chat completion.")
- @projectedName("json", "model")
- `model`: string;
-}
-
@discriminator("role")
@doc("An abstract representation of a chat message as provided in a request.")
model ChatRequestMessage {
@@ -277,6 +299,21 @@ model ChatRequestAssistantMessage extends ChatRequestMessage {
name?: string;
}
+@doc("A request chat message representing requested output from a configured tool.")
+model ChatRequestToolMessage extends ChatRequestMessage {
+ @doc("The chat role associated with this message, which is always 'tool' for tool messages.")
+ role: ChatRole.tool;
+
+ #suppress "@azure-tools/typespec-azure-core/no-nullable" "explicitly nullable in mirrored API"
+ @doc("The content of the message.")
+ content: string | null;
+
+ @encodedName("application/json", "tool_call_id")
+ @doc("The ID of the tool call resolved by the provided content.")
+ toolCallId: string;
+}
+
+
@doc("A representation of a chat message as received in a response.")
model ChatResponseMessage {
@doc("The chat role associated with the message.")
@@ -285,4 +322,116 @@ model ChatResponseMessage {
#suppress "@azure-tools/typespec-azure-core/no-nullable" "explicitly nullable in mirrored API"
@doc("The content of the message.")
content: string | null;
+
+ @encodedName("application/json", "tool_calls")
+ @doc("""
+ The tool calls that must be resolved and have their outputs appended to subsequent input messages for the chat
+ completions request to resolve as configured.
+ """)
+ toolCalls?: ChatCompletionsToolCall[];
+}
+
+// tool_choice: "auto" | "none" | { "type": "function", "name": string }
+
+#suppress "@azure-tools/typespec-autorest/union-unsupported" "External API shape is defined in OpenAPI 3.0 as oneOf."
+alias ChatCompletionsToolSelection = ChatCompletionsToolSelectionPreset | ChatCompletionsNamedToolSelection;
+
+@doc("Represents a generic policy for how a chat completions tool may be selected.")
+union ChatCompletionsToolSelectionPreset {
+ string,
+
+ @doc("""
+ Specifies that the model may either use any of the tools provided in this chat completions request or
+ instead return a standard chat completions response as if no tools were provided.
+ """)
+ auto: "auto",
+
+ @doc("""
+ Specifies that the model should not respond with a tool call and should instead provide a standard chat
+ completions response. Response content may still be influenced by the provided tool definitions.
+ """)
+ none: "none",
+}
+
+@discriminator("type")
+@doc("An abstract representation of an explicit, named tool selection to use for a chat completions request.")
+model ChatCompletionsNamedToolSelection {
+ @doc("The object type.")
+ type: string;
+}
+
+@discriminator("type")
+@doc("An abstract representation of a tool that can be used by the model to improve a chat completions response.")
+model ChatCompletionsToolDefinition {
+ @doc("The object type.")
+ type: string;
+}
+
+@doc("""
+The definition information for a chat completions function tool that can call a function in response to a tool call.
+""")
+model ChatCompletionsFunctionToolDefinition
+ extends ChatCompletionsToolDefinition {
+ @doc("The object name, which is always 'function'.")
+ type: "function";
+
+ @doc("The function definition details for the function tool.")
+ function: FunctionDefinition;
+}
+
+@doc("""
+The definition of a caller-specified function that chat completions may invoke in response to matching user input.
+""")
+model FunctionDefinition {
+ @doc("The name of the function to be called.")
+ name: string;
+
+ @doc("""
+ A description of what the function does. The model will use this description when selecting the function and
+ interpreting its parameters.
+ """)
+ description?: string;
+
+ #suppress "@azure-tools/typespec-azure-core/no-unknown" "External API shape takes an arbitrary json"
+ @doc("The parameters the function accepts, described as a JSON Schema object.")
+ parameters?: unknown;
+}
+
+@discriminator("type")
+@doc("""
+An abstract representation of a tool call that must be resolved in a subsequent request to perform the requested
+chat completion.
+""")
+model ChatCompletionsToolCall {
+ @doc("The object type.")
+ type: string;
+
+ @doc("The ID of the tool call.")
+ id: string;
+}
+
+@doc("""
+A tool call to a function tool, issued by the model in evaluation of a configured function tool, that represents
+a function invocation needed for a subsequent chat completions request to resolve.
+""")
+model ChatCompletionsFunctionToolCall extends ChatCompletionsToolCall {
+ @doc("The type of tool call, in this case always 'function'.")
+ type: "function";
+
+ @doc("The details of the function invocation requested by the tool call.")
+ function: FunctionCall;
+}
+
+@doc("The name and arguments of a function that should be called, as generated by the model.")
+model FunctionCall {
+ @doc("The name of the function to call.")
+ name: string;
+
+ @doc("""
+ The arguments to call the function with, as generated by the model in JSON format.
+ Note that the model does not always generate valid JSON, and may hallucinate parameters
+ not defined by your function schema. Validate the arguments in your code before calling
+ your function.
+ """)
+ arguments: string;
}
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index ac1c0e30be71..6318da943bfd 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -9,43 +9,54 @@
"role": "ChatRequestMessage"
}
],
- "max_tokens": 25,
- "temperature": 19,
- "top_p": 5,
+ "frequency_penalty": -2,
+ "presence_penalty": -1,
+ "temperature": 0,
+ "top_p": 0,
+ "max_tokens": 0,
+ "response_format": {
+ "type": "ChatCompletionsResponseFormat"
+ },
"stop": [
- "rtavfjfyhnzl"
+ "zlkrxijvazqium"
],
- "presence_penalty": 15,
- "frequency_penalty": 19,
"stream": true,
- "seed": 19,
- "response_format": {
- "type": "ChatCompletionsResponseFormat"
- }
+ "tools": [
+ {
+ "type": "ChatCompletionsToolDefinition"
+ }
+ ],
+ "seed": 30
}
},
"responses": {
"200": {
"body": {
- "id": "sxmyscekvlsxqpsegdwnzyal",
+ "id": "vxckegxkfctjdqjitcawjna",
+ "object": "wepdkxpkuzhs",
"created": 30,
+ "model": "ekoksbbgcjzskssaxefhmkrmnpfopm",
"choices": [
{
+ "index": 30,
"message": {
"role": "system",
- "content": "mdhccqpdhwbiohjsm"
+ "content": "bfeykwwialisszlizvbiu",
+ "tool_calls": [
+ {
+ "type": "ChatCompletionsToolCall",
+ "id": "pxokpajzlccgcbaz"
+ }
+ ]
},
- "index": 6,
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 14,
- "prompt_tokens": 3,
- "total_tokens": 11
- },
- "object": "uuxdaqxswkk",
- "model": "zaacxtgyugjfid"
+ "completion_tokens": 19,
+ "prompt_tokens": 29,
+ "total_tokens": 29
+ }
}
}
}
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 74f26554c793..d126d5d3c435 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,21 +14,25 @@
"responses": {
"200": {
"body": {
- "id": "sxmyscekvlsxqpsegdwnzyal",
+ "id": "vxckegxkfctjdqjitcawjna",
+ "object": "wepdkxpkuzhs",
"created": 30,
+ "model": "ekoksbbgcjzskssaxefhmkrmnpfopm",
"choices": [
{
- "index": 6,
+ "index": 30,
+ "message": {
+ "role": "system",
+ "content": "bfeykwwialisszlizvbiu"
+ },
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 14,
- "prompt_tokens": 3,
- "total_tokens": 11
- },
- "object": "uuxdaqxswkk",
- "model": "zaacxtgyugjfid"
+ "completion_tokens": 19,
+ "prompt_tokens": 29,
+ "total_tokens": 29
+ }
}
}
}
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
index 2f883241fc11..786e0fd4ce70 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
@@ -135,15 +135,15 @@
"type": "object",
"description": "The representation of a single prompt completion as part of an overall chat completions request.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.",
"properties": {
- "message": {
- "$ref": "#/definitions/ChatResponseMessage",
- "description": "The chat message for a given chat completions prompt."
- },
"index": {
"type": "integer",
"format": "int32",
"description": "The ordered index associated with this chat completions choice."
},
+ "message": {
+ "$ref": "#/definitions/ChatResponseMessage",
+ "description": "The chat message for a given chat completions prompt."
+ },
"finish_reason": {
"$ref": "#/definitions/CompletionsFinishReason",
"description": "The reason that this chat completions choice completed its generated.",
@@ -153,6 +153,7 @@
},
"required": [
"index",
+ "message",
"finish_reason"
]
},
@@ -164,14 +165,23 @@
"type": "string",
"description": "A unique identifier associated with this chat completions response."
},
+ "object": {
+ "type": "string",
+ "description": "The response object type, which is always `chat.completion`."
+ },
"created": {
"type": "integer",
"format": "unixtime",
"description": "The first timestamp associated with generation activity for this completions response,\nrepresented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970."
},
+ "model": {
+ "type": "string",
+ "description": "The model used for the chat completion."
+ },
"choices": {
"type": "array",
"description": "The collection of completions choices associated with this completions response.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.",
+ "minItems": 1,
"items": {
"$ref": "#/definitions/ChatChoice"
},
@@ -180,25 +190,55 @@
"usage": {
"$ref": "#/definitions/CompletionsUsage",
"description": "Usage information for tokens processed and generated as part of this completions operation."
- },
- "object": {
- "type": "string",
- "description": "The response object type, which is always `chat.completion`."
- },
- "model": {
- "type": "string",
- "description": "The model used for the chat completion."
}
},
"required": [
"id",
+ "object",
"created",
+ "model",
"choices",
- "usage",
- "object",
- "model"
+ "usage"
]
},
+ "ChatCompletionsFunctionToolCall": {
+ "type": "object",
+ "description": "A tool call to a function tool, issued by the model in evaluation of a configured function tool, that represents\na function invocation needed for a subsequent chat completions request to resolve.",
+ "properties": {
+ "function": {
+ "$ref": "#/definitions/FunctionCall",
+ "description": "The details of the function invocation requested by the tool call."
+ }
+ },
+ "required": [
+ "function"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatCompletionsToolCall"
+ }
+ ],
+ "x-ms-discriminator-value": "function"
+ },
+ "ChatCompletionsFunctionToolDefinition": {
+ "type": "object",
+ "description": "The definition information for a chat completions function tool that can call a function in response to a tool call.",
+ "properties": {
+ "function": {
+ "$ref": "#/definitions/FunctionDefinition",
+ "description": "The function definition details for the function tool."
+ }
+ },
+ "required": [
+ "function"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatCompletionsToolDefinition"
+ }
+ ],
+ "x-ms-discriminator-value": "function"
+ },
"ChatCompletionsJsonResponseFormat": {
"type": "object",
"description": "A response format for Chat Completions that restricts responses to emitting valid JSON objects.",
@@ -209,6 +249,20 @@
],
"x-ms-discriminator-value": "json_object"
},
+ "ChatCompletionsNamedToolSelection": {
+ "type": "object",
+ "description": "An abstract representation of an explicit, named tool selection to use for a chat completions request.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The object type."
+ }
+ },
+ "discriminator": "type",
+ "required": [
+ "type"
+ ]
+ },
"ChatCompletionsOptions": {
"type": "object",
"description": "The configuration information for a chat completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.",
@@ -216,60 +270,89 @@
"messages": {
"type": "array",
"description": "The collection of context messages associated with this chat completions request.\nTypical usage begins with a chat message for the System role that provides instructions for\nthe behavior of the assistant, followed by alternating messages between the User and\nAssistant roles.",
+ "minItems": 1,
"items": {
"$ref": "#/definitions/ChatRequestMessage"
},
"x-ms-identifiers": []
},
- "max_tokens": {
- "type": "integer",
- "format": "int32",
- "description": "The maximum number of tokens to generate.",
- "x-ms-client-name": "maxTokens"
+ "frequency_penalty": {
+ "type": "number",
+ "format": "float",
+ "description": "A value that influences the probability of generated tokens appearing based on their cumulative\nfrequency in generated text.\nPositive values will make tokens less likely to appear as their frequency increases and\ndecrease the likelihood of the model repeating the same statements verbatim.",
+ "default": 0,
+ "minimum": -2,
+ "maximum": 2,
+ "x-ms-client-name": "frequencyPenalty"
+ },
+ "presence_penalty": {
+ "type": "number",
+ "format": "float",
+ "description": "A value that influences the probability of generated tokens appearing based on their existing\npresence in generated text.\nPositive values will make tokens less likely to appear when they already exist and increase the\nmodel's likelihood to output new topics.",
+ "default": 0,
+ "minimum": -2,
+ "maximum": 2,
+ "x-ms-client-name": "presencePenalty"
},
"temperature": {
"type": "number",
"format": "float",
- "description": "The sampling temperature to use that controls the apparent creativity of generated completions.\nHigher values will make output more random while lower values will make results more focused\nand deterministic.\nIt is not recommended to modify temperature and top_p for the same completions request as the\ninteraction of these two settings is difficult to predict."
+ "description": "The sampling temperature to use that controls the apparent creativity of generated completions.\nHigher values will make output more random while lower values will make results more focused\nand deterministic.\nIt is not recommended to modify temperature and top_p for the same completions request as the\ninteraction of these two settings is difficult to predict.",
+ "default": 0.7,
+ "minimum": 0,
+ "maximum": 1
},
"top_p": {
"type": "number",
"format": "float",
"description": "An alternative to sampling with temperature called nucleus sampling. This value causes the\nmodel to consider the results of tokens with the provided probability mass. As an example, a\nvalue of 0.15 will cause only the tokens comprising the top 15% of probability mass to be\nconsidered.\nIt is not recommended to modify temperature and top_p for the same completions request as the\ninteraction of these two settings is difficult to predict.",
+ "default": 1,
+ "minimum": 0,
+ "maximum": 1,
"x-ms-client-name": "topP"
},
+ "max_tokens": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of tokens to generate.",
+ "minimum": 0,
+ "x-ms-client-name": "maxTokens"
+ },
+ "response_format": {
+ "$ref": "#/definitions/ChatCompletionsResponseFormat",
+ "description": "An object specifying the format that the model must output. Used to enable JSON mode.",
+ "x-ms-client-name": "responseFormat"
+ },
"stop": {
"type": "array",
"description": "A collection of textual sequences that will end completions generation.",
+ "minItems": 1,
"items": {
"type": "string"
}
},
- "presence_penalty": {
- "type": "number",
- "format": "float",
- "description": "A value that influences the probability of generated tokens appearing based on their existing\npresence in generated text.\nPositive values will make tokens less likely to appear when they already exist and increase the\nmodel's likelihood to output new topics.",
- "x-ms-client-name": "presencePenalty"
- },
- "frequency_penalty": {
- "type": "number",
- "format": "float",
- "description": "A value that influences the probability of generated tokens appearing based on their cumulative\nfrequency in generated text.\nPositive values will make tokens less likely to appear as their frequency increases and\ndecrease the likelihood of the model repeating the same statements verbatim.",
- "x-ms-client-name": "frequencyPenalty"
- },
"stream": {
"type": "boolean",
- "description": "A value indicating whether chat completions should be streamed for this request."
+ "description": "A value indicating whether chat completions should be streamed for this request.",
+ "default": false
+ },
+ "tools": {
+ "type": "array",
+ "description": "The available tool definitions that the chat completions request can use, including caller-defined functions.",
+ "minItems": 1,
+ "items": {
+ "$ref": "#/definitions/ChatCompletionsToolDefinition"
+ },
+ "x-ms-identifiers": []
+ },
+ "tool_choice": {
+ "description": "If specified, the model will configure which of the provided tools it can use for the chat completions response.",
+ "x-ms-client-name": "toolChoice"
},
"seed": {
"type": "integer",
"format": "int64",
"description": "If specified, the system will make a best effort to sample deterministically such that repeated requests with the\nsame seed and parameters should return the same result. Determinism is not guaranteed, and you should refer to the\nsystem_fingerprint response parameter to monitor changes in the backend.\""
- },
- "response_format": {
- "$ref": "#/definitions/ChatCompletionsResponseFormat",
- "description": "An object specifying the format that the model must output. Used to enable JSON mode.",
- "x-ms-client-name": "responseFormat"
}
},
"required": [
@@ -300,6 +383,63 @@
],
"x-ms-discriminator-value": "text"
},
+ "ChatCompletionsToolCall": {
+ "type": "object",
+ "description": "An abstract representation of a tool call that must be resolved in a subsequent request to perform the requested\nchat completion.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The object type."
+ },
+ "id": {
+ "type": "string",
+ "description": "The ID of the tool call."
+ }
+ },
+ "discriminator": "type",
+ "required": [
+ "type",
+ "id"
+ ]
+ },
+ "ChatCompletionsToolDefinition": {
+ "type": "object",
+ "description": "An abstract representation of a tool that can be used by the model to improve a chat completions response.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The object type."
+ }
+ },
+ "discriminator": "type",
+ "required": [
+ "type"
+ ]
+ },
+ "ChatCompletionsToolSelectionPreset": {
+ "type": "string",
+ "description": "Represents a generic policy for how a chat completions tool may be selected.",
+ "enum": [
+ "auto",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "ChatCompletionsToolSelectionPreset",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "auto",
+ "value": "auto",
+ "description": "Specifies that the model may either use any of the tools provided in this chat completions request or\ninstead return a standard chat completions response as if no tools were provided."
+ },
+ {
+ "name": "none",
+ "value": "none",
+ "description": "Specifies that the model should not respond with a tool call and should instead provide a standard chat\ncompletions response. Response content may still be influenced by the provided tool definitions."
+ }
+ ]
+ }
+ },
"ChatRequestAssistantMessage": {
"type": "object",
"description": "A request chat message representing response or action from the assistant.",
@@ -361,6 +501,32 @@
],
"x-ms-discriminator-value": "system"
},
+ "ChatRequestToolMessage": {
+ "type": "object",
+ "description": "A request chat message representing requested output from a configured tool.",
+ "properties": {
+ "content": {
+ "type": "string",
+ "description": "The content of the message.",
+ "x-nullable": true
+ },
+ "tool_call_id": {
+ "type": "string",
+ "description": "The ID of the tool call resolved by the provided content.",
+ "x-ms-client-name": "toolCallId"
+ }
+ },
+ "required": [
+ "content",
+ "tool_call_id"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatRequestMessage"
+ }
+ ],
+ "x-ms-discriminator-value": "tool"
+ },
"ChatRequestUserMessage": {
"type": "object",
"description": "A request chat message representing user input to the assistant.",
@@ -396,6 +562,14 @@
"type": "string",
"description": "The content of the message.",
"x-nullable": true
+ },
+ "tool_calls": {
+ "type": "array",
+ "description": "The tool calls that must be resolved and have their outputs appended to subsequent input messages for the chat\ncompletions request to resolve as configured.",
+ "items": {
+ "$ref": "#/definitions/ChatCompletionsToolCall"
+ },
+ "x-ms-client-name": "toolCalls"
}
},
"required": [
@@ -498,6 +672,44 @@
"total_tokens"
]
},
+ "FunctionCall": {
+ "type": "object",
+ "description": "The name and arguments of a function that should be called, as generated by the model.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the function to call."
+ },
+ "arguments": {
+ "type": "string",
+ "description": "The arguments to call the function with, as generated by the model in JSON format.\nNote that the model does not always generate valid JSON, and may hallucinate parameters\nnot defined by your function schema. Validate the arguments in your code before calling\nyour function."
+ }
+ },
+ "required": [
+ "name",
+ "arguments"
+ ]
+ },
+ "FunctionDefinition": {
+ "type": "object",
+ "description": "The definition of a caller-specified function that chat completions may invoke in response to matching user input.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the function to be called."
+ },
+ "description": {
+ "type": "string",
+ "description": "A description of what the function does. The model will use this description when selecting the function and\ninterpreting its parameters."
+ },
+ "parameters": {
+ "description": "The parameters the function accepts, described as a JSON Schema object."
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
"Versions": {
"type": "string",
"description": "The ModelInference service versions.",
From a5b5fe9e6c1451c8f33cbcc52291204ed62e6a26 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Thu, 28 Mar 2024 16:32:25 -0700
Subject: [PATCH 027/343] More changes
---
.../2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json | 2 +-
.../2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json | 2 +-
specification/ai/ModelInference/models/chat_completions.tsp | 1 -
specification/ai/ModelInference/tspconfig.yaml | 2 +-
.../examples/GetChatCompletions_MaximumSet_Gen.json | 2 +-
.../examples/GetChatCompletions_MinimumSet_Gen.json | 2 +-
.../ModelInference/preview/2024-04-01-preview/openapi.json | 4 ++--
7 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index 6318da943bfd..efab36e44fea 100644
--- a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -1,5 +1,5 @@
{
- "title": "GetChatCompletions",
+ "title": "[Maximum Set] Creates a completion for the provided prompt, parameters and chosen model.",
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
diff --git a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index d126d5d3c435..7b4bfe8433a3 100644
--- a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -1,5 +1,5 @@
{
- "title": "GetChatCompletions",
+ "title": "[Minimum Set] Creates a completion for the provided prompt, parameters and chosen model.",
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
diff --git a/specification/ai/ModelInference/models/chat_completions.tsp b/specification/ai/ModelInference/models/chat_completions.tsp
index 00a9c6c1843f..1f289d29a25e 100644
--- a/specification/ai/ModelInference/models/chat_completions.tsp
+++ b/specification/ai/ModelInference/models/chat_completions.tsp
@@ -313,7 +313,6 @@ model ChatRequestToolMessage extends ChatRequestMessage {
toolCallId: string;
}
-
@doc("A representation of a chat message as received in a response.")
model ChatResponseMessage {
@doc("The chat role associated with the message.")
diff --git a/specification/ai/ModelInference/tspconfig.yaml b/specification/ai/ModelInference/tspconfig.yaml
index 94303e024610..8456fbe5d171 100644
--- a/specification/ai/ModelInference/tspconfig.yaml
+++ b/specification/ai/ModelInference/tspconfig.yaml
@@ -1,4 +1,4 @@
-parameters:
+parameters:
"service-dir":
default: "sdk/ai"
"dependencies":
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index 6318da943bfd..efab36e44fea 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -1,5 +1,5 @@
{
- "title": "GetChatCompletions",
+ "title": "[Maximum Set] Creates a completion for the provided prompt, parameters and chosen model.",
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index d126d5d3c435..7b4bfe8433a3 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -1,5 +1,5 @@
{
- "title": "GetChatCompletions",
+ "title": "[Minimum Set] Creates a completion for the provided prompt, parameters and chosen model.",
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
index 786e0fd4ce70..dc439a384896 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
@@ -59,10 +59,10 @@
}
},
"x-ms-examples": {
- "GetChatCompletions_MaximumSet_Gen": {
+ "[Maximum Set] Creates a completion for the provided prompt, parameters and chosen model.": {
"$ref": "./examples/GetChatCompletions_MaximumSet_Gen.json"
},
- "GetChatCompletions_MinimumSet_Gen": {
+ "[Minimum Set] Creates a completion for the provided prompt, parameters and chosen model.": {
"$ref": "./examples/GetChatCompletions_MinimumSet_Gen.json"
}
}
From 684e6429d40f2c8e934ae3616cf7bf1d4460d3b3 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Fri, 29 Mar 2024 15:22:42 -0700
Subject: [PATCH 028/343] Add embeddings. Use ModelClient folders
---
specification/ai/ModelClient/client.tsp | 5 +
.../GetChatCompletions_MaximumSet_Gen.json | 28 +-
.../GetChatCompletions_MinimumSet_Gen.json | 20 +-
.../GetEmbeddings_MaximumSet_Gen.json | 32 +++
.../GetEmbeddings_MinimumSet_Gen.json | 30 ++
.../{ModelInference => ModelClient}/main.tsp | 11 +-
.../models/chat_completions.tsp | 11 +-
.../ai/ModelClient/models/embeddings.tsp | 90 ++++++
.../routes.tsp} | 17 +-
.../tspconfig.yaml | 0
specification/ai/ModelInference/client.tsp | 16 --
.../GetChatCompletions_MaximumSet_Gen.json | 28 +-
.../GetChatCompletions_MinimumSet_Gen.json | 20 +-
.../GetEmbeddings_MaximumSet_Gen.json | 32 +++
.../GetEmbeddings_MinimumSet_Gen.json | 30 ++
.../preview/2024-04-01-preview/openapi.json | 263 ++++++++++++++++--
.../{ModelInference => ModelClient}/readme.md | 4 +-
17 files changed, 537 insertions(+), 100 deletions(-)
create mode 100644 specification/ai/ModelClient/client.tsp
rename specification/ai/{ModelInference => ModelClient}/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json (63%)
rename specification/ai/{data-plane/ModelInference/preview/2024-04-01-preview/examples => ModelClient/examples/2024-04-01-preview}/GetChatCompletions_MinimumSet_Gen.json (53%)
create mode 100644 specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
create mode 100644 specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
rename specification/ai/{ModelInference => ModelClient}/main.tsp (67%)
rename specification/ai/{ModelInference => ModelClient}/models/chat_completions.tsp (98%)
create mode 100644 specification/ai/ModelClient/models/embeddings.tsp
rename specification/ai/{ModelInference/routes/completions.tsp => ModelClient/routes.tsp} (63%)
rename specification/ai/{ModelInference => ModelClient}/tspconfig.yaml (100%)
delete mode 100644 specification/ai/ModelInference/client.tsp
rename specification/ai/data-plane/{ModelInference => ModelClient}/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json (63%)
rename specification/ai/{ModelInference/examples/2024-04-01-preview => data-plane/ModelClient/preview/2024-04-01-preview/examples}/GetChatCompletions_MinimumSet_Gen.json (53%)
create mode 100644 specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
create mode 100644 specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
rename specification/ai/data-plane/{ModelInference => ModelClient}/preview/2024-04-01-preview/openapi.json (76%)
rename specification/ai/data-plane/{ModelInference => ModelClient}/readme.md (94%)
diff --git a/specification/ai/ModelClient/client.tsp b/specification/ai/ModelClient/client.tsp
new file mode 100644
index 000000000000..9cfaeccaaa88
--- /dev/null
+++ b/specification/ai/ModelClient/client.tsp
@@ -0,0 +1,5 @@
+import "@azure-tools/typespec-client-generator-core";
+
+import "./main.tsp";
+
+using Azure.ClientGenerator.Core;
diff --git a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
similarity index 63%
rename from specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
rename to specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index efab36e44fea..a1c6e588c875 100644
--- a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -1,5 +1,5 @@
{
- "title": "[Maximum Set] Creates a completion for the provided prompt, parameters and chosen model.",
+ "title": "maximum set chat completion",
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
@@ -10,7 +10,7 @@
}
],
"frequency_penalty": -2,
- "presence_penalty": -1,
+ "presence_penalty": -2,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
@@ -18,7 +18,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "zlkrxijvazqium"
+ "auwxmqcyvviefoitlskgzdnl"
],
"stream": true,
"tools": [
@@ -26,26 +26,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 30
+ "seed": 10
}
},
"responses": {
"200": {
"body": {
- "id": "vxckegxkfctjdqjitcawjna",
- "object": "wepdkxpkuzhs",
- "created": 30,
- "model": "ekoksbbgcjzskssaxefhmkrmnpfopm",
+ "id": "wrelxhuatyzejdocdoduxhxifgbkp",
+ "object": "revmvdu",
+ "created": 4,
+ "model": "ajd",
"choices": [
{
- "index": 30,
+ "index": 29,
"message": {
"role": "system",
- "content": "bfeykwwialisszlizvbiu",
+ "content": "wskquccyzztkt",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "pxokpajzlccgcbaz"
+ "id": "xvzwwn"
}
]
},
@@ -53,9 +53,9 @@
}
],
"usage": {
- "completion_tokens": 19,
- "prompt_tokens": 29,
- "total_tokens": 29
+ "completion_tokens": 20,
+ "prompt_tokens": 17,
+ "total_tokens": 5
}
}
}
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
similarity index 53%
rename from specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
rename to specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 7b4bfe8433a3..3ca487517bb4 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -1,5 +1,5 @@
{
- "title": "[Minimum Set] Creates a completion for the provided prompt, parameters and chosen model.",
+ "title": "minimum set chat completion",
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
@@ -14,24 +14,24 @@
"responses": {
"200": {
"body": {
- "id": "vxckegxkfctjdqjitcawjna",
- "object": "wepdkxpkuzhs",
- "created": 30,
- "model": "ekoksbbgcjzskssaxefhmkrmnpfopm",
+ "id": "wrelxhuatyzejdocdoduxhxifgbkp",
+ "object": "revmvdu",
+ "created": 4,
+ "model": "ajd",
"choices": [
{
- "index": 30,
+ "index": 29,
"message": {
"role": "system",
- "content": "bfeykwwialisszlizvbiu"
+ "content": "wskquccyzztkt"
},
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 19,
- "prompt_tokens": 29,
- "total_tokens": 29
+ "completion_tokens": 20,
+ "prompt_tokens": 17,
+ "total_tokens": 5
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
new file mode 100644
index 000000000000..e95fb5221525
--- /dev/null
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -0,0 +1,32 @@
+{
+ "title": "maximum set embeddings",
+ "operationId": "GetEmbeddings",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "embeddingOptions": {
+ "input": [
+ "wdazexgkffqeyzkhnpsjssbuwdf"
+ ],
+ "encoding_format": "float",
+ "input_type": "text"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "data": [
+ {
+ "embedding": [
+ 21
+ ],
+ "index": 1
+ }
+ ],
+ "usage": {
+ "prompt_tokens": 22,
+ "total_tokens": 6
+ }
+ }
+ }
+ }
+}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
new file mode 100644
index 000000000000..42c04ebdc6e5
--- /dev/null
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -0,0 +1,30 @@
+{
+ "title": "minimum set embeddings",
+ "operationId": "GetEmbeddings",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "embeddingOptions": {
+ "input": [
+ "wdazexgkffqeyzkhnpsjssbuwdf"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "data": [
+ {
+ "embedding": [
+ 21
+ ],
+ "index": 1
+ }
+ ],
+ "usage": {
+ "prompt_tokens": 22,
+ "total_tokens": 6
+ }
+ }
+ }
+ }
+}
diff --git a/specification/ai/ModelInference/main.tsp b/specification/ai/ModelClient/main.tsp
similarity index 67%
rename from specification/ai/ModelInference/main.tsp
rename to specification/ai/ModelClient/main.tsp
index fa0307e2a8e1..cec7bc48489f 100644
--- a/specification/ai/ModelInference/main.tsp
+++ b/specification/ai/ModelClient/main.tsp
@@ -1,8 +1,7 @@
import "@typespec/rest";
import "@typespec/versioning";
import "@azure-tools/typespec-azure-core";
-
-import "./routes/completions.tsp";
+import "./routes.tsp";
using TypeSpec.Http;
using TypeSpec.Rest;
@@ -14,12 +13,12 @@ using Azure.Core;
@service({
title: "AI Model Inference",
})
-@versioned(ModelInference.Versions)
-namespace ModelInference;
+@versioned(ModelClient.Versions)
+namespace ModelClient;
-@doc("The ModelInference service versions.")
+@doc("The ModelClient service versions.")
enum Versions {
@useDependency(Azure.Core.Versions.v1_0_Preview_2)
- @doc("The 2024-04-01-preview version of the ModelInference service.")
+ @doc("The 2024-04-01-preview version of the ModelClient service.")
v2024_04_01_Preview: "2024-04-01-preview",
}
diff --git a/specification/ai/ModelInference/models/chat_completions.tsp b/specification/ai/ModelClient/models/chat_completions.tsp
similarity index 98%
rename from specification/ai/ModelInference/models/chat_completions.tsp
rename to specification/ai/ModelClient/models/chat_completions.tsp
index 1f289d29a25e..fd773f5ca6a1 100644
--- a/specification/ai/ModelInference/models/chat_completions.tsp
+++ b/specification/ai/ModelClient/models/chat_completions.tsp
@@ -6,7 +6,7 @@ using TypeSpec.Rest;
using TypeSpec.Http;
using TypeSpec.Versioning;
-namespace ModelInference;
+namespace ModelClient;
@doc("""
The configuration information for a chat completions request.
@@ -269,9 +269,6 @@ model ChatRequestSystemMessage extends ChatRequestMessage {
@doc("The contents of the system message.")
content: string;
-
- @doc("An optional name for the participant.")
- name?: string;
}
@doc("A request chat message representing user input to the assistant.")
@@ -281,9 +278,6 @@ model ChatRequestUserMessage extends ChatRequestMessage {
@doc("The contents of the user message, with available input types varying by selected model.")
content: string;
-
- @doc("An optional name for the participant.")
- name?: string;
}
@doc("A request chat message representing response or action from the assistant.")
@@ -294,9 +288,6 @@ model ChatRequestAssistantMessage extends ChatRequestMessage {
#suppress "@azure-tools/typespec-azure-core/no-nullable" "explicitly nullable in mirrored API"
@doc("The content of the message.")
content: string | null;
-
- @doc("An optional name for the participant.")
- name?: string;
}
@doc("A request chat message representing requested output from a configured tool.")
diff --git a/specification/ai/ModelClient/models/embeddings.tsp b/specification/ai/ModelClient/models/embeddings.tsp
new file mode 100644
index 000000000000..3392435ca286
--- /dev/null
+++ b/specification/ai/ModelClient/models/embeddings.tsp
@@ -0,0 +1,90 @@
+import "@typespec/rest";
+import "@typespec/http";
+import "@typespec/versioning";
+
+using TypeSpec.Rest;
+using TypeSpec.Http;
+using TypeSpec.Versioning;
+
+namespace ModelClient;
+
+@doc("""
+The configuration information for an embeddings request.
+Embeddings measure the relatedness of text strings and are commonly used for search, clustering,
+recommendations, and other similar scenarios.
+""")
+model EmbeddingsOptions {
+ @doc("""
+ Input texts to get embeddings for, encoded as a an array of strings.
+ Each input must not exceed 2048 tokens in length.
+
+ Unless you are embedding code, we suggest replacing newlines (\\n) in your input with a single space,
+ as we have observed inferior results when newlines are present.
+ """)
+ input: string[];
+
+ @encodedName("application/json", "encoding_format")
+ @doc("The response encoding format to use for embedding data.")
+ encodingFormat?: EmbeddingEncodingFormat = EmbeddingEncodingFormat.float;
+
+ @doc("Specifies the input type to use for embedding search.")
+ @encodedName("application/json", "input_type")
+ inputType?: EmbeddingInputType = EmbeddingInputType.text;
+}
+
+@doc("""
+Representation of the response data from an embeddings request.
+Embeddings measure the relatedness of text strings and are commonly used for search, clustering,
+recommendations, and other similar scenarios.
+""")
+model Embeddings {
+ @doc("Embedding values for the prompts submitted in the request.")
+ data: EmbeddingItem[];
+
+ @doc("Usage counts for tokens input using the embeddings API.")
+ usage: EmbeddingsUsage;
+}
+
+@doc("Represents the available formats for embeddings data on responses.")
+enum EmbeddingEncodingFormat {
+ @doc("Specifies that responses should provide arrays of floats for each embedding.")
+ float: "float",
+
+ @doc("Specifies that responses should provide a base64-encoded string for each embedding.")
+ base64: "base64",
+}
+
+@doc("Represents the input types used for embedding search.")
+enum EmbeddingInputType {
+ @doc("fill me.")
+ text: "text",
+
+ @doc("fill me.")
+ query: "query",
+
+ @doc("fill me.")
+ document: "document",
+}
+
+@doc("Representation of a single embeddings relatedness comparison.")
+model EmbeddingItem {
+ @doc("""
+ List of embeddings value for the input prompt. These represent a measurement of the
+ vector-based relatedness of the provided input.
+ """)
+ embedding: float32[];
+
+ @doc("Index of the prompt to which the EmbeddingItem corresponds.")
+ index: int32;
+}
+
+@doc("Measurement of the amount of tokens used in this request and response.")
+model EmbeddingsUsage {
+ @doc("Number of tokens sent in the original request.")
+ @encodedName("application/json", "prompt_tokens")
+ promptTokens: int32;
+
+ @doc("Total number of tokens transacted in this request/response.")
+ @encodedName("application/json", "total_tokens")
+ totalTokens: int32;
+}
diff --git a/specification/ai/ModelInference/routes/completions.tsp b/specification/ai/ModelClient/routes.tsp
similarity index 63%
rename from specification/ai/ModelInference/routes/completions.tsp
rename to specification/ai/ModelClient/routes.tsp
index 576d72dcb976..af43bfdf70a9 100644
--- a/specification/ai/ModelInference/routes/completions.tsp
+++ b/specification/ai/ModelClient/routes.tsp
@@ -3,7 +3,8 @@ import "@typespec/rest";
import "@typespec/http";
import "@typespec/versioning";
-import "../models/chat_completions.tsp";
+import "./models/chat_completions.tsp";
+import "./models/embeddings.tsp";
using TypeSpec.Rest;
using TypeSpec.Http;
@@ -11,7 +12,7 @@ using TypeSpec.Versioning;
using Azure.Core;
-namespace ModelInference;
+namespace ModelClient;
@doc("""
Gets chat completions for the provided chat messages.
@@ -28,3 +29,15 @@ op getChatCompletions is Azure.Core.RpcOperation<
},
ChatCompletions
>;
+
+@doc("Return the embeddings for a given prompt.")
+@actionSeparator("/")
+@route("v1/embeddings")
+op getEmbeddings is Azure.Core.RpcOperation<
+ {
+ @doc("The JSON payload containing embedding options.")
+ @body
+ embeddingOptions: EmbeddingsOptions;
+ },
+ Embeddings
+>;
diff --git a/specification/ai/ModelInference/tspconfig.yaml b/specification/ai/ModelClient/tspconfig.yaml
similarity index 100%
rename from specification/ai/ModelInference/tspconfig.yaml
rename to specification/ai/ModelClient/tspconfig.yaml
diff --git a/specification/ai/ModelInference/client.tsp b/specification/ai/ModelInference/client.tsp
deleted file mode 100644
index 74044c108993..000000000000
--- a/specification/ai/ModelInference/client.tsp
+++ /dev/null
@@ -1,16 +0,0 @@
-import "@azure-tools/typespec-client-generator-core";
-
-import "./main.tsp";
-
-using Azure.ClientGenerator.Core;
-
-@TypeSpec.Versioning.useDependency(ModelInference.Versions.v2024_04_01_Preview)
-namespace Client;
-
-@client({
- name: "ModelClient",
- service: ModelInference,
-})
-interface ModelClient {
- getChatCompletions is ModelInference.getChatCompletions;
-}
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
similarity index 63%
rename from specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
rename to specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index efab36e44fea..a1c6e588c875 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -1,5 +1,5 @@
{
- "title": "[Maximum Set] Creates a completion for the provided prompt, parameters and chosen model.",
+ "title": "maximum set chat completion",
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
@@ -10,7 +10,7 @@
}
],
"frequency_penalty": -2,
- "presence_penalty": -1,
+ "presence_penalty": -2,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
@@ -18,7 +18,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "zlkrxijvazqium"
+ "auwxmqcyvviefoitlskgzdnl"
],
"stream": true,
"tools": [
@@ -26,26 +26,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 30
+ "seed": 10
}
},
"responses": {
"200": {
"body": {
- "id": "vxckegxkfctjdqjitcawjna",
- "object": "wepdkxpkuzhs",
- "created": 30,
- "model": "ekoksbbgcjzskssaxefhmkrmnpfopm",
+ "id": "wrelxhuatyzejdocdoduxhxifgbkp",
+ "object": "revmvdu",
+ "created": 4,
+ "model": "ajd",
"choices": [
{
- "index": 30,
+ "index": 29,
"message": {
"role": "system",
- "content": "bfeykwwialisszlizvbiu",
+ "content": "wskquccyzztkt",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "pxokpajzlccgcbaz"
+ "id": "xvzwwn"
}
]
},
@@ -53,9 +53,9 @@
}
],
"usage": {
- "completion_tokens": 19,
- "prompt_tokens": 29,
- "total_tokens": 29
+ "completion_tokens": 20,
+ "prompt_tokens": 17,
+ "total_tokens": 5
}
}
}
diff --git a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
similarity index 53%
rename from specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
rename to specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 7b4bfe8433a3..3ca487517bb4 100644
--- a/specification/ai/ModelInference/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -1,5 +1,5 @@
{
- "title": "[Minimum Set] Creates a completion for the provided prompt, parameters and chosen model.",
+ "title": "minimum set chat completion",
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
@@ -14,24 +14,24 @@
"responses": {
"200": {
"body": {
- "id": "vxckegxkfctjdqjitcawjna",
- "object": "wepdkxpkuzhs",
- "created": 30,
- "model": "ekoksbbgcjzskssaxefhmkrmnpfopm",
+ "id": "wrelxhuatyzejdocdoduxhxifgbkp",
+ "object": "revmvdu",
+ "created": 4,
+ "model": "ajd",
"choices": [
{
- "index": 30,
+ "index": 29,
"message": {
"role": "system",
- "content": "bfeykwwialisszlizvbiu"
+ "content": "wskquccyzztkt"
},
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 19,
- "prompt_tokens": 29,
- "total_tokens": 29
+ "completion_tokens": 20,
+ "prompt_tokens": 17,
+ "total_tokens": 5
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
new file mode 100644
index 000000000000..e95fb5221525
--- /dev/null
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -0,0 +1,32 @@
+{
+ "title": "maximum set embeddings",
+ "operationId": "GetEmbeddings",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "embeddingOptions": {
+ "input": [
+ "wdazexgkffqeyzkhnpsjssbuwdf"
+ ],
+ "encoding_format": "float",
+ "input_type": "text"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "data": [
+ {
+ "embedding": [
+ 21
+ ],
+ "index": 1
+ }
+ ],
+ "usage": {
+ "prompt_tokens": 22,
+ "total_tokens": 6
+ }
+ }
+ }
+ }
+}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
new file mode 100644
index 000000000000..42c04ebdc6e5
--- /dev/null
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -0,0 +1,30 @@
+{
+ "title": "minimum set embeddings",
+ "operationId": "GetEmbeddings",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "embeddingOptions": {
+ "input": [
+ "wdazexgkffqeyzkhnpsjssbuwdf"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "data": [
+ {
+ "embedding": [
+ 21
+ ],
+ "index": 1
+ }
+ ],
+ "usage": {
+ "prompt_tokens": 22,
+ "total_tokens": 6
+ }
+ }
+ }
+ }
+}
diff --git a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
similarity index 76%
rename from specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
rename to specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index dc439a384896..fb15ce205344 100644
--- a/specification/ai/data-plane/ModelInference/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -59,14 +59,62 @@
}
},
"x-ms-examples": {
- "[Maximum Set] Creates a completion for the provided prompt, parameters and chosen model.": {
+ "maximum set chat completion": {
"$ref": "./examples/GetChatCompletions_MaximumSet_Gen.json"
},
- "[Minimum Set] Creates a completion for the provided prompt, parameters and chosen model.": {
+ "minimum set chat completion": {
"$ref": "./examples/GetChatCompletions_MinimumSet_Gen.json"
}
}
}
+ },
+ "/v1/embeddings": {
+ "post": {
+ "operationId": "GetEmbeddings",
+ "description": "Return the embeddings for a given prompt.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
+ },
+ {
+ "name": "embeddingOptions",
+ "in": "body",
+ "description": "The JSON payload containing embedding options.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EmbeddingsOptions"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Embeddings"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "type": "string",
+ "description": "String error code indicating what went wrong."
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "maximum set embeddings": {
+ "$ref": "./examples/GetEmbeddings_MaximumSet_Gen.json"
+ },
+ "minimum set embeddings": {
+ "$ref": "./examples/GetEmbeddings_MinimumSet_Gen.json"
+ }
+ }
+ }
}
},
"definitions": {
@@ -448,10 +496,6 @@
"type": "string",
"description": "The content of the message.",
"x-nullable": true
- },
- "name": {
- "type": "string",
- "description": "An optional name for the participant."
}
},
"required": [
@@ -485,10 +529,6 @@
"content": {
"type": "string",
"description": "The contents of the system message."
- },
- "name": {
- "type": "string",
- "description": "An optional name for the participant."
}
},
"required": [
@@ -534,10 +574,6 @@
"content": {
"type": "string",
"description": "The contents of the user message, with available input types varying by selected model."
- },
- "name": {
- "type": "string",
- "description": "An optional name for the participant."
}
},
"required": [
@@ -672,6 +708,201 @@
"total_tokens"
]
},
+ "EmbeddingEncodingFormat": {
+ "type": "string",
+ "description": "Represents the available formats for embeddings data on responses.",
+ "enum": [
+ "float",
+ "base64"
+ ],
+ "x-ms-enum": {
+ "name": "EmbeddingEncodingFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "float",
+ "value": "float",
+ "description": "Specifies that responses should provide arrays of floats for each embedding."
+ },
+ {
+ "name": "base64",
+ "value": "base64",
+ "description": "Specifies that responses should provide a base64-encoded string for each embedding."
+ }
+ ]
+ }
+ },
+ "EmbeddingInputType": {
+ "type": "string",
+ "description": "Represents the input types used for embedding search.",
+ "enum": [
+ "text",
+ "query",
+ "document"
+ ],
+ "x-ms-enum": {
+ "name": "EmbeddingInputType",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "text",
+ "value": "text",
+ "description": "fill me."
+ },
+ {
+ "name": "query",
+ "value": "query",
+ "description": "fill me."
+ },
+ {
+ "name": "document",
+ "value": "document",
+ "description": "fill me."
+ }
+ ]
+ }
+ },
+ "EmbeddingItem": {
+ "type": "object",
+ "description": "Representation of a single embeddings relatedness comparison.",
+ "properties": {
+ "embedding": {
+ "type": "array",
+ "description": "List of embeddings value for the input prompt. These represent a measurement of the\nvector-based relatedness of the provided input.",
+ "items": {
+ "type": "number",
+ "format": "float"
+ }
+ },
+ "index": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Index of the prompt to which the EmbeddingItem corresponds."
+ }
+ },
+ "required": [
+ "embedding",
+ "index"
+ ]
+ },
+ "Embeddings": {
+ "type": "object",
+ "description": "Representation of the response data from an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.",
+ "properties": {
+ "data": {
+ "type": "array",
+ "description": "Embedding values for the prompts submitted in the request.",
+ "items": {
+ "$ref": "#/definitions/EmbeddingItem"
+ },
+ "x-ms-identifiers": []
+ },
+ "usage": {
+ "$ref": "#/definitions/EmbeddingsUsage",
+ "description": "Usage counts for tokens input using the embeddings API."
+ }
+ },
+ "required": [
+ "data",
+ "usage"
+ ]
+ },
+ "EmbeddingsOptions": {
+ "type": "object",
+ "description": "The configuration information for an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.",
+ "properties": {
+ "input": {
+ "type": "array",
+ "description": "Input texts to get embeddings for, encoded as a an array of strings.\nEach input must not exceed 2048 tokens in length.\n\nUnless you are embedding code, we suggest replacing newlines (\\n) in your input with a single space,\nas we have observed inferior results when newlines are present.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "encoding_format": {
+ "type": "string",
+ "description": "The response encoding format to use for embedding data.",
+ "default": "float",
+ "enum": [
+ "float",
+ "base64"
+ ],
+ "x-ms-enum": {
+ "name": "EmbeddingEncodingFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "float",
+ "value": "float",
+ "description": "Specifies that responses should provide arrays of floats for each embedding."
+ },
+ {
+ "name": "base64",
+ "value": "base64",
+ "description": "Specifies that responses should provide a base64-encoded string for each embedding."
+ }
+ ]
+ },
+ "x-ms-client-name": "encodingFormat"
+ },
+ "input_type": {
+ "type": "string",
+ "description": "Specifies the input type to use for embedding search.",
+ "default": "text",
+ "enum": [
+ "text",
+ "query",
+ "document"
+ ],
+ "x-ms-enum": {
+ "name": "EmbeddingInputType",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "text",
+ "value": "text",
+ "description": "fill me."
+ },
+ {
+ "name": "query",
+ "value": "query",
+ "description": "fill me."
+ },
+ {
+ "name": "document",
+ "value": "document",
+ "description": "fill me."
+ }
+ ]
+ },
+ "x-ms-client-name": "inputType"
+ }
+ },
+ "required": [
+ "input"
+ ]
+ },
+ "EmbeddingsUsage": {
+ "type": "object",
+ "description": "Measurement of the amount of tokens used in this request and response.",
+ "properties": {
+ "prompt_tokens": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of tokens sent in the original request.",
+ "x-ms-client-name": "promptTokens"
+ },
+ "total_tokens": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total number of tokens transacted in this request/response.",
+ "x-ms-client-name": "totalTokens"
+ }
+ },
+ "required": [
+ "prompt_tokens",
+ "total_tokens"
+ ]
+ },
"FunctionCall": {
"type": "object",
"description": "The name and arguments of a function that should be called, as generated by the model.",
@@ -712,7 +943,7 @@
},
"Versions": {
"type": "string",
- "description": "The ModelInference service versions.",
+ "description": "The ModelClient service versions.",
"enum": [
"2024-04-01-preview"
],
@@ -723,7 +954,7 @@
{
"name": "v2024_04_01_Preview",
"value": "2024-04-01-preview",
- "description": "The 2024-04-01-preview version of the ModelInference service."
+ "description": "The 2024-04-01-preview version of the ModelClient service."
}
]
}
diff --git a/specification/ai/data-plane/ModelInference/readme.md b/specification/ai/data-plane/ModelClient/readme.md
similarity index 94%
rename from specification/ai/data-plane/ModelInference/readme.md
rename to specification/ai/data-plane/ModelClient/readme.md
index 5d8e93f6b1ea..8b0733d3bf71 100644
--- a/specification/ai/data-plane/ModelInference/readme.md
+++ b/specification/ai/data-plane/ModelClient/readme.md
@@ -1,8 +1,8 @@
-# Azure AI Model Inference
+# Azure AI Model Client
> see https://aka.ms/autorest
-This is the AutoRest configuration file for Azure AI Model Inference.
+This is the AutoRest configuration file for Azure AI Model Client.
## Getting Started
From 7f2f7cc612c8b5950b600e14a37e99db491ce15d Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Fri, 29 Mar 2024 17:54:58 -0700
Subject: [PATCH 029/343] Update embeddings
---
.../GetChatCompletions_MaximumSet_Gen.json | 26 ++--
.../GetChatCompletions_MinimumSet_Gen.json | 18 +--
.../GetEmbeddings_MaximumSet_Gen.json | 19 ++-
.../GetEmbeddings_MinimumSet_Gen.json | 18 ++-
.../ai/ModelClient/models/embeddings.tsp | 37 ++---
specification/ai/ModelClient/routes.tsp | 4 +-
.../GetChatCompletions_MaximumSet_Gen.json | 26 ++--
.../GetChatCompletions_MinimumSet_Gen.json | 18 +--
.../GetEmbeddings_MaximumSet_Gen.json | 19 ++-
.../GetEmbeddings_MinimumSet_Gen.json | 18 ++-
.../preview/2024-04-01-preview/openapi.json | 142 +++++++-----------
11 files changed, 161 insertions(+), 184 deletions(-)
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index a1c6e588c875..275147dc8c02 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -10,7 +10,7 @@
}
],
"frequency_penalty": -2,
- "presence_penalty": -2,
+ "presence_penalty": 1,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
@@ -18,7 +18,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "auwxmqcyvviefoitlskgzdnl"
+ "ejcoecwrdd"
],
"stream": true,
"tools": [
@@ -26,26 +26,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 10
+ "seed": 27
}
},
"responses": {
"200": {
"body": {
- "id": "wrelxhuatyzejdocdoduxhxifgbkp",
- "object": "revmvdu",
- "created": 4,
- "model": "ajd",
+ "id": "fcfgwlzaojobobqpwtasrxyawcu",
+ "object": "ifryfrkdwwlmysdbog",
+ "created": 2,
+ "model": "xutlvnjqgpqhhdxxroqvyqdfilxcqu",
"choices": [
{
- "index": 29,
+ "index": 11,
"message": {
"role": "system",
- "content": "wskquccyzztkt",
+ "content": "zpyae",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "xvzwwn"
+ "id": "hmfzwkufaksourcpbbnxah"
}
]
},
@@ -53,9 +53,9 @@
}
],
"usage": {
- "completion_tokens": 20,
- "prompt_tokens": 17,
- "total_tokens": 5
+ "completion_tokens": 26,
+ "prompt_tokens": 7,
+ "total_tokens": 11
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 3ca487517bb4..ba01645f4c01 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,24 +14,24 @@
"responses": {
"200": {
"body": {
- "id": "wrelxhuatyzejdocdoduxhxifgbkp",
- "object": "revmvdu",
- "created": 4,
- "model": "ajd",
+ "id": "fcfgwlzaojobobqpwtasrxyawcu",
+ "object": "ifryfrkdwwlmysdbog",
+ "created": 2,
+ "model": "xutlvnjqgpqhhdxxroqvyqdfilxcqu",
"choices": [
{
- "index": 29,
+ "index": 11,
"message": {
"role": "system",
- "content": "wskquccyzztkt"
+ "content": "zpyae"
},
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 20,
- "prompt_tokens": 17,
- "total_tokens": 5
+ "completion_tokens": 26,
+ "prompt_tokens": 7,
+ "total_tokens": 11
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index e95fb5221525..62ed61a3ee4c 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -3,29 +3,32 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "embeddingOptions": {
+ "embeddingsOptions": {
"input": [
- "wdazexgkffqeyzkhnpsjssbuwdf"
+ "prhoocdgrtnqsqdipt"
],
- "encoding_format": "float",
"input_type": "text"
}
},
"responses": {
"200": {
"body": {
+ "id": "bghgrsnxwdfyeaerb",
"data": [
{
"embedding": [
- 21
+ 10
],
- "index": 1
+ "index": 18,
+ "object": "nxpemodezjrugmzpxtbflkfyjkstl"
}
],
"usage": {
- "prompt_tokens": 22,
- "total_tokens": 6
- }
+ "prompt_tokens": 25,
+ "total_tokens": 5
+ },
+ "object": "pvjtpdgpbzbwlberghnwrnaakcwop",
+ "model": "xkxapmuebtvkutuxklghh"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index 42c04ebdc6e5..52ce31aac84c 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -3,27 +3,31 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "embeddingOptions": {
+ "embeddingsOptions": {
"input": [
- "wdazexgkffqeyzkhnpsjssbuwdf"
+ "prhoocdgrtnqsqdipt"
]
}
},
"responses": {
"200": {
"body": {
+ "id": "bghgrsnxwdfyeaerb",
"data": [
{
"embedding": [
- 21
+ 10
],
- "index": 1
+ "index": 18,
+ "object": "nxpemodezjrugmzpxtbflkfyjkstl"
}
],
"usage": {
- "prompt_tokens": 22,
- "total_tokens": 6
- }
+ "prompt_tokens": 25,
+ "total_tokens": 5
+ },
+ "object": "pvjtpdgpbzbwlberghnwrnaakcwop",
+ "model": "xkxapmuebtvkutuxklghh"
}
}
}
diff --git a/specification/ai/ModelClient/models/embeddings.tsp b/specification/ai/ModelClient/models/embeddings.tsp
index 3392435ca286..fcc4ad08aeb5 100644
--- a/specification/ai/ModelClient/models/embeddings.tsp
+++ b/specification/ai/ModelClient/models/embeddings.tsp
@@ -14,19 +14,9 @@ Embeddings measure the relatedness of text strings and are commonly used for sea
recommendations, and other similar scenarios.
""")
model EmbeddingsOptions {
- @doc("""
- Input texts to get embeddings for, encoded as a an array of strings.
- Each input must not exceed 2048 tokens in length.
-
- Unless you are embedding code, we suggest replacing newlines (\\n) in your input with a single space,
- as we have observed inferior results when newlines are present.
- """)
+ @doc("Input texts to get embeddings for, encoded as a an array of strings.")
input: string[];
- @encodedName("application/json", "encoding_format")
- @doc("The response encoding format to use for embedding data.")
- encodingFormat?: EmbeddingEncodingFormat = EmbeddingEncodingFormat.float;
-
@doc("Specifies the input type to use for embedding search.")
@encodedName("application/json", "input_type")
inputType?: EmbeddingInputType = EmbeddingInputType.text;
@@ -37,32 +27,32 @@ Representation of the response data from an embeddings request.
Embeddings measure the relatedness of text strings and are commonly used for search, clustering,
recommendations, and other similar scenarios.
""")
-model Embeddings {
+model EmbeddingsResult {
+ @doc("Unique identifier for the embeddings result.")
+ id: string;
+
@doc("Embedding values for the prompts submitted in the request.")
data: EmbeddingItem[];
@doc("Usage counts for tokens input using the embeddings API.")
usage: EmbeddingsUsage;
-}
-@doc("Represents the available formats for embeddings data on responses.")
-enum EmbeddingEncodingFormat {
- @doc("Specifies that responses should provide arrays of floats for each embedding.")
- float: "float",
+ @doc("The object type of the embeddings result. Will always be `list`.")
+ object: string;
- @doc("Specifies that responses should provide a base64-encoded string for each embedding.")
- base64: "base64",
+ @doc("The model ID used to generate this result.")
+ `model`: string;
}
@doc("Represents the input types used for embedding search.")
enum EmbeddingInputType {
- @doc("fill me.")
+ @doc("to do")
text: "text",
- @doc("fill me.")
+ @doc("to do")
query: "query",
- @doc("fill me.")
+ @doc("to do")
document: "document",
}
@@ -76,6 +66,9 @@ model EmbeddingItem {
@doc("Index of the prompt to which the EmbeddingItem corresponds.")
index: int32;
+
+ @doc("The object type of this embeddings item. Will always be `embedding`.")
+ object: string
}
@doc("Measurement of the amount of tokens used in this request and response.")
diff --git a/specification/ai/ModelClient/routes.tsp b/specification/ai/ModelClient/routes.tsp
index af43bfdf70a9..5d4ddf8bfc79 100644
--- a/specification/ai/ModelClient/routes.tsp
+++ b/specification/ai/ModelClient/routes.tsp
@@ -37,7 +37,7 @@ op getEmbeddings is Azure.Core.RpcOperation<
{
@doc("The JSON payload containing embedding options.")
@body
- embeddingOptions: EmbeddingsOptions;
+ embeddingsOptions: EmbeddingsOptions;
},
- Embeddings
+ EmbeddingsResult
>;
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index a1c6e588c875..275147dc8c02 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -10,7 +10,7 @@
}
],
"frequency_penalty": -2,
- "presence_penalty": -2,
+ "presence_penalty": 1,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
@@ -18,7 +18,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "auwxmqcyvviefoitlskgzdnl"
+ "ejcoecwrdd"
],
"stream": true,
"tools": [
@@ -26,26 +26,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 10
+ "seed": 27
}
},
"responses": {
"200": {
"body": {
- "id": "wrelxhuatyzejdocdoduxhxifgbkp",
- "object": "revmvdu",
- "created": 4,
- "model": "ajd",
+ "id": "fcfgwlzaojobobqpwtasrxyawcu",
+ "object": "ifryfrkdwwlmysdbog",
+ "created": 2,
+ "model": "xutlvnjqgpqhhdxxroqvyqdfilxcqu",
"choices": [
{
- "index": 29,
+ "index": 11,
"message": {
"role": "system",
- "content": "wskquccyzztkt",
+ "content": "zpyae",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "xvzwwn"
+ "id": "hmfzwkufaksourcpbbnxah"
}
]
},
@@ -53,9 +53,9 @@
}
],
"usage": {
- "completion_tokens": 20,
- "prompt_tokens": 17,
- "total_tokens": 5
+ "completion_tokens": 26,
+ "prompt_tokens": 7,
+ "total_tokens": 11
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 3ca487517bb4..ba01645f4c01 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,24 +14,24 @@
"responses": {
"200": {
"body": {
- "id": "wrelxhuatyzejdocdoduxhxifgbkp",
- "object": "revmvdu",
- "created": 4,
- "model": "ajd",
+ "id": "fcfgwlzaojobobqpwtasrxyawcu",
+ "object": "ifryfrkdwwlmysdbog",
+ "created": 2,
+ "model": "xutlvnjqgpqhhdxxroqvyqdfilxcqu",
"choices": [
{
- "index": 29,
+ "index": 11,
"message": {
"role": "system",
- "content": "wskquccyzztkt"
+ "content": "zpyae"
},
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 20,
- "prompt_tokens": 17,
- "total_tokens": 5
+ "completion_tokens": 26,
+ "prompt_tokens": 7,
+ "total_tokens": 11
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index e95fb5221525..62ed61a3ee4c 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -3,29 +3,32 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "embeddingOptions": {
+ "embeddingsOptions": {
"input": [
- "wdazexgkffqeyzkhnpsjssbuwdf"
+ "prhoocdgrtnqsqdipt"
],
- "encoding_format": "float",
"input_type": "text"
}
},
"responses": {
"200": {
"body": {
+ "id": "bghgrsnxwdfyeaerb",
"data": [
{
"embedding": [
- 21
+ 10
],
- "index": 1
+ "index": 18,
+ "object": "nxpemodezjrugmzpxtbflkfyjkstl"
}
],
"usage": {
- "prompt_tokens": 22,
- "total_tokens": 6
- }
+ "prompt_tokens": 25,
+ "total_tokens": 5
+ },
+ "object": "pvjtpdgpbzbwlberghnwrnaakcwop",
+ "model": "xkxapmuebtvkutuxklghh"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index 42c04ebdc6e5..52ce31aac84c 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -3,27 +3,31 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "embeddingOptions": {
+ "embeddingsOptions": {
"input": [
- "wdazexgkffqeyzkhnpsjssbuwdf"
+ "prhoocdgrtnqsqdipt"
]
}
},
"responses": {
"200": {
"body": {
+ "id": "bghgrsnxwdfyeaerb",
"data": [
{
"embedding": [
- 21
+ 10
],
- "index": 1
+ "index": 18,
+ "object": "nxpemodezjrugmzpxtbflkfyjkstl"
}
],
"usage": {
- "prompt_tokens": 22,
- "total_tokens": 6
- }
+ "prompt_tokens": 25,
+ "total_tokens": 5
+ },
+ "object": "pvjtpdgpbzbwlberghnwrnaakcwop",
+ "model": "xkxapmuebtvkutuxklghh"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index fb15ce205344..7f0292002fde 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -59,10 +59,10 @@
}
},
"x-ms-examples": {
- "maximum set chat completion": {
+ "GetChatCompletions_MaximumSet_Gen": {
"$ref": "./examples/GetChatCompletions_MaximumSet_Gen.json"
},
- "minimum set chat completion": {
+ "GetChatCompletions_MinimumSet_Gen": {
"$ref": "./examples/GetChatCompletions_MinimumSet_Gen.json"
}
}
@@ -77,7 +77,7 @@
"$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
},
{
- "name": "embeddingOptions",
+ "name": "embeddingsOptions",
"in": "body",
"description": "The JSON payload containing embedding options.",
"required": true,
@@ -90,7 +90,7 @@
"200": {
"description": "The request has succeeded.",
"schema": {
- "$ref": "#/definitions/Embeddings"
+ "$ref": "#/definitions/EmbeddingsResult"
}
},
"default": {
@@ -107,10 +107,10 @@
}
},
"x-ms-examples": {
- "maximum set embeddings": {
+ "GetEmbeddings_MaximumSet_Gen": {
"$ref": "./examples/GetEmbeddings_MaximumSet_Gen.json"
},
- "minimum set embeddings": {
+ "GetEmbeddings_MinimumSet_Gen": {
"$ref": "./examples/GetEmbeddings_MinimumSet_Gen.json"
}
}
@@ -708,30 +708,6 @@
"total_tokens"
]
},
- "EmbeddingEncodingFormat": {
- "type": "string",
- "description": "Represents the available formats for embeddings data on responses.",
- "enum": [
- "float",
- "base64"
- ],
- "x-ms-enum": {
- "name": "EmbeddingEncodingFormat",
- "modelAsString": true,
- "values": [
- {
- "name": "float",
- "value": "float",
- "description": "Specifies that responses should provide arrays of floats for each embedding."
- },
- {
- "name": "base64",
- "value": "base64",
- "description": "Specifies that responses should provide a base64-encoded string for each embedding."
- }
- ]
- }
- },
"EmbeddingInputType": {
"type": "string",
"description": "Represents the input types used for embedding search.",
@@ -747,17 +723,17 @@
{
"name": "text",
"value": "text",
- "description": "fill me."
+ "description": "to do"
},
{
"name": "query",
"value": "query",
- "description": "fill me."
+ "description": "to do"
},
{
"name": "document",
"value": "document",
- "description": "fill me."
+ "description": "to do"
}
]
}
@@ -778,33 +754,16 @@
"type": "integer",
"format": "int32",
"description": "Index of the prompt to which the EmbeddingItem corresponds."
- }
- },
- "required": [
- "embedding",
- "index"
- ]
- },
- "Embeddings": {
- "type": "object",
- "description": "Representation of the response data from an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.",
- "properties": {
- "data": {
- "type": "array",
- "description": "Embedding values for the prompts submitted in the request.",
- "items": {
- "$ref": "#/definitions/EmbeddingItem"
- },
- "x-ms-identifiers": []
},
- "usage": {
- "$ref": "#/definitions/EmbeddingsUsage",
- "description": "Usage counts for tokens input using the embeddings API."
+ "object": {
+ "type": "string",
+ "description": "The object type of this embeddings item. Will always be `embedding`."
}
},
"required": [
- "data",
- "usage"
+ "embedding",
+ "index",
+ "object"
]
},
"EmbeddingsOptions": {
@@ -813,37 +772,11 @@
"properties": {
"input": {
"type": "array",
- "description": "Input texts to get embeddings for, encoded as a an array of strings.\nEach input must not exceed 2048 tokens in length.\n\nUnless you are embedding code, we suggest replacing newlines (\\n) in your input with a single space,\nas we have observed inferior results when newlines are present.",
+ "description": "Input texts to get embeddings for, encoded as a an array of strings.",
"items": {
"type": "string"
}
},
- "encoding_format": {
- "type": "string",
- "description": "The response encoding format to use for embedding data.",
- "default": "float",
- "enum": [
- "float",
- "base64"
- ],
- "x-ms-enum": {
- "name": "EmbeddingEncodingFormat",
- "modelAsString": true,
- "values": [
- {
- "name": "float",
- "value": "float",
- "description": "Specifies that responses should provide arrays of floats for each embedding."
- },
- {
- "name": "base64",
- "value": "base64",
- "description": "Specifies that responses should provide a base64-encoded string for each embedding."
- }
- ]
- },
- "x-ms-client-name": "encodingFormat"
- },
"input_type": {
"type": "string",
"description": "Specifies the input type to use for embedding search.",
@@ -860,17 +793,17 @@
{
"name": "text",
"value": "text",
- "description": "fill me."
+ "description": "to do"
},
{
"name": "query",
"value": "query",
- "description": "fill me."
+ "description": "to do"
},
{
"name": "document",
"value": "document",
- "description": "fill me."
+ "description": "to do"
}
]
},
@@ -881,6 +814,43 @@
"input"
]
},
+ "EmbeddingsResult": {
+ "type": "object",
+ "description": "Representation of the response data from an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the embeddings result."
+ },
+ "data": {
+ "type": "array",
+ "description": "Embedding values for the prompts submitted in the request.",
+ "items": {
+ "$ref": "#/definitions/EmbeddingItem"
+ },
+ "x-ms-identifiers": []
+ },
+ "usage": {
+ "$ref": "#/definitions/EmbeddingsUsage",
+ "description": "Usage counts for tokens input using the embeddings API."
+ },
+ "object": {
+ "type": "string",
+ "description": "The object type of the embeddings result. Will always be `list`."
+ },
+ "model": {
+ "type": "string",
+ "description": "The model ID used to generate this result."
+ }
+ },
+ "required": [
+ "id",
+ "data",
+ "usage",
+ "object",
+ "model"
+ ]
+ },
"EmbeddingsUsage": {
"type": "object",
"description": "Measurement of the amount of tokens used in this request and response.",
From 9523f51c767212f72961227ec5ba8b725cc80960 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Fri, 29 Mar 2024 18:35:14 -0700
Subject: [PATCH 030/343] After running `npx tsv specification/ai/ModelClient`
---
specification/ai/ModelClient/models/embeddings.tsp | 2 +-
.../ModelClient/preview/2024-04-01-preview/openapi.json | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/specification/ai/ModelClient/models/embeddings.tsp b/specification/ai/ModelClient/models/embeddings.tsp
index fcc4ad08aeb5..0ca77c043998 100644
--- a/specification/ai/ModelClient/models/embeddings.tsp
+++ b/specification/ai/ModelClient/models/embeddings.tsp
@@ -68,7 +68,7 @@ model EmbeddingItem {
index: int32;
@doc("The object type of this embeddings item. Will always be `embedding`.")
- object: string
+ object: string;
}
@doc("Measurement of the amount of tokens used in this request and response.")
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index 7f0292002fde..c8220dc55198 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -59,10 +59,10 @@
}
},
"x-ms-examples": {
- "GetChatCompletions_MaximumSet_Gen": {
+ "maximum set chat completion": {
"$ref": "./examples/GetChatCompletions_MaximumSet_Gen.json"
},
- "GetChatCompletions_MinimumSet_Gen": {
+ "minimum set chat completion": {
"$ref": "./examples/GetChatCompletions_MinimumSet_Gen.json"
}
}
@@ -107,10 +107,10 @@
}
},
"x-ms-examples": {
- "GetEmbeddings_MaximumSet_Gen": {
+ "maximum set embeddings": {
"$ref": "./examples/GetEmbeddings_MaximumSet_Gen.json"
},
- "GetEmbeddings_MinimumSet_Gen": {
+ "minimum set embeddings": {
"$ref": "./examples/GetEmbeddings_MinimumSet_Gen.json"
}
}
From b545c63e18af148bcde2861fa9254976f9f4ae7d Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 1 Apr 2024 14:47:51 -0700
Subject: [PATCH 031/343] Add two optional HTTP request headers
---
.../GetChatCompletions_MaximumSet_Gen.json | 28 +++---
.../GetChatCompletions_MinimumSet_Gen.json | 18 ++--
.../GetEmbeddings_MaximumSet_Gen.json | 20 +++--
.../GetEmbeddings_MinimumSet_Gen.json | 18 ++--
specification/ai/ModelClient/routes.tsp | 30 +++++++
.../GetChatCompletions_MaximumSet_Gen.json | 28 +++---
.../GetChatCompletions_MinimumSet_Gen.json | 18 ++--
.../GetEmbeddings_MaximumSet_Gen.json | 20 +++--
.../GetEmbeddings_MinimumSet_Gen.json | 18 ++--
.../preview/2024-04-01-preview/openapi.json | 86 +++++++++++++++++++
10 files changed, 204 insertions(+), 80 deletions(-)
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index 275147dc8c02..9b254033359d 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -3,13 +3,15 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
+ "unknown-parameters": "error",
+ "azureml-model-deployment": "kqxbbykmsfhdfwmiyysabwh",
"chatCompletionsOptions": {
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -2,
+ "frequency_penalty": 1,
"presence_penalty": 1,
"temperature": 0,
"top_p": 0,
@@ -18,7 +20,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "ejcoecwrdd"
+ "uofedckdwcklhmpkj"
],
"stream": true,
"tools": [
@@ -26,26 +28,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 27
+ "seed": 26
}
},
"responses": {
"200": {
"body": {
- "id": "fcfgwlzaojobobqpwtasrxyawcu",
- "object": "ifryfrkdwwlmysdbog",
- "created": 2,
- "model": "xutlvnjqgpqhhdxxroqvyqdfilxcqu",
+ "id": "nkfoulafxyrkkswcrnrsioe",
+ "object": "oovu",
+ "created": 16,
+ "model": "gkgodvkehjrhpmkkgsonchskrvp",
"choices": [
{
- "index": 11,
+ "index": 2,
"message": {
"role": "system",
- "content": "zpyae",
+ "content": "qwdizqtjfm",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "hmfzwkufaksourcpbbnxah"
+ "id": "amrnscyekdadtmeqeqvimk"
}
]
},
@@ -53,9 +55,9 @@
}
],
"usage": {
- "completion_tokens": 26,
- "prompt_tokens": 7,
- "total_tokens": 11
+ "completion_tokens": 10,
+ "prompt_tokens": 13,
+ "total_tokens": 14
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index ba01645f4c01..a8839318ae48 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,24 +14,24 @@
"responses": {
"200": {
"body": {
- "id": "fcfgwlzaojobobqpwtasrxyawcu",
- "object": "ifryfrkdwwlmysdbog",
- "created": 2,
- "model": "xutlvnjqgpqhhdxxroqvyqdfilxcqu",
+ "id": "nkfoulafxyrkkswcrnrsioe",
+ "object": "oovu",
+ "created": 16,
+ "model": "gkgodvkehjrhpmkkgsonchskrvp",
"choices": [
{
- "index": 11,
+ "index": 2,
"message": {
"role": "system",
- "content": "zpyae"
+ "content": "qwdizqtjfm"
},
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 26,
- "prompt_tokens": 7,
- "total_tokens": 11
+ "completion_tokens": 10,
+ "prompt_tokens": 13,
+ "total_tokens": 14
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index 62ed61a3ee4c..a9c43de399c7 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -3,9 +3,11 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
+ "unknown-parameters": "error",
+ "azureml-model-deployment": "kqxbbykmsfhdfwmiyysabwh",
"embeddingsOptions": {
"input": [
- "prhoocdgrtnqsqdipt"
+ "nnormoruykwyiasmaojrzfksqbyta"
],
"input_type": "text"
}
@@ -13,22 +15,22 @@
"responses": {
"200": {
"body": {
- "id": "bghgrsnxwdfyeaerb",
+ "id": "btzachsaltzthaaqukolsofo",
"data": [
{
"embedding": [
- 10
+ 9
],
- "index": 18,
- "object": "nxpemodezjrugmzpxtbflkfyjkstl"
+ "index": 7,
+ "object": "rndnrvhialamaokaeacdta"
}
],
"usage": {
- "prompt_tokens": 25,
- "total_tokens": 5
+ "prompt_tokens": 5,
+ "total_tokens": 30
},
- "object": "pvjtpdgpbzbwlberghnwrnaakcwop",
- "model": "xkxapmuebtvkutuxklghh"
+ "object": "qhqziuorbh",
+ "model": "blrjwls"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index 52ce31aac84c..974fb8a18dc1 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,29 +5,29 @@
"api-version": "2024-04-01-preview",
"embeddingsOptions": {
"input": [
- "prhoocdgrtnqsqdipt"
+ "nnormoruykwyiasmaojrzfksqbyta"
]
}
},
"responses": {
"200": {
"body": {
- "id": "bghgrsnxwdfyeaerb",
+ "id": "btzachsaltzthaaqukolsofo",
"data": [
{
"embedding": [
- 10
+ 9
],
- "index": 18,
- "object": "nxpemodezjrugmzpxtbflkfyjkstl"
+ "index": 7,
+ "object": "rndnrvhialamaokaeacdta"
}
],
"usage": {
- "prompt_tokens": 25,
- "total_tokens": 5
+ "prompt_tokens": 5,
+ "total_tokens": 30
},
- "object": "pvjtpdgpbzbwlberghnwrnaakcwop",
- "model": "xkxapmuebtvkutuxklghh"
+ "object": "qhqziuorbh",
+ "model": "blrjwls"
}
}
}
diff --git a/specification/ai/ModelClient/routes.tsp b/specification/ai/ModelClient/routes.tsp
index 5d4ddf8bfc79..d4a825c9ad9b 100644
--- a/specification/ai/ModelClient/routes.tsp
+++ b/specification/ai/ModelClient/routes.tsp
@@ -14,6 +14,32 @@ using Azure.Core;
namespace ModelClient;
+@doc("Defines the service behaviour when unknown parameters are passed as extra properties in the request payload.")
+enum UnknownParameters {
+ @doc("The service should error when it sees unknown parameters in the request payload. This is the default behaviour if the service.")
+ error: "error",
+
+ @doc("The service should ignore unknown parameters in the request payload. They will not be passed to the back-end AI model.")
+ ignore: "ignore",
+
+ @doc("The service should pass unknown parameters to the back-end AI model.")
+ allow: "allow",
+}
+
+@doc("Additional request headers")
+model AdditionalRequestHeaders {
+ @doc("Controls what happens if unknown parameters are passed as extra properties in the request payload.")
+ @header("unknown-parameters")
+ unknownParameters?: UnknownParameters;
+
+ @doc("""
+ Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.
+ Typically used when you want to target a test enviroment instead of production enviroment.
+ """)
+ @header("azureml-model-deployment")
+ modelDeployment?: string;
+}
+
@doc("""
Gets chat completions for the provided chat messages.
Completions support a wide variety of tasks and generate text that continues from or "completes"
@@ -26,6 +52,8 @@ op getChatCompletions is Azure.Core.RpcOperation<
@doc("The JSON payload containing chat completion options.")
@body
chatCompletionsOptions: ChatCompletionsOptions;
+
+ ...AdditionalRequestHeaders;
},
ChatCompletions
>;
@@ -38,6 +66,8 @@ op getEmbeddings is Azure.Core.RpcOperation<
@doc("The JSON payload containing embedding options.")
@body
embeddingsOptions: EmbeddingsOptions;
+
+ ...AdditionalRequestHeaders;
},
EmbeddingsResult
>;
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index 275147dc8c02..9b254033359d 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -3,13 +3,15 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
+ "unknown-parameters": "error",
+ "azureml-model-deployment": "kqxbbykmsfhdfwmiyysabwh",
"chatCompletionsOptions": {
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -2,
+ "frequency_penalty": 1,
"presence_penalty": 1,
"temperature": 0,
"top_p": 0,
@@ -18,7 +20,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "ejcoecwrdd"
+ "uofedckdwcklhmpkj"
],
"stream": true,
"tools": [
@@ -26,26 +28,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 27
+ "seed": 26
}
},
"responses": {
"200": {
"body": {
- "id": "fcfgwlzaojobobqpwtasrxyawcu",
- "object": "ifryfrkdwwlmysdbog",
- "created": 2,
- "model": "xutlvnjqgpqhhdxxroqvyqdfilxcqu",
+ "id": "nkfoulafxyrkkswcrnrsioe",
+ "object": "oovu",
+ "created": 16,
+ "model": "gkgodvkehjrhpmkkgsonchskrvp",
"choices": [
{
- "index": 11,
+ "index": 2,
"message": {
"role": "system",
- "content": "zpyae",
+ "content": "qwdizqtjfm",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "hmfzwkufaksourcpbbnxah"
+ "id": "amrnscyekdadtmeqeqvimk"
}
]
},
@@ -53,9 +55,9 @@
}
],
"usage": {
- "completion_tokens": 26,
- "prompt_tokens": 7,
- "total_tokens": 11
+ "completion_tokens": 10,
+ "prompt_tokens": 13,
+ "total_tokens": 14
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index ba01645f4c01..a8839318ae48 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,24 +14,24 @@
"responses": {
"200": {
"body": {
- "id": "fcfgwlzaojobobqpwtasrxyawcu",
- "object": "ifryfrkdwwlmysdbog",
- "created": 2,
- "model": "xutlvnjqgpqhhdxxroqvyqdfilxcqu",
+ "id": "nkfoulafxyrkkswcrnrsioe",
+ "object": "oovu",
+ "created": 16,
+ "model": "gkgodvkehjrhpmkkgsonchskrvp",
"choices": [
{
- "index": 11,
+ "index": 2,
"message": {
"role": "system",
- "content": "zpyae"
+ "content": "qwdizqtjfm"
},
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 26,
- "prompt_tokens": 7,
- "total_tokens": 11
+ "completion_tokens": 10,
+ "prompt_tokens": 13,
+ "total_tokens": 14
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index 62ed61a3ee4c..a9c43de399c7 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -3,9 +3,11 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
+ "unknown-parameters": "error",
+ "azureml-model-deployment": "kqxbbykmsfhdfwmiyysabwh",
"embeddingsOptions": {
"input": [
- "prhoocdgrtnqsqdipt"
+ "nnormoruykwyiasmaojrzfksqbyta"
],
"input_type": "text"
}
@@ -13,22 +15,22 @@
"responses": {
"200": {
"body": {
- "id": "bghgrsnxwdfyeaerb",
+ "id": "btzachsaltzthaaqukolsofo",
"data": [
{
"embedding": [
- 10
+ 9
],
- "index": 18,
- "object": "nxpemodezjrugmzpxtbflkfyjkstl"
+ "index": 7,
+ "object": "rndnrvhialamaokaeacdta"
}
],
"usage": {
- "prompt_tokens": 25,
- "total_tokens": 5
+ "prompt_tokens": 5,
+ "total_tokens": 30
},
- "object": "pvjtpdgpbzbwlberghnwrnaakcwop",
- "model": "xkxapmuebtvkutuxklghh"
+ "object": "qhqziuorbh",
+ "model": "blrjwls"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index 52ce31aac84c..974fb8a18dc1 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,29 +5,29 @@
"api-version": "2024-04-01-preview",
"embeddingsOptions": {
"input": [
- "prhoocdgrtnqsqdipt"
+ "nnormoruykwyiasmaojrzfksqbyta"
]
}
},
"responses": {
"200": {
"body": {
- "id": "bghgrsnxwdfyeaerb",
+ "id": "btzachsaltzthaaqukolsofo",
"data": [
{
"embedding": [
- 10
+ 9
],
- "index": 18,
- "object": "nxpemodezjrugmzpxtbflkfyjkstl"
+ "index": 7,
+ "object": "rndnrvhialamaokaeacdta"
}
],
"usage": {
- "prompt_tokens": 25,
- "total_tokens": 5
+ "prompt_tokens": 5,
+ "total_tokens": 30
},
- "object": "pvjtpdgpbzbwlberghnwrnaakcwop",
- "model": "xkxapmuebtvkutuxklghh"
+ "object": "qhqziuorbh",
+ "model": "blrjwls"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index c8220dc55198..3c9e6a048ba7 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -28,6 +28,12 @@
{
"$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
},
+ {
+ "$ref": "#/parameters/AdditionalRequestHeaders.unknownParameters"
+ },
+ {
+ "$ref": "#/parameters/AdditionalRequestHeaders.modelDeployment"
+ },
{
"name": "chatCompletionsOptions",
"in": "body",
@@ -76,6 +82,12 @@
{
"$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
},
+ {
+ "$ref": "#/parameters/AdditionalRequestHeaders.unknownParameters"
+ },
+ {
+ "$ref": "#/parameters/AdditionalRequestHeaders.modelDeployment"
+ },
{
"name": "embeddingsOptions",
"in": "body",
@@ -911,6 +923,36 @@
"name"
]
},
+ "UnknownParameters": {
+ "type": "string",
+ "description": "Defines the service behaviour when unknown parameters are passed as extra properties in the request payload.",
+ "enum": [
+ "error",
+ "ignore",
+ "allow"
+ ],
+ "x-ms-enum": {
+ "name": "UnknownParameters",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "error",
+ "value": "error",
+ "description": "The service should error when it sees unknown parameters in the request payload. This is the default behaviour if the service."
+ },
+ {
+ "name": "ignore",
+ "value": "ignore",
+ "description": "The service should ignore unknown parameters in the request payload. They will not be passed to the back-end AI model."
+ },
+ {
+ "name": "allow",
+ "value": "allow",
+ "description": "The service should pass unknown parameters to the back-end AI model."
+ }
+ ]
+ }
+ },
"Versions": {
"type": "string",
"description": "The ModelClient service versions.",
@@ -931,6 +973,50 @@
}
},
"parameters": {
+ "AdditionalRequestHeaders.modelDeployment": {
+ "name": "azureml-model-deployment",
+ "in": "header",
+ "description": "Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.\nTypically used when you want to target a test enviroment instead of production enviroment.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "x-ms-client-name": "modelDeployment"
+ },
+ "AdditionalRequestHeaders.unknownParameters": {
+ "name": "unknown-parameters",
+ "in": "header",
+ "description": "Controls what happens if unknown parameters are passed as extra properties in the request payload.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "error",
+ "ignore",
+ "allow"
+ ],
+ "x-ms-enum": {
+ "name": "UnknownParameters",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "error",
+ "value": "error",
+ "description": "The service should error when it sees unknown parameters in the request payload. This is the default behaviour if the service."
+ },
+ {
+ "name": "ignore",
+ "value": "ignore",
+ "description": "The service should ignore unknown parameters in the request payload. They will not be passed to the back-end AI model."
+ },
+ {
+ "name": "allow",
+ "value": "allow",
+ "description": "The service should pass unknown parameters to the back-end AI model."
+ }
+ ]
+ },
+ "x-ms-parameter-location": "method",
+ "x-ms-client-name": "unknownParameters"
+ },
"Azure.Core.Foundations.ApiVersionParameter": {
"name": "api-version",
"in": "query",
From 7f14ca7a54b05b2e9f25b5c83b6e54270b7ba6b4 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 1 Apr 2024 15:19:57 -0700
Subject: [PATCH 032/343] use alias for the grouping of HTTP request header
---
.../GetChatCompletions_MaximumSet_Gen.json | 30 ++--
.../GetChatCompletions_MinimumSet_Gen.json | 18 +--
.../GetEmbeddings_MaximumSet_Gen.json | 20 +--
.../GetEmbeddings_MinimumSet_Gen.json | 18 +--
specification/ai/ModelClient/routes.tsp | 5 +-
.../GetChatCompletions_MaximumSet_Gen.json | 30 ++--
.../GetChatCompletions_MinimumSet_Gen.json | 18 +--
.../GetEmbeddings_MaximumSet_Gen.json | 20 +--
.../GetEmbeddings_MinimumSet_Gen.json | 18 +--
.../preview/2024-04-01-preview/openapi.json | 132 +++++++++++-------
10 files changed, 168 insertions(+), 141 deletions(-)
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index 9b254033359d..739e1b8a51d7 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -4,15 +4,15 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "kqxbbykmsfhdfwmiyysabwh",
+ "azureml-model-deployment": "qclspnaxydz",
"chatCompletionsOptions": {
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": 1,
- "presence_penalty": 1,
+ "frequency_penalty": -1,
+ "presence_penalty": -2,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
@@ -20,7 +20,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "uofedckdwcklhmpkj"
+ "b"
],
"stream": true,
"tools": [
@@ -28,26 +28,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 26
+ "seed": 5
}
},
"responses": {
"200": {
"body": {
- "id": "nkfoulafxyrkkswcrnrsioe",
- "object": "oovu",
- "created": 16,
- "model": "gkgodvkehjrhpmkkgsonchskrvp",
+ "id": "ddm",
+ "object": "kcbeleehxegkfozcap",
+ "created": 7,
+ "model": "at",
"choices": [
{
- "index": 2,
+ "index": 4,
"message": {
"role": "system",
- "content": "qwdizqtjfm",
+ "content": "exlergdmrxoatd",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "amrnscyekdadtmeqeqvimk"
+ "id": "yazhziuohbiefirbr"
}
]
},
@@ -55,9 +55,9 @@
}
],
"usage": {
- "completion_tokens": 10,
- "prompt_tokens": 13,
- "total_tokens": 14
+ "completion_tokens": 30,
+ "prompt_tokens": 7,
+ "total_tokens": 25
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index a8839318ae48..4ac201b1095a 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,24 +14,24 @@
"responses": {
"200": {
"body": {
- "id": "nkfoulafxyrkkswcrnrsioe",
- "object": "oovu",
- "created": 16,
- "model": "gkgodvkehjrhpmkkgsonchskrvp",
+ "id": "ddm",
+ "object": "kcbeleehxegkfozcap",
+ "created": 7,
+ "model": "at",
"choices": [
{
- "index": 2,
+ "index": 4,
"message": {
"role": "system",
- "content": "qwdizqtjfm"
+ "content": "exlergdmrxoatd"
},
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 10,
- "prompt_tokens": 13,
- "total_tokens": 14
+ "completion_tokens": 30,
+ "prompt_tokens": 7,
+ "total_tokens": 25
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index a9c43de399c7..6aa2cbb14cc4 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -4,10 +4,10 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "kqxbbykmsfhdfwmiyysabwh",
+ "azureml-model-deployment": "oqgvadjznwkiaajvnwljbxwpdn",
"embeddingsOptions": {
"input": [
- "nnormoruykwyiasmaojrzfksqbyta"
+ "kxxknnegiwwyqn"
],
"input_type": "text"
}
@@ -15,22 +15,22 @@
"responses": {
"200": {
"body": {
- "id": "btzachsaltzthaaqukolsofo",
+ "id": "o",
"data": [
{
"embedding": [
- 9
+ 12
],
- "index": 7,
- "object": "rndnrvhialamaokaeacdta"
+ "index": 2,
+ "object": "uqqacl"
}
],
"usage": {
- "prompt_tokens": 5,
- "total_tokens": 30
+ "prompt_tokens": 22,
+ "total_tokens": 5
},
- "object": "qhqziuorbh",
- "model": "blrjwls"
+ "object": "uxjdgciolcwcghb",
+ "model": "coxcshqbgtsdhuibmshfpaccw"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index 974fb8a18dc1..9505ce49734b 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,29 +5,29 @@
"api-version": "2024-04-01-preview",
"embeddingsOptions": {
"input": [
- "nnormoruykwyiasmaojrzfksqbyta"
+ "kxxknnegiwwyqn"
]
}
},
"responses": {
"200": {
"body": {
- "id": "btzachsaltzthaaqukolsofo",
+ "id": "o",
"data": [
{
"embedding": [
- 9
+ 12
],
- "index": 7,
- "object": "rndnrvhialamaokaeacdta"
+ "index": 2,
+ "object": "uqqacl"
}
],
"usage": {
- "prompt_tokens": 5,
- "total_tokens": 30
+ "prompt_tokens": 22,
+ "total_tokens": 5
},
- "object": "qhqziuorbh",
- "model": "blrjwls"
+ "object": "uxjdgciolcwcghb",
+ "model": "coxcshqbgtsdhuibmshfpaccw"
}
}
}
diff --git a/specification/ai/ModelClient/routes.tsp b/specification/ai/ModelClient/routes.tsp
index d4a825c9ad9b..e9d3d49d2261 100644
--- a/specification/ai/ModelClient/routes.tsp
+++ b/specification/ai/ModelClient/routes.tsp
@@ -26,8 +26,7 @@ enum UnknownParameters {
allow: "allow",
}
-@doc("Additional request headers")
-model AdditionalRequestHeaders {
+alias AdditionalRequestHeaders = {
@doc("Controls what happens if unknown parameters are passed as extra properties in the request payload.")
@header("unknown-parameters")
unknownParameters?: UnknownParameters;
@@ -38,7 +37,7 @@ model AdditionalRequestHeaders {
""")
@header("azureml-model-deployment")
modelDeployment?: string;
-}
+};
@doc("""
Gets chat completions for the provided chat messages.
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index 9b254033359d..739e1b8a51d7 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -4,15 +4,15 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "kqxbbykmsfhdfwmiyysabwh",
+ "azureml-model-deployment": "qclspnaxydz",
"chatCompletionsOptions": {
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": 1,
- "presence_penalty": 1,
+ "frequency_penalty": -1,
+ "presence_penalty": -2,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
@@ -20,7 +20,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "uofedckdwcklhmpkj"
+ "b"
],
"stream": true,
"tools": [
@@ -28,26 +28,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 26
+ "seed": 5
}
},
"responses": {
"200": {
"body": {
- "id": "nkfoulafxyrkkswcrnrsioe",
- "object": "oovu",
- "created": 16,
- "model": "gkgodvkehjrhpmkkgsonchskrvp",
+ "id": "ddm",
+ "object": "kcbeleehxegkfozcap",
+ "created": 7,
+ "model": "at",
"choices": [
{
- "index": 2,
+ "index": 4,
"message": {
"role": "system",
- "content": "qwdizqtjfm",
+ "content": "exlergdmrxoatd",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "amrnscyekdadtmeqeqvimk"
+ "id": "yazhziuohbiefirbr"
}
]
},
@@ -55,9 +55,9 @@
}
],
"usage": {
- "completion_tokens": 10,
- "prompt_tokens": 13,
- "total_tokens": 14
+ "completion_tokens": 30,
+ "prompt_tokens": 7,
+ "total_tokens": 25
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index a8839318ae48..4ac201b1095a 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,24 +14,24 @@
"responses": {
"200": {
"body": {
- "id": "nkfoulafxyrkkswcrnrsioe",
- "object": "oovu",
- "created": 16,
- "model": "gkgodvkehjrhpmkkgsonchskrvp",
+ "id": "ddm",
+ "object": "kcbeleehxegkfozcap",
+ "created": 7,
+ "model": "at",
"choices": [
{
- "index": 2,
+ "index": 4,
"message": {
"role": "system",
- "content": "qwdizqtjfm"
+ "content": "exlergdmrxoatd"
},
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 10,
- "prompt_tokens": 13,
- "total_tokens": 14
+ "completion_tokens": 30,
+ "prompt_tokens": 7,
+ "total_tokens": 25
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index a9c43de399c7..6aa2cbb14cc4 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -4,10 +4,10 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "kqxbbykmsfhdfwmiyysabwh",
+ "azureml-model-deployment": "oqgvadjznwkiaajvnwljbxwpdn",
"embeddingsOptions": {
"input": [
- "nnormoruykwyiasmaojrzfksqbyta"
+ "kxxknnegiwwyqn"
],
"input_type": "text"
}
@@ -15,22 +15,22 @@
"responses": {
"200": {
"body": {
- "id": "btzachsaltzthaaqukolsofo",
+ "id": "o",
"data": [
{
"embedding": [
- 9
+ 12
],
- "index": 7,
- "object": "rndnrvhialamaokaeacdta"
+ "index": 2,
+ "object": "uqqacl"
}
],
"usage": {
- "prompt_tokens": 5,
- "total_tokens": 30
+ "prompt_tokens": 22,
+ "total_tokens": 5
},
- "object": "qhqziuorbh",
- "model": "blrjwls"
+ "object": "uxjdgciolcwcghb",
+ "model": "coxcshqbgtsdhuibmshfpaccw"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index 974fb8a18dc1..9505ce49734b 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,29 +5,29 @@
"api-version": "2024-04-01-preview",
"embeddingsOptions": {
"input": [
- "nnormoruykwyiasmaojrzfksqbyta"
+ "kxxknnegiwwyqn"
]
}
},
"responses": {
"200": {
"body": {
- "id": "btzachsaltzthaaqukolsofo",
+ "id": "o",
"data": [
{
"embedding": [
- 9
+ 12
],
- "index": 7,
- "object": "rndnrvhialamaokaeacdta"
+ "index": 2,
+ "object": "uqqacl"
}
],
"usage": {
- "prompt_tokens": 5,
- "total_tokens": 30
+ "prompt_tokens": 22,
+ "total_tokens": 5
},
- "object": "qhqziuorbh",
- "model": "blrjwls"
+ "object": "uxjdgciolcwcghb",
+ "model": "coxcshqbgtsdhuibmshfpaccw"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index 3c9e6a048ba7..bfee837ae1fb 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -29,10 +29,46 @@
"$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
},
{
- "$ref": "#/parameters/AdditionalRequestHeaders.unknownParameters"
+ "name": "unknown-parameters",
+ "in": "header",
+ "description": "Controls what happens if unknown parameters are passed as extra properties in the request payload.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "error",
+ "ignore",
+ "allow"
+ ],
+ "x-ms-enum": {
+ "name": "UnknownParameters",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "error",
+ "value": "error",
+ "description": "The service should error when it sees unknown parameters in the request payload. This is the default behaviour if the service."
+ },
+ {
+ "name": "ignore",
+ "value": "ignore",
+ "description": "The service should ignore unknown parameters in the request payload. They will not be passed to the back-end AI model."
+ },
+ {
+ "name": "allow",
+ "value": "allow",
+ "description": "The service should pass unknown parameters to the back-end AI model."
+ }
+ ]
+ },
+ "x-ms-client-name": "unknownParameters"
},
{
- "$ref": "#/parameters/AdditionalRequestHeaders.modelDeployment"
+ "name": "azureml-model-deployment",
+ "in": "header",
+ "description": "Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.\nTypically used when you want to target a test enviroment instead of production enviroment.",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "modelDeployment"
},
{
"name": "chatCompletionsOptions",
@@ -65,10 +101,10 @@
}
},
"x-ms-examples": {
- "maximum set chat completion": {
+ "GetChatCompletions_MaximumSet_Gen": {
"$ref": "./examples/GetChatCompletions_MaximumSet_Gen.json"
},
- "minimum set chat completion": {
+ "GetChatCompletions_MinimumSet_Gen": {
"$ref": "./examples/GetChatCompletions_MinimumSet_Gen.json"
}
}
@@ -83,10 +119,46 @@
"$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
},
{
- "$ref": "#/parameters/AdditionalRequestHeaders.unknownParameters"
+ "name": "unknown-parameters",
+ "in": "header",
+ "description": "Controls what happens if unknown parameters are passed as extra properties in the request payload.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "error",
+ "ignore",
+ "allow"
+ ],
+ "x-ms-enum": {
+ "name": "UnknownParameters",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "error",
+ "value": "error",
+ "description": "The service should error when it sees unknown parameters in the request payload. This is the default behaviour if the service."
+ },
+ {
+ "name": "ignore",
+ "value": "ignore",
+ "description": "The service should ignore unknown parameters in the request payload. They will not be passed to the back-end AI model."
+ },
+ {
+ "name": "allow",
+ "value": "allow",
+ "description": "The service should pass unknown parameters to the back-end AI model."
+ }
+ ]
+ },
+ "x-ms-client-name": "unknownParameters"
},
{
- "$ref": "#/parameters/AdditionalRequestHeaders.modelDeployment"
+ "name": "azureml-model-deployment",
+ "in": "header",
+ "description": "Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.\nTypically used when you want to target a test enviroment instead of production enviroment.",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "modelDeployment"
},
{
"name": "embeddingsOptions",
@@ -119,10 +191,10 @@
}
},
"x-ms-examples": {
- "maximum set embeddings": {
+ "GetEmbeddings_MaximumSet_Gen": {
"$ref": "./examples/GetEmbeddings_MaximumSet_Gen.json"
},
- "minimum set embeddings": {
+ "GetEmbeddings_MinimumSet_Gen": {
"$ref": "./examples/GetEmbeddings_MinimumSet_Gen.json"
}
}
@@ -973,50 +1045,6 @@
}
},
"parameters": {
- "AdditionalRequestHeaders.modelDeployment": {
- "name": "azureml-model-deployment",
- "in": "header",
- "description": "Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.\nTypically used when you want to target a test enviroment instead of production enviroment.",
- "required": false,
- "type": "string",
- "x-ms-parameter-location": "method",
- "x-ms-client-name": "modelDeployment"
- },
- "AdditionalRequestHeaders.unknownParameters": {
- "name": "unknown-parameters",
- "in": "header",
- "description": "Controls what happens if unknown parameters are passed as extra properties in the request payload.",
- "required": false,
- "type": "string",
- "enum": [
- "error",
- "ignore",
- "allow"
- ],
- "x-ms-enum": {
- "name": "UnknownParameters",
- "modelAsString": true,
- "values": [
- {
- "name": "error",
- "value": "error",
- "description": "The service should error when it sees unknown parameters in the request payload. This is the default behaviour if the service."
- },
- {
- "name": "ignore",
- "value": "ignore",
- "description": "The service should ignore unknown parameters in the request payload. They will not be passed to the back-end AI model."
- },
- {
- "name": "allow",
- "value": "allow",
- "description": "The service should pass unknown parameters to the back-end AI model."
- }
- ]
- },
- "x-ms-parameter-location": "method",
- "x-ms-client-name": "unknownParameters"
- },
"Azure.Core.Foundations.ApiVersionParameter": {
"name": "api-version",
"in": "query",
From faa1b2cdc94bf994f70a21ed004fd471b42369ba Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 1 Apr 2024 15:21:35 -0700
Subject: [PATCH 033/343] Fix example titles
---
.../ModelClient/preview/2024-04-01-preview/openapi.json | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index bfee837ae1fb..7fc92c57a7e7 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -101,10 +101,10 @@
}
},
"x-ms-examples": {
- "GetChatCompletions_MaximumSet_Gen": {
+ "maximum set chat completion": {
"$ref": "./examples/GetChatCompletions_MaximumSet_Gen.json"
},
- "GetChatCompletions_MinimumSet_Gen": {
+ "minimum set chat completion": {
"$ref": "./examples/GetChatCompletions_MinimumSet_Gen.json"
}
}
@@ -191,10 +191,10 @@
}
},
"x-ms-examples": {
- "GetEmbeddings_MaximumSet_Gen": {
+ "maximum set embeddings": {
"$ref": "./examples/GetEmbeddings_MaximumSet_Gen.json"
},
- "GetEmbeddings_MinimumSet_Gen": {
+ "minimum set embeddings": {
"$ref": "./examples/GetEmbeddings_MinimumSet_Gen.json"
}
}
From 708818b576507b519b373ad16877553550e5f9fd Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 1 Apr 2024 16:21:27 -0700
Subject: [PATCH 034/343] Remove @projectedName(json,...) and disable the
linter warning
---
.../GetChatCompletions_MaximumSet_Gen.json | 28 ++++++-------
.../GetChatCompletions_MinimumSet_Gen.json | 18 ++++-----
.../GetEmbeddings_MaximumSet_Gen.json | 20 +++++-----
.../GetEmbeddings_MinimumSet_Gen.json | 18 ++++-----
.../ModelClient/models/chat_completions.tsp | 39 +++++--------------
specification/ai/ModelClient/tspconfig.yaml | 8 ++--
.../GetChatCompletions_MaximumSet_Gen.json | 28 ++++++-------
.../GetChatCompletions_MinimumSet_Gen.json | 18 ++++-----
.../GetEmbeddings_MaximumSet_Gen.json | 20 +++++-----
.../GetEmbeddings_MinimumSet_Gen.json | 18 ++++-----
.../preview/2024-04-01-preview/openapi.json | 27 +++++--------
11 files changed, 107 insertions(+), 135 deletions(-)
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index 739e1b8a51d7..9fa3934a4a8a 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -4,14 +4,14 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "qclspnaxydz",
+ "azureml-model-deployment": "avoclyhqnmuivlomzxvficq",
"chatCompletionsOptions": {
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -1,
+ "frequency_penalty": 0,
"presence_penalty": -2,
"temperature": 0,
"top_p": 0,
@@ -20,7 +20,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "b"
+ "ordrqcoghor"
],
"stream": true,
"tools": [
@@ -28,26 +28,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 5
+ "seed": 30
}
},
"responses": {
"200": {
"body": {
- "id": "ddm",
- "object": "kcbeleehxegkfozcap",
- "created": 7,
- "model": "at",
+ "id": "hsmpiuxgi",
+ "object": "t",
+ "created": 16,
+ "model": "okmnhcumjvfneohbpldhttbfzjg",
"choices": [
{
- "index": 4,
+ "index": 11,
"message": {
"role": "system",
- "content": "exlergdmrxoatd",
+ "content": "uqysdzkjdqaiiyyvyutoqcayb",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "yazhziuohbiefirbr"
+ "id": "obnwznlmlydakxk"
}
]
},
@@ -55,9 +55,9 @@
}
],
"usage": {
- "completion_tokens": 30,
- "prompt_tokens": 7,
- "total_tokens": 25
+ "completion_tokens": 27,
+ "prompt_tokens": 23,
+ "total_tokens": 30
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 4ac201b1095a..62961eac3b50 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,24 +14,24 @@
"responses": {
"200": {
"body": {
- "id": "ddm",
- "object": "kcbeleehxegkfozcap",
- "created": 7,
- "model": "at",
+ "id": "hsmpiuxgi",
+ "object": "t",
+ "created": 16,
+ "model": "okmnhcumjvfneohbpldhttbfzjg",
"choices": [
{
- "index": 4,
+ "index": 11,
"message": {
"role": "system",
- "content": "exlergdmrxoatd"
+ "content": "uqysdzkjdqaiiyyvyutoqcayb"
},
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 30,
- "prompt_tokens": 7,
- "total_tokens": 25
+ "completion_tokens": 27,
+ "prompt_tokens": 23,
+ "total_tokens": 30
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index 6aa2cbb14cc4..32a9dce2a523 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -4,10 +4,10 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "oqgvadjznwkiaajvnwljbxwpdn",
+ "azureml-model-deployment": "ilu",
"embeddingsOptions": {
"input": [
- "kxxknnegiwwyqn"
+ "fggycssnpxdiz"
],
"input_type": "text"
}
@@ -15,22 +15,22 @@
"responses": {
"200": {
"body": {
- "id": "o",
+ "id": "wglg",
"data": [
{
"embedding": [
- 12
+ 9
],
- "index": 2,
- "object": "uqqacl"
+ "index": 20,
+ "object": "oodpoxzonnvgdlrtliueknroxu"
}
],
"usage": {
- "prompt_tokens": 22,
- "total_tokens": 5
+ "prompt_tokens": 6,
+ "total_tokens": 11
},
- "object": "uxjdgciolcwcghb",
- "model": "coxcshqbgtsdhuibmshfpaccw"
+ "object": "xtkqgnviusvnficpmqxqphg",
+ "model": "tzkpqrstfzlaepnxxdcgm"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index 9505ce49734b..a95207e91f26 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,29 +5,29 @@
"api-version": "2024-04-01-preview",
"embeddingsOptions": {
"input": [
- "kxxknnegiwwyqn"
+ "fggycssnpxdiz"
]
}
},
"responses": {
"200": {
"body": {
- "id": "o",
+ "id": "wglg",
"data": [
{
"embedding": [
- 12
+ 9
],
- "index": 2,
- "object": "uqqacl"
+ "index": 20,
+ "object": "oodpoxzonnvgdlrtliueknroxu"
}
],
"usage": {
- "prompt_tokens": 22,
- "total_tokens": 5
+ "prompt_tokens": 6,
+ "total_tokens": 11
},
- "object": "uxjdgciolcwcghb",
- "model": "coxcshqbgtsdhuibmshfpaccw"
+ "object": "xtkqgnviusvnficpmqxqphg",
+ "model": "tzkpqrstfzlaepnxxdcgm"
}
}
}
diff --git a/specification/ai/ModelClient/models/chat_completions.tsp b/specification/ai/ModelClient/models/chat_completions.tsp
index fd773f5ca6a1..f4ddf1b8a9e7 100644
--- a/specification/ai/ModelClient/models/chat_completions.tsp
+++ b/specification/ai/ModelClient/models/chat_completions.tsp
@@ -20,7 +20,6 @@ model ChatCompletionsOptions {
the behavior of the assistant, followed by alternating messages between the User and
Assistant roles.
""")
- @projectedName("json", "messages")
@minItems(1)
messages: ChatRequestMessage[];
@@ -32,8 +31,7 @@ model ChatCompletionsOptions {
""")
@maxValue(2.0)
@minValue(-2.0)
- @projectedName("json", "frequency_penalty")
- frequencyPenalty?: float32 = 0.0;
+ frequency_penalty?: float32 = 0.0;
@doc("""
A value that influences the probability of generated tokens appearing based on their existing
@@ -43,8 +41,7 @@ model ChatCompletionsOptions {
""")
@maxValue(2.0)
@minValue(-2.0)
- @projectedName("json", "presence_penalty")
- presencePenalty?: float32 = 0.0;
+ presence_penalty?: float32 = 0.0;
@doc("""
The sampling temperature to use that controls the apparent creativity of generated completions.
@@ -55,7 +52,6 @@ model ChatCompletionsOptions {
""")
@maxValue(1.0)
@minValue(0.0)
- @projectedName("json", "temperature")
temperature?: float32 = 0.7;
@doc("""
@@ -68,29 +64,24 @@ model ChatCompletionsOptions {
""")
@maxValue(1.0)
@minValue(0.0)
- @projectedName("json", "top_p")
- topP?: float32 = 1.0;
+ top_p?: float32 = 1.0;
@doc("The maximum number of tokens to generate.")
- @projectedName("json", "max_tokens")
@minValue(0.0)
- maxTokens?: int32;
+ max_tokens?: int32;
- @projectedName("json", "response_format")
@doc("An object specifying the format that the model must output. Used to enable JSON mode.")
- responseFormat?: ChatCompletionsResponseFormat;
+ response_format?: ChatCompletionsResponseFormat;
@doc("""
A collection of textual sequences that will end completions generation.
""")
- @projectedName("json", "stop")
@minItems(1)
stop?: string[];
@doc("""
A value indicating whether chat completions should be streamed for this request.
""")
- @projectedName("json", "stream")
stream?: boolean = false;
@doc("The available tool definitions that the chat completions request can use, including caller-defined functions.")
@@ -118,23 +109,19 @@ provided prompt data.
""")
model ChatCompletions {
@doc("A unique identifier associated with this chat completions response.")
- @projectedName("json", "id")
id: string;
@doc("The response object type, which is always `chat.completion`.")
- @projectedName("json", "object")
object: string;
@doc("""
The first timestamp associated with generation activity for this completions response,
represented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970.
""")
- @projectedName("json", "created")
@encode(DateTimeKnownEncoding.unixTimestamp, int32)
created: utcDateTime;
@doc("The model used for the chat completion.")
- @projectedName("json", "model")
`model`: string;
@doc("""
@@ -142,14 +129,12 @@ model ChatCompletions {
Generally, `n` choices are generated per provided prompt with a default value of 1.
Token limits and other settings may limit the number of choices generated.
""")
- @projectedName("json", "choices")
@minItems(1)
choices: ChatChoice[];
@doc("""
Usage information for tokens processed and generated as part of this completions operation.
""")
- @projectedName("json", "usage")
usage: CompletionsUsage;
}
@@ -160,16 +145,13 @@ other consumers.
""")
model CompletionsUsage {
@doc("The number of tokens generated across all completions emissions.")
- @projectedName("json", "completion_tokens")
- completionTokens: int32;
+ completion_tokens: int32;
@doc("The number of tokens in the provided prompts for the completions request.")
- @projectedName("json", "prompt_tokens")
- promptTokens: int32;
+ prompt_tokens: int32;
@doc("The total number of tokens processed for the completions request and response.")
- @projectedName("json", "total_tokens")
- totalTokens: int32;
+ total_tokens: int32;
}
@doc("""
@@ -238,18 +220,15 @@ Token limits and other settings may limit the number of choices generated.
""")
model ChatChoice {
@doc("The ordered index associated with this chat completions choice.")
- @projectedName("json", "index")
index: int32;
@doc("The chat message for a given chat completions prompt.")
- @projectedName("json", "message")
message: ChatResponseMessage;
#suppress "@azure-tools/typespec-azure-core/no-nullable" "The operation already returns nulls"
#suppress "@azure-tools/typespec-autorest/union-unsupported" "OpenAPI v2 support deferred"
@doc("The reason that this chat completions choice completed its generated.")
- @projectedName("json", "finish_reason")
- finishReason: CompletionsFinishReason | null;
+ finish_reason: CompletionsFinishReason | null;
}
@discriminator("role")
diff --git a/specification/ai/ModelClient/tspconfig.yaml b/specification/ai/ModelClient/tspconfig.yaml
index 8456fbe5d171..8c7c4d75c64e 100644
--- a/specification/ai/ModelClient/tspconfig.yaml
+++ b/specification/ai/ModelClient/tspconfig.yaml
@@ -6,6 +6,11 @@ parameters:
default: ""
emit:
- "@azure-tools/typespec-autorest"
+linter:
+ extends:
+ - "@azure-tools/typespec-azure-core/all"
+ disable:
+ "@azure-tools/typespec-azure-core/casing-style": "Disabled since JSON payload in REST API does not conform to Azure guidelines with regards to casing"
options:
"@azure-tools/typespec-autorest":
azure-resource-provider-folder: "data-plane"
@@ -17,6 +22,3 @@ options:
package-dir: "azure-ai-inference"
package-name: "{package-dir}"
flavor: azure
-linter:
- extends:
- - "@azure-tools/typespec-azure-core/all"
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index 739e1b8a51d7..9fa3934a4a8a 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -4,14 +4,14 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "qclspnaxydz",
+ "azureml-model-deployment": "avoclyhqnmuivlomzxvficq",
"chatCompletionsOptions": {
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -1,
+ "frequency_penalty": 0,
"presence_penalty": -2,
"temperature": 0,
"top_p": 0,
@@ -20,7 +20,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "b"
+ "ordrqcoghor"
],
"stream": true,
"tools": [
@@ -28,26 +28,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 5
+ "seed": 30
}
},
"responses": {
"200": {
"body": {
- "id": "ddm",
- "object": "kcbeleehxegkfozcap",
- "created": 7,
- "model": "at",
+ "id": "hsmpiuxgi",
+ "object": "t",
+ "created": 16,
+ "model": "okmnhcumjvfneohbpldhttbfzjg",
"choices": [
{
- "index": 4,
+ "index": 11,
"message": {
"role": "system",
- "content": "exlergdmrxoatd",
+ "content": "uqysdzkjdqaiiyyvyutoqcayb",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "yazhziuohbiefirbr"
+ "id": "obnwznlmlydakxk"
}
]
},
@@ -55,9 +55,9 @@
}
],
"usage": {
- "completion_tokens": 30,
- "prompt_tokens": 7,
- "total_tokens": 25
+ "completion_tokens": 27,
+ "prompt_tokens": 23,
+ "total_tokens": 30
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 4ac201b1095a..62961eac3b50 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,24 +14,24 @@
"responses": {
"200": {
"body": {
- "id": "ddm",
- "object": "kcbeleehxegkfozcap",
- "created": 7,
- "model": "at",
+ "id": "hsmpiuxgi",
+ "object": "t",
+ "created": 16,
+ "model": "okmnhcumjvfneohbpldhttbfzjg",
"choices": [
{
- "index": 4,
+ "index": 11,
"message": {
"role": "system",
- "content": "exlergdmrxoatd"
+ "content": "uqysdzkjdqaiiyyvyutoqcayb"
},
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 30,
- "prompt_tokens": 7,
- "total_tokens": 25
+ "completion_tokens": 27,
+ "prompt_tokens": 23,
+ "total_tokens": 30
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index 6aa2cbb14cc4..32a9dce2a523 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -4,10 +4,10 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "oqgvadjznwkiaajvnwljbxwpdn",
+ "azureml-model-deployment": "ilu",
"embeddingsOptions": {
"input": [
- "kxxknnegiwwyqn"
+ "fggycssnpxdiz"
],
"input_type": "text"
}
@@ -15,22 +15,22 @@
"responses": {
"200": {
"body": {
- "id": "o",
+ "id": "wglg",
"data": [
{
"embedding": [
- 12
+ 9
],
- "index": 2,
- "object": "uqqacl"
+ "index": 20,
+ "object": "oodpoxzonnvgdlrtliueknroxu"
}
],
"usage": {
- "prompt_tokens": 22,
- "total_tokens": 5
+ "prompt_tokens": 6,
+ "total_tokens": 11
},
- "object": "uxjdgciolcwcghb",
- "model": "coxcshqbgtsdhuibmshfpaccw"
+ "object": "xtkqgnviusvnficpmqxqphg",
+ "model": "tzkpqrstfzlaepnxxdcgm"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index 9505ce49734b..a95207e91f26 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,29 +5,29 @@
"api-version": "2024-04-01-preview",
"embeddingsOptions": {
"input": [
- "kxxknnegiwwyqn"
+ "fggycssnpxdiz"
]
}
},
"responses": {
"200": {
"body": {
- "id": "o",
+ "id": "wglg",
"data": [
{
"embedding": [
- 12
+ 9
],
- "index": 2,
- "object": "uqqacl"
+ "index": 20,
+ "object": "oodpoxzonnvgdlrtliueknroxu"
}
],
"usage": {
- "prompt_tokens": 22,
- "total_tokens": 5
+ "prompt_tokens": 6,
+ "total_tokens": 11
},
- "object": "uxjdgciolcwcghb",
- "model": "coxcshqbgtsdhuibmshfpaccw"
+ "object": "xtkqgnviusvnficpmqxqphg",
+ "model": "tzkpqrstfzlaepnxxdcgm"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index 7fc92c57a7e7..a69fad17cc76 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -279,8 +279,7 @@
"finish_reason": {
"$ref": "#/definitions/CompletionsFinishReason",
"description": "The reason that this chat completions choice completed its generated.",
- "x-nullable": true,
- "x-ms-client-name": "finishReason"
+ "x-nullable": true
}
},
"required": [
@@ -414,8 +413,7 @@
"description": "A value that influences the probability of generated tokens appearing based on their cumulative\nfrequency in generated text.\nPositive values will make tokens less likely to appear as their frequency increases and\ndecrease the likelihood of the model repeating the same statements verbatim.",
"default": 0,
"minimum": -2,
- "maximum": 2,
- "x-ms-client-name": "frequencyPenalty"
+ "maximum": 2
},
"presence_penalty": {
"type": "number",
@@ -423,8 +421,7 @@
"description": "A value that influences the probability of generated tokens appearing based on their existing\npresence in generated text.\nPositive values will make tokens less likely to appear when they already exist and increase the\nmodel's likelihood to output new topics.",
"default": 0,
"minimum": -2,
- "maximum": 2,
- "x-ms-client-name": "presencePenalty"
+ "maximum": 2
},
"temperature": {
"type": "number",
@@ -440,20 +437,17 @@
"description": "An alternative to sampling with temperature called nucleus sampling. This value causes the\nmodel to consider the results of tokens with the provided probability mass. As an example, a\nvalue of 0.15 will cause only the tokens comprising the top 15% of probability mass to be\nconsidered.\nIt is not recommended to modify temperature and top_p for the same completions request as the\ninteraction of these two settings is difficult to predict.",
"default": 1,
"minimum": 0,
- "maximum": 1,
- "x-ms-client-name": "topP"
+ "maximum": 1
},
"max_tokens": {
"type": "integer",
"format": "int32",
"description": "The maximum number of tokens to generate.",
- "minimum": 0,
- "x-ms-client-name": "maxTokens"
+ "minimum": 0
},
"response_format": {
"$ref": "#/definitions/ChatCompletionsResponseFormat",
- "description": "An object specifying the format that the model must output. Used to enable JSON mode.",
- "x-ms-client-name": "responseFormat"
+ "description": "An object specifying the format that the model must output. Used to enable JSON mode."
},
"stop": {
"type": "array",
@@ -770,20 +764,17 @@
"completion_tokens": {
"type": "integer",
"format": "int32",
- "description": "The number of tokens generated across all completions emissions.",
- "x-ms-client-name": "completionTokens"
+ "description": "The number of tokens generated across all completions emissions."
},
"prompt_tokens": {
"type": "integer",
"format": "int32",
- "description": "The number of tokens in the provided prompts for the completions request.",
- "x-ms-client-name": "promptTokens"
+ "description": "The number of tokens in the provided prompts for the completions request."
},
"total_tokens": {
"type": "integer",
"format": "int32",
- "description": "The total number of tokens processed for the completions request and response.",
- "x-ms-client-name": "totalTokens"
+ "description": "The total number of tokens processed for the completions request and response."
}
},
"required": [
From c26f993ec2271f0fabdd24905a99d2da062686dd Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 1 Apr 2024 17:15:37 -0700
Subject: [PATCH 035/343] Fix typos. Use alias instead of model for request
settings. Use common.tsp
---
.../GetChatCompletions_MaximumSet_Gen.json | 30 +-
.../GetChatCompletions_MinimumSet_Gen.json | 20 +-
.../GetEmbeddings_MaximumSet_Gen.json | 22 +-
.../GetEmbeddings_MinimumSet_Gen.json | 20 +-
.../ModelClient/models/chat_completions.tsp | 19 +-
.../ai/ModelClient/models/common.tsp | 34 ++
.../ai/ModelClient/models/embeddings.tsp | 9 +-
specification/ai/ModelClient/routes.tsp | 36 +--
.../GetChatCompletions_MaximumSet_Gen.json | 30 +-
.../GetChatCompletions_MinimumSet_Gen.json | 20 +-
.../GetEmbeddings_MaximumSet_Gen.json | 22 +-
.../GetEmbeddings_MinimumSet_Gen.json | 20 +-
.../preview/2024-04-01-preview/openapi.json | 292 +++++++++---------
13 files changed, 279 insertions(+), 295 deletions(-)
create mode 100644 specification/ai/ModelClient/models/common.tsp
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index 9fa3934a4a8a..7b9b0fc36f6a 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -4,14 +4,14 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "avoclyhqnmuivlomzxvficq",
- "chatCompletionsOptions": {
+ "azureml-model-deployment": "plpjuedmhjyrqlyxwz",
+ "body": {
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": 0,
+ "frequency_penalty": 1,
"presence_penalty": -2,
"temperature": 0,
"top_p": 0,
@@ -20,7 +20,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "ordrqcoghor"
+ "uamtjzfmqyaitpylvvugdy"
],
"stream": true,
"tools": [
@@ -28,26 +28,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 30
+ "seed": 12
}
},
"responses": {
"200": {
"body": {
- "id": "hsmpiuxgi",
- "object": "t",
- "created": 16,
- "model": "okmnhcumjvfneohbpldhttbfzjg",
+ "id": "baauxksfzyiaksvy",
+ "object": "uzorevsijgizsvkzn",
+ "created": 10,
+ "model": "ogtsmawgfrtch",
"choices": [
{
- "index": 11,
+ "index": 23,
"message": {
"role": "system",
- "content": "uqysdzkjdqaiiyyvyutoqcayb",
+ "content": "jkplvpbckbxcubunfqjdtcomx",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "obnwznlmlydakxk"
+ "id": "wtiayzuayhvkqtsygfcwwbayfforo"
}
]
},
@@ -55,9 +55,9 @@
}
],
"usage": {
- "completion_tokens": 27,
- "prompt_tokens": 23,
- "total_tokens": 30
+ "completion_tokens": 28,
+ "prompt_tokens": 25,
+ "total_tokens": 20
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 62961eac3b50..2450df698b22 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -3,7 +3,7 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "chatCompletionsOptions": {
+ "body": {
"messages": [
{
"role": "ChatRequestMessage"
@@ -14,24 +14,24 @@
"responses": {
"200": {
"body": {
- "id": "hsmpiuxgi",
- "object": "t",
- "created": 16,
- "model": "okmnhcumjvfneohbpldhttbfzjg",
+ "id": "baauxksfzyiaksvy",
+ "object": "uzorevsijgizsvkzn",
+ "created": 10,
+ "model": "ogtsmawgfrtch",
"choices": [
{
- "index": 11,
+ "index": 23,
"message": {
"role": "system",
- "content": "uqysdzkjdqaiiyyvyutoqcayb"
+ "content": "jkplvpbckbxcubunfqjdtcomx"
},
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 27,
- "prompt_tokens": 23,
- "total_tokens": 30
+ "completion_tokens": 28,
+ "prompt_tokens": 25,
+ "total_tokens": 20
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index 32a9dce2a523..70ae70809e3e 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -4,10 +4,10 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "ilu",
- "embeddingsOptions": {
+ "azureml-model-deployment": "pj",
+ "body": {
"input": [
- "fggycssnpxdiz"
+ "copkorrtsczhffddrkoc"
],
"input_type": "text"
}
@@ -15,22 +15,22 @@
"responses": {
"200": {
"body": {
- "id": "wglg",
+ "id": "lmoof",
"data": [
{
"embedding": [
- 9
+ 23
],
- "index": 20,
- "object": "oodpoxzonnvgdlrtliueknroxu"
+ "index": 5,
+ "object": "rhzfbdiitlbehkgkzgbdk"
}
],
"usage": {
- "prompt_tokens": 6,
- "total_tokens": 11
+ "prompt_tokens": 23,
+ "total_tokens": 23
},
- "object": "xtkqgnviusvnficpmqxqphg",
- "model": "tzkpqrstfzlaepnxxdcgm"
+ "object": "bxgcrzrbzpcehgvlfvssnfa",
+ "model": "bd"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index a95207e91f26..309e67a16e1d 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -3,31 +3,31 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "embeddingsOptions": {
+ "body": {
"input": [
- "fggycssnpxdiz"
+ "cbhmyvfodvxizghzzkxfab"
]
}
},
"responses": {
"200": {
"body": {
- "id": "wglg",
+ "id": "lmoof",
"data": [
{
"embedding": [
- 9
+ 23
],
- "index": 20,
- "object": "oodpoxzonnvgdlrtliueknroxu"
+ "index": 5,
+ "object": "rhzfbdiitlbehkgkzgbdk"
}
],
"usage": {
- "prompt_tokens": 6,
- "total_tokens": 11
+ "prompt_tokens": 23,
+ "total_tokens": 23
},
- "object": "xtkqgnviusvnficpmqxqphg",
- "model": "tzkpqrstfzlaepnxxdcgm"
+ "object": "bxgcrzrbzpcehgvlfvssnfa",
+ "model": "bd"
}
}
}
diff --git a/specification/ai/ModelClient/models/chat_completions.tsp b/specification/ai/ModelClient/models/chat_completions.tsp
index f4ddf1b8a9e7..2b2bd0c687da 100644
--- a/specification/ai/ModelClient/models/chat_completions.tsp
+++ b/specification/ai/ModelClient/models/chat_completions.tsp
@@ -8,18 +8,13 @@ using TypeSpec.Versioning;
namespace ModelClient;
-@doc("""
-The configuration information for a chat completions request.
-Completions support a wide variety of tasks and generate text that continues from or "completes"
-provided prompt data.
-""")
-model ChatCompletionsOptions {
+alias ChatCompletionsOptions = {
@doc("""
- The collection of context messages associated with this chat completions request.
- Typical usage begins with a chat message for the System role that provides instructions for
- the behavior of the assistant, followed by alternating messages between the User and
- Assistant roles.
- """)
+ The collection of context messages associated with this chat completions request.
+ Typical usage begins with a chat message for the System role that provides instructions for
+ the behavior of the assistant, followed by alternating messages between the User and
+ Assistant roles.
+ """)
@minItems(1)
messages: ChatRequestMessage[];
@@ -100,7 +95,7 @@ model ChatCompletionsOptions {
system_fingerprint response parameter to monitor changes in the backend."
""")
seed?: int64;
-}
+};
@doc("""
Representation of the response data from a chat completions request.
diff --git a/specification/ai/ModelClient/models/common.tsp b/specification/ai/ModelClient/models/common.tsp
new file mode 100644
index 000000000000..01c4e7572e18
--- /dev/null
+++ b/specification/ai/ModelClient/models/common.tsp
@@ -0,0 +1,34 @@
+import "@typespec/rest";
+import "@typespec/http";
+import "@typespec/versioning";
+
+using TypeSpec.Rest;
+using TypeSpec.Http;
+using TypeSpec.Versioning;
+
+namespace ModelClient;
+
+@doc("Defines the service behavior when unknown parameters are passed as extra properties in the request payload.")
+enum UnknownParameters {
+ @doc("The service should error when it sees unknown parameters in the request payload. This is the default behavior if the service.")
+ error: "error",
+
+ @doc("The service should ignore unknown parameters in the request payload. They will not be passed to the back-end AI model.")
+ ignore: "ignore",
+
+ @doc("The service should pass unknown parameters to the back-end AI model.")
+ allow: "allow",
+}
+
+alias AdditionalRequestHeaders = {
+ @doc("Controls what happens if unknown parameters are passed as extra properties in the request payload.")
+ @header("unknown-parameters")
+ unknownParameters?: UnknownParameters;
+
+ @doc("""
+ Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.
+ Typically used when you want to target a test environment instead of production environment.
+ """)
+ @header("azureml-model-deployment")
+ modelDeployment?: string;
+};
diff --git a/specification/ai/ModelClient/models/embeddings.tsp b/specification/ai/ModelClient/models/embeddings.tsp
index 0ca77c043998..bddd2018e293 100644
--- a/specification/ai/ModelClient/models/embeddings.tsp
+++ b/specification/ai/ModelClient/models/embeddings.tsp
@@ -8,19 +8,14 @@ using TypeSpec.Versioning;
namespace ModelClient;
-@doc("""
-The configuration information for an embeddings request.
-Embeddings measure the relatedness of text strings and are commonly used for search, clustering,
-recommendations, and other similar scenarios.
-""")
-model EmbeddingsOptions {
+alias EmbeddingsOptions = {
@doc("Input texts to get embeddings for, encoded as a an array of strings.")
input: string[];
@doc("Specifies the input type to use for embedding search.")
@encodedName("application/json", "input_type")
inputType?: EmbeddingInputType = EmbeddingInputType.text;
-}
+};
@doc("""
Representation of the response data from an embeddings request.
diff --git a/specification/ai/ModelClient/routes.tsp b/specification/ai/ModelClient/routes.tsp
index e9d3d49d2261..c95bccdce8b5 100644
--- a/specification/ai/ModelClient/routes.tsp
+++ b/specification/ai/ModelClient/routes.tsp
@@ -3,6 +3,7 @@ import "@typespec/rest";
import "@typespec/http";
import "@typespec/versioning";
+import "./models/common.tsp";
import "./models/chat_completions.tsp";
import "./models/embeddings.tsp";
@@ -14,31 +15,6 @@ using Azure.Core;
namespace ModelClient;
-@doc("Defines the service behaviour when unknown parameters are passed as extra properties in the request payload.")
-enum UnknownParameters {
- @doc("The service should error when it sees unknown parameters in the request payload. This is the default behaviour if the service.")
- error: "error",
-
- @doc("The service should ignore unknown parameters in the request payload. They will not be passed to the back-end AI model.")
- ignore: "ignore",
-
- @doc("The service should pass unknown parameters to the back-end AI model.")
- allow: "allow",
-}
-
-alias AdditionalRequestHeaders = {
- @doc("Controls what happens if unknown parameters are passed as extra properties in the request payload.")
- @header("unknown-parameters")
- unknownParameters?: UnknownParameters;
-
- @doc("""
- Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.
- Typically used when you want to target a test enviroment instead of production enviroment.
- """)
- @header("azureml-model-deployment")
- modelDeployment?: string;
-};
-
@doc("""
Gets chat completions for the provided chat messages.
Completions support a wide variety of tasks and generate text that continues from or "completes"
@@ -48,10 +24,7 @@ provided prompt data.
@route("v1/chat/completions")
op getChatCompletions is Azure.Core.RpcOperation<
{
- @doc("The JSON payload containing chat completion options.")
- @body
- chatCompletionsOptions: ChatCompletionsOptions;
-
+ ...ChatCompletionsOptions;
...AdditionalRequestHeaders;
},
ChatCompletions
@@ -62,10 +35,7 @@ op getChatCompletions is Azure.Core.RpcOperation<
@route("v1/embeddings")
op getEmbeddings is Azure.Core.RpcOperation<
{
- @doc("The JSON payload containing embedding options.")
- @body
- embeddingsOptions: EmbeddingsOptions;
-
+ ...EmbeddingsOptions;
...AdditionalRequestHeaders;
},
EmbeddingsResult
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index 9fa3934a4a8a..7b9b0fc36f6a 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -4,14 +4,14 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "avoclyhqnmuivlomzxvficq",
- "chatCompletionsOptions": {
+ "azureml-model-deployment": "plpjuedmhjyrqlyxwz",
+ "body": {
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": 0,
+ "frequency_penalty": 1,
"presence_penalty": -2,
"temperature": 0,
"top_p": 0,
@@ -20,7 +20,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "ordrqcoghor"
+ "uamtjzfmqyaitpylvvugdy"
],
"stream": true,
"tools": [
@@ -28,26 +28,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 30
+ "seed": 12
}
},
"responses": {
"200": {
"body": {
- "id": "hsmpiuxgi",
- "object": "t",
- "created": 16,
- "model": "okmnhcumjvfneohbpldhttbfzjg",
+ "id": "baauxksfzyiaksvy",
+ "object": "uzorevsijgizsvkzn",
+ "created": 10,
+ "model": "ogtsmawgfrtch",
"choices": [
{
- "index": 11,
+ "index": 23,
"message": {
"role": "system",
- "content": "uqysdzkjdqaiiyyvyutoqcayb",
+ "content": "jkplvpbckbxcubunfqjdtcomx",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "obnwznlmlydakxk"
+ "id": "wtiayzuayhvkqtsygfcwwbayfforo"
}
]
},
@@ -55,9 +55,9 @@
}
],
"usage": {
- "completion_tokens": 27,
- "prompt_tokens": 23,
- "total_tokens": 30
+ "completion_tokens": 28,
+ "prompt_tokens": 25,
+ "total_tokens": 20
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 62961eac3b50..2450df698b22 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -3,7 +3,7 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "chatCompletionsOptions": {
+ "body": {
"messages": [
{
"role": "ChatRequestMessage"
@@ -14,24 +14,24 @@
"responses": {
"200": {
"body": {
- "id": "hsmpiuxgi",
- "object": "t",
- "created": 16,
- "model": "okmnhcumjvfneohbpldhttbfzjg",
+ "id": "baauxksfzyiaksvy",
+ "object": "uzorevsijgizsvkzn",
+ "created": 10,
+ "model": "ogtsmawgfrtch",
"choices": [
{
- "index": 11,
+ "index": 23,
"message": {
"role": "system",
- "content": "uqysdzkjdqaiiyyvyutoqcayb"
+ "content": "jkplvpbckbxcubunfqjdtcomx"
},
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 27,
- "prompt_tokens": 23,
- "total_tokens": 30
+ "completion_tokens": 28,
+ "prompt_tokens": 25,
+ "total_tokens": 20
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index 32a9dce2a523..70ae70809e3e 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -4,10 +4,10 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "ilu",
- "embeddingsOptions": {
+ "azureml-model-deployment": "pj",
+ "body": {
"input": [
- "fggycssnpxdiz"
+ "copkorrtsczhffddrkoc"
],
"input_type": "text"
}
@@ -15,22 +15,22 @@
"responses": {
"200": {
"body": {
- "id": "wglg",
+ "id": "lmoof",
"data": [
{
"embedding": [
- 9
+ 23
],
- "index": 20,
- "object": "oodpoxzonnvgdlrtliueknroxu"
+ "index": 5,
+ "object": "rhzfbdiitlbehkgkzgbdk"
}
],
"usage": {
- "prompt_tokens": 6,
- "total_tokens": 11
+ "prompt_tokens": 23,
+ "total_tokens": 23
},
- "object": "xtkqgnviusvnficpmqxqphg",
- "model": "tzkpqrstfzlaepnxxdcgm"
+ "object": "bxgcrzrbzpcehgvlfvssnfa",
+ "model": "bd"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index a95207e91f26..309e67a16e1d 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -3,31 +3,31 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "embeddingsOptions": {
+ "body": {
"input": [
- "fggycssnpxdiz"
+ "cbhmyvfodvxizghzzkxfab"
]
}
},
"responses": {
"200": {
"body": {
- "id": "wglg",
+ "id": "lmoof",
"data": [
{
"embedding": [
- 9
+ 23
],
- "index": 20,
- "object": "oodpoxzonnvgdlrtliueknroxu"
+ "index": 5,
+ "object": "rhzfbdiitlbehkgkzgbdk"
}
],
"usage": {
- "prompt_tokens": 6,
- "total_tokens": 11
+ "prompt_tokens": 23,
+ "total_tokens": 23
},
- "object": "xtkqgnviusvnficpmqxqphg",
- "model": "tzkpqrstfzlaepnxxdcgm"
+ "object": "bxgcrzrbzpcehgvlfvssnfa",
+ "model": "bd"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index a69fad17cc76..33cda3d06b53 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -46,7 +46,7 @@
{
"name": "error",
"value": "error",
- "description": "The service should error when it sees unknown parameters in the request payload. This is the default behaviour if the service."
+ "description": "The service should error when it sees unknown parameters in the request payload. This is the default behavior if the service."
},
{
"name": "ignore",
@@ -65,18 +65,104 @@
{
"name": "azureml-model-deployment",
"in": "header",
- "description": "Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.\nTypically used when you want to target a test enviroment instead of production enviroment.",
+ "description": "Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.\nTypically used when you want to target a test environment instead of production environment.",
"required": false,
"type": "string",
"x-ms-client-name": "modelDeployment"
},
{
- "name": "chatCompletionsOptions",
+ "name": "body",
"in": "body",
- "description": "The JSON payload containing chat completion options.",
"required": true,
"schema": {
- "$ref": "#/definitions/ChatCompletionsOptions"
+ "type": "object",
+ "properties": {
+ "messages": {
+ "type": "array",
+ "description": "The collection of context messages associated with this chat completions request.\nTypical usage begins with a chat message for the System role that provides instructions for\nthe behavior of the assistant, followed by alternating messages between the User and\nAssistant roles.",
+ "minItems": 1,
+ "items": {
+ "$ref": "#/definitions/ChatRequestMessage"
+ },
+ "x-ms-identifiers": []
+ },
+ "frequency_penalty": {
+ "type": "number",
+ "format": "float",
+ "description": "A value that influences the probability of generated tokens appearing based on their cumulative\nfrequency in generated text.\nPositive values will make tokens less likely to appear as their frequency increases and\ndecrease the likelihood of the model repeating the same statements verbatim.",
+ "default": 0,
+ "minimum": -2,
+ "maximum": 2
+ },
+ "presence_penalty": {
+ "type": "number",
+ "format": "float",
+ "description": "A value that influences the probability of generated tokens appearing based on their existing\npresence in generated text.\nPositive values will make tokens less likely to appear when they already exist and increase the\nmodel's likelihood to output new topics.",
+ "default": 0,
+ "minimum": -2,
+ "maximum": 2
+ },
+ "temperature": {
+ "type": "number",
+ "format": "float",
+ "description": "The sampling temperature to use that controls the apparent creativity of generated completions.\nHigher values will make output more random while lower values will make results more focused\nand deterministic.\nIt is not recommended to modify temperature and top_p for the same completions request as the\ninteraction of these two settings is difficult to predict.",
+ "default": 0.7,
+ "minimum": 0,
+ "maximum": 1
+ },
+ "top_p": {
+ "type": "number",
+ "format": "float",
+ "description": "An alternative to sampling with temperature called nucleus sampling. This value causes the\nmodel to consider the results of tokens with the provided probability mass. As an example, a\nvalue of 0.15 will cause only the tokens comprising the top 15% of probability mass to be\nconsidered.\nIt is not recommended to modify temperature and top_p for the same completions request as the\ninteraction of these two settings is difficult to predict.",
+ "default": 1,
+ "minimum": 0,
+ "maximum": 1
+ },
+ "max_tokens": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of tokens to generate.",
+ "minimum": 0
+ },
+ "response_format": {
+ "$ref": "#/definitions/ChatCompletionsResponseFormat",
+ "description": "An object specifying the format that the model must output. Used to enable JSON mode."
+ },
+ "stop": {
+ "type": "array",
+ "description": "A collection of textual sequences that will end completions generation.",
+ "minItems": 1,
+ "items": {
+ "type": "string"
+ }
+ },
+ "stream": {
+ "type": "boolean",
+ "description": "A value indicating whether chat completions should be streamed for this request.",
+ "default": false
+ },
+ "tools": {
+ "type": "array",
+ "description": "The available tool definitions that the chat completions request can use, including caller-defined functions.",
+ "minItems": 1,
+ "items": {
+ "$ref": "#/definitions/ChatCompletionsToolDefinition"
+ },
+ "x-ms-identifiers": []
+ },
+ "tool_choice": {
+ "description": "If specified, the model will configure which of the provided tools it can use for the chat completions response.",
+ "x-ms-client-name": "toolChoice"
+ },
+ "seed": {
+ "type": "integer",
+ "format": "int64",
+ "description": "If specified, the system will make a best effort to sample deterministically such that repeated requests with the\nsame seed and parameters should return the same result. Determinism is not guaranteed, and you should refer to the\nsystem_fingerprint response parameter to monitor changes in the backend.\""
+ }
+ },
+ "required": [
+ "messages"
+ ]
}
}
],
@@ -136,7 +222,7 @@
{
"name": "error",
"value": "error",
- "description": "The service should error when it sees unknown parameters in the request payload. This is the default behaviour if the service."
+ "description": "The service should error when it sees unknown parameters in the request payload. This is the default behavior if the service."
},
{
"name": "ignore",
@@ -155,18 +241,61 @@
{
"name": "azureml-model-deployment",
"in": "header",
- "description": "Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.\nTypically used when you want to target a test enviroment instead of production enviroment.",
+ "description": "Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.\nTypically used when you want to target a test environment instead of production environment.",
"required": false,
"type": "string",
"x-ms-client-name": "modelDeployment"
},
{
- "name": "embeddingsOptions",
+ "name": "body",
"in": "body",
- "description": "The JSON payload containing embedding options.",
"required": true,
"schema": {
- "$ref": "#/definitions/EmbeddingsOptions"
+ "type": "object",
+ "properties": {
+ "input": {
+ "type": "array",
+ "description": "Input texts to get embeddings for, encoded as a an array of strings.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "input_type": {
+ "type": "string",
+ "description": "Specifies the input type to use for embedding search.",
+ "default": "text",
+ "enum": [
+ "text",
+ "query",
+ "document"
+ ],
+ "x-ms-enum": {
+ "name": "EmbeddingInputType",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "text",
+ "value": "text",
+ "description": "to do"
+ },
+ {
+ "name": "query",
+ "value": "query",
+ "description": "to do"
+ },
+ {
+ "name": "document",
+ "value": "document",
+ "description": "to do"
+ }
+ ]
+ },
+ "x-ms-client-name": "inputType"
+ }
+ },
+ "required": [
+ "input"
+ ]
}
}
],
@@ -394,97 +523,6 @@
"type"
]
},
- "ChatCompletionsOptions": {
- "type": "object",
- "description": "The configuration information for a chat completions request.\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.",
- "properties": {
- "messages": {
- "type": "array",
- "description": "The collection of context messages associated with this chat completions request.\nTypical usage begins with a chat message for the System role that provides instructions for\nthe behavior of the assistant, followed by alternating messages between the User and\nAssistant roles.",
- "minItems": 1,
- "items": {
- "$ref": "#/definitions/ChatRequestMessage"
- },
- "x-ms-identifiers": []
- },
- "frequency_penalty": {
- "type": "number",
- "format": "float",
- "description": "A value that influences the probability of generated tokens appearing based on their cumulative\nfrequency in generated text.\nPositive values will make tokens less likely to appear as their frequency increases and\ndecrease the likelihood of the model repeating the same statements verbatim.",
- "default": 0,
- "minimum": -2,
- "maximum": 2
- },
- "presence_penalty": {
- "type": "number",
- "format": "float",
- "description": "A value that influences the probability of generated tokens appearing based on their existing\npresence in generated text.\nPositive values will make tokens less likely to appear when they already exist and increase the\nmodel's likelihood to output new topics.",
- "default": 0,
- "minimum": -2,
- "maximum": 2
- },
- "temperature": {
- "type": "number",
- "format": "float",
- "description": "The sampling temperature to use that controls the apparent creativity of generated completions.\nHigher values will make output more random while lower values will make results more focused\nand deterministic.\nIt is not recommended to modify temperature and top_p for the same completions request as the\ninteraction of these two settings is difficult to predict.",
- "default": 0.7,
- "minimum": 0,
- "maximum": 1
- },
- "top_p": {
- "type": "number",
- "format": "float",
- "description": "An alternative to sampling with temperature called nucleus sampling. This value causes the\nmodel to consider the results of tokens with the provided probability mass. As an example, a\nvalue of 0.15 will cause only the tokens comprising the top 15% of probability mass to be\nconsidered.\nIt is not recommended to modify temperature and top_p for the same completions request as the\ninteraction of these two settings is difficult to predict.",
- "default": 1,
- "minimum": 0,
- "maximum": 1
- },
- "max_tokens": {
- "type": "integer",
- "format": "int32",
- "description": "The maximum number of tokens to generate.",
- "minimum": 0
- },
- "response_format": {
- "$ref": "#/definitions/ChatCompletionsResponseFormat",
- "description": "An object specifying the format that the model must output. Used to enable JSON mode."
- },
- "stop": {
- "type": "array",
- "description": "A collection of textual sequences that will end completions generation.",
- "minItems": 1,
- "items": {
- "type": "string"
- }
- },
- "stream": {
- "type": "boolean",
- "description": "A value indicating whether chat completions should be streamed for this request.",
- "default": false
- },
- "tools": {
- "type": "array",
- "description": "The available tool definitions that the chat completions request can use, including caller-defined functions.",
- "minItems": 1,
- "items": {
- "$ref": "#/definitions/ChatCompletionsToolDefinition"
- },
- "x-ms-identifiers": []
- },
- "tool_choice": {
- "description": "If specified, the model will configure which of the provided tools it can use for the chat completions response.",
- "x-ms-client-name": "toolChoice"
- },
- "seed": {
- "type": "integer",
- "format": "int64",
- "description": "If specified, the system will make a best effort to sample deterministically such that repeated requests with the\nsame seed and parameters should return the same result. Determinism is not guaranteed, and you should refer to the\nsystem_fingerprint response parameter to monitor changes in the backend.\""
- }
- },
- "required": [
- "messages"
- ]
- },
"ChatCompletionsResponseFormat": {
"type": "object",
"description": "An abstract representation of a response format configuration usable by Chat Completions. Can be used to enable JSON\nmode.",
@@ -841,54 +879,6 @@
"object"
]
},
- "EmbeddingsOptions": {
- "type": "object",
- "description": "The configuration information for an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.",
- "properties": {
- "input": {
- "type": "array",
- "description": "Input texts to get embeddings for, encoded as a an array of strings.",
- "items": {
- "type": "string"
- }
- },
- "input_type": {
- "type": "string",
- "description": "Specifies the input type to use for embedding search.",
- "default": "text",
- "enum": [
- "text",
- "query",
- "document"
- ],
- "x-ms-enum": {
- "name": "EmbeddingInputType",
- "modelAsString": true,
- "values": [
- {
- "name": "text",
- "value": "text",
- "description": "to do"
- },
- {
- "name": "query",
- "value": "query",
- "description": "to do"
- },
- {
- "name": "document",
- "value": "document",
- "description": "to do"
- }
- ]
- },
- "x-ms-client-name": "inputType"
- }
- },
- "required": [
- "input"
- ]
- },
"EmbeddingsResult": {
"type": "object",
"description": "Representation of the response data from an embeddings request.\nEmbeddings measure the relatedness of text strings and are commonly used for search, clustering,\nrecommendations, and other similar scenarios.",
@@ -988,7 +978,7 @@
},
"UnknownParameters": {
"type": "string",
- "description": "Defines the service behaviour when unknown parameters are passed as extra properties in the request payload.",
+ "description": "Defines the service behavior when unknown parameters are passed as extra properties in the request payload.",
"enum": [
"error",
"ignore",
@@ -1001,7 +991,7 @@
{
"name": "error",
"value": "error",
- "description": "The service should error when it sees unknown parameters in the request payload. This is the default behaviour if the service."
+ "description": "The service should error when it sees unknown parameters in the request payload. This is the default behavior if the service."
},
{
"name": "ignore",
From efeef7a343c495b1c2d525dd3aacf2dbc894ceb8 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Tue, 2 Apr 2024 17:56:35 -0700
Subject: [PATCH 036/343] Add image generation
---
.../GetChatCompletions_MaximumSet_Gen.json | 28 +--
.../GetChatCompletions_MinimumSet_Gen.json | 18 +-
.../GetEmbeddings_MaximumSet_Gen.json | 20 +-
.../GetEmbeddings_MinimumSet_Gen.json | 18 +-
.../GetImageGenerations_MaximumSet_Gen.json | 31 +++
.../GetImageGenerations_MinimumSet_Gen.json | 23 ++
.../ModelClient/models/chat_completions.tsp | 3 +-
.../ModelClient/models/image_generation.tsp | 89 +++++++
specification/ai/ModelClient/routes.tsp | 12 +
.../GetChatCompletions_MaximumSet_Gen.json | 28 +--
.../GetChatCompletions_MinimumSet_Gen.json | 18 +-
.../GetEmbeddings_MaximumSet_Gen.json | 20 +-
.../GetEmbeddings_MinimumSet_Gen.json | 18 +-
.../GetImageGenerations_MaximumSet_Gen.json | 31 +++
.../GetImageGenerations_MinimumSet_Gen.json | 23 ++
.../preview/2024-04-01-preview/openapi.json | 235 +++++++++++++++++-
16 files changed, 528 insertions(+), 87 deletions(-)
create mode 100644 specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
create mode 100644 specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
create mode 100644 specification/ai/ModelClient/models/image_generation.tsp
create mode 100644 specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
create mode 100644 specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index 7b9b0fc36f6a..be65975ee2d4 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -4,14 +4,14 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "plpjuedmhjyrqlyxwz",
+ "azureml-model-deployment": "pglefvljhlzoukl",
"body": {
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": 1,
+ "frequency_penalty": 0,
"presence_penalty": -2,
"temperature": 0,
"top_p": 0,
@@ -20,7 +20,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "uamtjzfmqyaitpylvvugdy"
+ "jqdujnbcklauuaxnj"
],
"stream": true,
"tools": [
@@ -28,26 +28,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 12
+ "seed": 21
}
},
"responses": {
"200": {
"body": {
- "id": "baauxksfzyiaksvy",
- "object": "uzorevsijgizsvkzn",
- "created": 10,
- "model": "ogtsmawgfrtch",
+ "id": "gbtiscxtqmztyjrmikhf",
+ "object": "tydbybazyllfxdp",
+ "created": 20,
+ "model": "qigsmvvmaqfkuuirqqpfynpxkfvinz",
"choices": [
{
- "index": 23,
+ "index": 28,
"message": {
"role": "system",
- "content": "jkplvpbckbxcubunfqjdtcomx",
+ "content": "iwzinrm",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "wtiayzuayhvkqtsygfcwwbayfforo"
+ "id": "mekxvfnststwlebncvajqpwnxn"
}
]
},
@@ -55,9 +55,9 @@
}
],
"usage": {
- "completion_tokens": 28,
- "prompt_tokens": 25,
- "total_tokens": 20
+ "completion_tokens": 3,
+ "prompt_tokens": 1,
+ "total_tokens": 19
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 2450df698b22..281787c5ce9f 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,24 +14,24 @@
"responses": {
"200": {
"body": {
- "id": "baauxksfzyiaksvy",
- "object": "uzorevsijgizsvkzn",
- "created": 10,
- "model": "ogtsmawgfrtch",
+ "id": "gbtiscxtqmztyjrmikhf",
+ "object": "tydbybazyllfxdp",
+ "created": 20,
+ "model": "qigsmvvmaqfkuuirqqpfynpxkfvinz",
"choices": [
{
- "index": 23,
+ "index": 28,
"message": {
"role": "system",
- "content": "jkplvpbckbxcubunfqjdtcomx"
+ "content": "iwzinrm"
},
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 28,
- "prompt_tokens": 25,
- "total_tokens": 20
+ "completion_tokens": 3,
+ "prompt_tokens": 1,
+ "total_tokens": 19
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index 70ae70809e3e..b5c948b0879a 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -4,10 +4,10 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "pj",
+ "azureml-model-deployment": "ewpcbieff",
"body": {
"input": [
- "copkorrtsczhffddrkoc"
+ "htpg"
],
"input_type": "text"
}
@@ -15,22 +15,22 @@
"responses": {
"200": {
"body": {
- "id": "lmoof",
+ "id": "xhwyggbsdaimiakvmsxcirfu",
"data": [
{
"embedding": [
- 23
+ 18
],
- "index": 5,
- "object": "rhzfbdiitlbehkgkzgbdk"
+ "index": 16,
+ "object": "lyicymftklj"
}
],
"usage": {
- "prompt_tokens": 23,
- "total_tokens": 23
+ "prompt_tokens": 27,
+ "total_tokens": 2
},
- "object": "bxgcrzrbzpcehgvlfvssnfa",
- "model": "bd"
+ "object": "szvtzcwsefzswpnfcboxfxiiyo",
+ "model": "jbgvgbjqmomyeslsyljyktwiipv"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index 309e67a16e1d..4abf1bdcfb25 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,29 +5,29 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "cbhmyvfodvxizghzzkxfab"
+ "vskamvbcowdzrfqznbuvkrclpu"
]
}
},
"responses": {
"200": {
"body": {
- "id": "lmoof",
+ "id": "xhwyggbsdaimiakvmsxcirfu",
"data": [
{
"embedding": [
- 23
+ 18
],
- "index": 5,
- "object": "rhzfbdiitlbehkgkzgbdk"
+ "index": 16,
+ "object": "lyicymftklj"
}
],
"usage": {
- "prompt_tokens": 23,
- "total_tokens": 23
+ "prompt_tokens": 27,
+ "total_tokens": 2
},
- "object": "bxgcrzrbzpcehgvlfvssnfa",
- "model": "bd"
+ "object": "szvtzcwsefzswpnfcboxfxiiyo",
+ "model": "jbgvgbjqmomyeslsyljyktwiipv"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
new file mode 100644
index 000000000000..21846c9eb0ed
--- /dev/null
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
@@ -0,0 +1,31 @@
+{
+ "title": "maximum set image generation",
+ "operationId": "GetImageGenerations",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "unknown-parameters": "error",
+ "azureml-model-deployment": "yx",
+ "body": {
+ "prompt": "xooawhhxrfiknuehilafefwnvtly",
+ "size": "iwitljodl",
+ "quality": "standard",
+ "response_format": "url",
+ "seed": 13
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "m",
+ "created": 6,
+ "model": "xciqbsjgbyjvqhjep",
+ "data": [
+ {
+ "url": "https://microsoft.com/a",
+ "b64_json": "aatitlaotrwfubwvqciv"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
new file mode 100644
index 000000000000..082b41bd4060
--- /dev/null
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
@@ -0,0 +1,23 @@
+{
+ "title": "minimum set image generation",
+ "operationId": "GetImageGenerations",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "body": {
+ "prompt": "uvyrmwtflhulaegrbfeb",
+ "size": "vkvsmfyrmvjpsqitqiiik"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "m",
+ "created": 6,
+ "model": "xciqbsjgbyjvqhjep",
+ "data": [
+ {}
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/ai/ModelClient/models/chat_completions.tsp b/specification/ai/ModelClient/models/chat_completions.tsp
index 2b2bd0c687da..5916292b45fc 100644
--- a/specification/ai/ModelClient/models/chat_completions.tsp
+++ b/specification/ai/ModelClient/models/chat_completions.tsp
@@ -91,8 +91,7 @@ alias ChatCompletionsOptions = {
@doc("""
If specified, the system will make a best effort to sample deterministically such that repeated requests with the
- same seed and parameters should return the same result. Determinism is not guaranteed, and you should refer to the
- system_fingerprint response parameter to monitor changes in the backend."
+ same seed and parameters should return the same result. Determinism is not guaranteed."
""")
seed?: int64;
};
diff --git a/specification/ai/ModelClient/models/image_generation.tsp b/specification/ai/ModelClient/models/image_generation.tsp
new file mode 100644
index 000000000000..d84b608ca49d
--- /dev/null
+++ b/specification/ai/ModelClient/models/image_generation.tsp
@@ -0,0 +1,89 @@
+import "@typespec/rest";
+import "@typespec/http";
+import "@typespec/versioning";
+
+using TypeSpec.Rest;
+using TypeSpec.Http;
+using TypeSpec.Versioning;
+
+namespace ModelClient;
+
+alias ImageGenerationOptions = {
+ @doc("A description of the desired images.")
+ prompt: string;
+
+ @doc("""
+ The desired dimension in pixels of the generated images, in the format "WidthxHeight".
+ For example: "1024x1024", "1792x1024".
+ """)
+ size: string;
+
+ @doc("""
+ The desired image generation quality level to use.
+ """)
+ quality?: ImageGenerationQuality = ImageGenerationQuality.standard;
+
+ @doc("The format in which image generation response items should be presented.")
+ response_format?: ImageGenerationResponseFormat;
+
+ @doc("""
+ If specified, the system will make a best effort to sample deterministically such that repeated requests with the
+ same seed and parameters should return the same result. Determinism is not guaranteed."
+ """)
+ seed?: int64;
+};
+
+@doc("The result of a successful image generation operation.")
+model ImageGenerations {
+ @doc("A unique identifier associated with this image generation response.")
+ id: string;
+
+ @doc("""
+ A timestamp representing when this operation was started.
+ Represented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970.
+ """)
+ @encode(DateTimeKnownEncoding.unixTimestamp, int32)
+ created: utcDateTime;
+
+ @doc("The model used for the image generation.")
+ `model`: string;
+
+ @doc("The images generated by the operation.")
+ data: ImageGenerationData[];
+}
+
+@doc("""
+An image generation configuration that specifies how the model should prioritize quality, cost, and speed.
+""")
+enum ImageGenerationQuality {
+ @doc("""
+ Requests image generation with standard, balanced characteristics of quality, cost, and speed.
+ """)
+ standard: "standard",
+
+ @doc("""
+ Requests image generation with higher quality, higher cost and lower speed relative to standard.
+ """)
+ hd: "hd",
+}
+
+@doc("The format in which the generated images are returned.")
+enum ImageGenerationResponseFormat {
+ @doc("Image generation response items should provide a URL from which the image may be retrieved.")
+ url: "url",
+
+ @doc("Image generation response items should provide image data as a base64-encoded string.")
+ base64: "b64_json",
+}
+
+@doc("""
+A representation of a single generated image, provided as either base64-encoded data or as a URL from which the image
+may be retrieved.
+""")
+model ImageGenerationData {
+ @doc("The URL that provides temporary access to download the generated image.")
+ url?: url;
+
+ @doc("The complete data for an image, represented as a base64-encoded string.")
+ b64_json?: string;
+}
diff --git a/specification/ai/ModelClient/routes.tsp b/specification/ai/ModelClient/routes.tsp
index c95bccdce8b5..a160a921522b 100644
--- a/specification/ai/ModelClient/routes.tsp
+++ b/specification/ai/ModelClient/routes.tsp
@@ -6,6 +6,7 @@ import "@typespec/versioning";
import "./models/common.tsp";
import "./models/chat_completions.tsp";
import "./models/embeddings.tsp";
+import "./models/image_generation.tsp";
using TypeSpec.Rest;
using TypeSpec.Http;
@@ -40,3 +41,14 @@ op getEmbeddings is Azure.Core.RpcOperation<
},
EmbeddingsResult
>;
+
+@doc("Creates images given a prompt.")
+@actionSeparator("/")
+@route("v1/images/generations")
+op getImageGenerations is Azure.Core.RpcOperation<
+ {
+ ...ImageGenerationOptions;
+ ...AdditionalRequestHeaders;
+ },
+ ImageGenerations
+>;
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index 7b9b0fc36f6a..be65975ee2d4 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -4,14 +4,14 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "plpjuedmhjyrqlyxwz",
+ "azureml-model-deployment": "pglefvljhlzoukl",
"body": {
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": 1,
+ "frequency_penalty": 0,
"presence_penalty": -2,
"temperature": 0,
"top_p": 0,
@@ -20,7 +20,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "uamtjzfmqyaitpylvvugdy"
+ "jqdujnbcklauuaxnj"
],
"stream": true,
"tools": [
@@ -28,26 +28,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 12
+ "seed": 21
}
},
"responses": {
"200": {
"body": {
- "id": "baauxksfzyiaksvy",
- "object": "uzorevsijgizsvkzn",
- "created": 10,
- "model": "ogtsmawgfrtch",
+ "id": "gbtiscxtqmztyjrmikhf",
+ "object": "tydbybazyllfxdp",
+ "created": 20,
+ "model": "qigsmvvmaqfkuuirqqpfynpxkfvinz",
"choices": [
{
- "index": 23,
+ "index": 28,
"message": {
"role": "system",
- "content": "jkplvpbckbxcubunfqjdtcomx",
+ "content": "iwzinrm",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "wtiayzuayhvkqtsygfcwwbayfforo"
+ "id": "mekxvfnststwlebncvajqpwnxn"
}
]
},
@@ -55,9 +55,9 @@
}
],
"usage": {
- "completion_tokens": 28,
- "prompt_tokens": 25,
- "total_tokens": 20
+ "completion_tokens": 3,
+ "prompt_tokens": 1,
+ "total_tokens": 19
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 2450df698b22..281787c5ce9f 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,24 +14,24 @@
"responses": {
"200": {
"body": {
- "id": "baauxksfzyiaksvy",
- "object": "uzorevsijgizsvkzn",
- "created": 10,
- "model": "ogtsmawgfrtch",
+ "id": "gbtiscxtqmztyjrmikhf",
+ "object": "tydbybazyllfxdp",
+ "created": 20,
+ "model": "qigsmvvmaqfkuuirqqpfynpxkfvinz",
"choices": [
{
- "index": 23,
+ "index": 28,
"message": {
"role": "system",
- "content": "jkplvpbckbxcubunfqjdtcomx"
+ "content": "iwzinrm"
},
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 28,
- "prompt_tokens": 25,
- "total_tokens": 20
+ "completion_tokens": 3,
+ "prompt_tokens": 1,
+ "total_tokens": 19
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index 70ae70809e3e..b5c948b0879a 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -4,10 +4,10 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "pj",
+ "azureml-model-deployment": "ewpcbieff",
"body": {
"input": [
- "copkorrtsczhffddrkoc"
+ "htpg"
],
"input_type": "text"
}
@@ -15,22 +15,22 @@
"responses": {
"200": {
"body": {
- "id": "lmoof",
+ "id": "xhwyggbsdaimiakvmsxcirfu",
"data": [
{
"embedding": [
- 23
+ 18
],
- "index": 5,
- "object": "rhzfbdiitlbehkgkzgbdk"
+ "index": 16,
+ "object": "lyicymftklj"
}
],
"usage": {
- "prompt_tokens": 23,
- "total_tokens": 23
+ "prompt_tokens": 27,
+ "total_tokens": 2
},
- "object": "bxgcrzrbzpcehgvlfvssnfa",
- "model": "bd"
+ "object": "szvtzcwsefzswpnfcboxfxiiyo",
+ "model": "jbgvgbjqmomyeslsyljyktwiipv"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index 309e67a16e1d..4abf1bdcfb25 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,29 +5,29 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "cbhmyvfodvxizghzzkxfab"
+ "vskamvbcowdzrfqznbuvkrclpu"
]
}
},
"responses": {
"200": {
"body": {
- "id": "lmoof",
+ "id": "xhwyggbsdaimiakvmsxcirfu",
"data": [
{
"embedding": [
- 23
+ 18
],
- "index": 5,
- "object": "rhzfbdiitlbehkgkzgbdk"
+ "index": 16,
+ "object": "lyicymftklj"
}
],
"usage": {
- "prompt_tokens": 23,
- "total_tokens": 23
+ "prompt_tokens": 27,
+ "total_tokens": 2
},
- "object": "bxgcrzrbzpcehgvlfvssnfa",
- "model": "bd"
+ "object": "szvtzcwsefzswpnfcboxfxiiyo",
+ "model": "jbgvgbjqmomyeslsyljyktwiipv"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
new file mode 100644
index 000000000000..21846c9eb0ed
--- /dev/null
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
@@ -0,0 +1,31 @@
+{
+ "title": "maximum set image generation",
+ "operationId": "GetImageGenerations",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "unknown-parameters": "error",
+ "azureml-model-deployment": "yx",
+ "body": {
+ "prompt": "xooawhhxrfiknuehilafefwnvtly",
+ "size": "iwitljodl",
+ "quality": "standard",
+ "response_format": "url",
+ "seed": 13
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "m",
+ "created": 6,
+ "model": "xciqbsjgbyjvqhjep",
+ "data": [
+ {
+ "url": "https://microsoft.com/a",
+ "b64_json": "aatitlaotrwfubwvqciv"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
new file mode 100644
index 000000000000..082b41bd4060
--- /dev/null
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
@@ -0,0 +1,23 @@
+{
+ "title": "minimum set image generation",
+ "operationId": "GetImageGenerations",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "body": {
+ "prompt": "uvyrmwtflhulaegrbfeb",
+ "size": "vkvsmfyrmvjpsqitqiiik"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "m",
+ "created": 6,
+ "model": "xciqbsjgbyjvqhjep",
+ "data": [
+ {}
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index 33cda3d06b53..9f0f2157d54d 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -157,7 +157,7 @@
"seed": {
"type": "integer",
"format": "int64",
- "description": "If specified, the system will make a best effort to sample deterministically such that repeated requests with the\nsame seed and parameters should return the same result. Determinism is not guaranteed, and you should refer to the\nsystem_fingerprint response parameter to monitor changes in the backend.\""
+ "description": "If specified, the system will make a best effort to sample deterministically such that repeated requests with the\nsame seed and parameters should return the same result. Determinism is not guaranteed.\""
}
},
"required": [
@@ -328,6 +328,143 @@
}
}
}
+ },
+ "/v1/images/generations": {
+ "post": {
+ "operationId": "GetImageGenerations",
+ "description": "Creates images given a prompt.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
+ },
+ {
+ "name": "unknown-parameters",
+ "in": "header",
+ "description": "Controls what happens if unknown parameters are passed as extra properties in the request payload.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "error",
+ "ignore",
+ "allow"
+ ],
+ "x-ms-enum": {
+ "name": "UnknownParameters",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "error",
+ "value": "error",
+ "description": "The service should error when it sees unknown parameters in the request payload. This is the default behavior if the service."
+ },
+ {
+ "name": "ignore",
+ "value": "ignore",
+ "description": "The service should ignore unknown parameters in the request payload. They will not be passed to the back-end AI model."
+ },
+ {
+ "name": "allow",
+ "value": "allow",
+ "description": "The service should pass unknown parameters to the back-end AI model."
+ }
+ ]
+ },
+ "x-ms-client-name": "unknownParameters"
+ },
+ {
+ "name": "azureml-model-deployment",
+ "in": "header",
+ "description": "Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.\nTypically used when you want to target a test environment instead of production environment.",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "modelDeployment"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "properties": {
+ "prompt": {
+ "type": "string",
+ "description": "A description of the desired images."
+ },
+ "size": {
+ "type": "string",
+ "description": "The desired dimension in pixels of the generated images, in the format \"WidthxHeight\".\nFor example: \"1024x1024\", \"1792x1024\"."
+ },
+ "quality": {
+ "type": "string",
+ "description": "The desired image generation quality level to use.",
+ "default": "standard",
+ "enum": [
+ "standard",
+ "hd"
+ ],
+ "x-ms-enum": {
+ "name": "ImageGenerationQuality",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "standard",
+ "value": "standard",
+ "description": "Requests image generation with standard, balanced characteristics of quality, cost, and speed."
+ },
+ {
+ "name": "hd",
+ "value": "hd",
+ "description": "Requests image generation with higher quality, higher cost and lower speed relative to standard."
+ }
+ ]
+ }
+ },
+ "response_format": {
+ "$ref": "#/definitions/ImageGenerationResponseFormat",
+ "description": "The format in which image generation response items should be presented."
+ },
+ "seed": {
+ "type": "integer",
+ "format": "int64",
+ "description": "If specified, the system will make a best effort to sample deterministically such that repeated requests with the\nsame seed and parameters should return the same result. Determinism is not guaranteed.\""
+ }
+ },
+ "required": [
+ "prompt",
+ "size"
+ ]
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ImageGenerations"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "type": "string",
+ "description": "String error code indicating what went wrong."
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "maximum set image generation": {
+ "$ref": "./examples/GetImageGenerations_MaximumSet_Gen.json"
+ },
+ "minimum set image generation": {
+ "$ref": "./examples/GetImageGenerations_MinimumSet_Gen.json"
+ }
+ }
+ }
}
},
"definitions": {
@@ -976,6 +1113,102 @@
"name"
]
},
+ "ImageGenerationData": {
+ "type": "object",
+ "description": "A representation of a single generated image, provided as either base64-encoded data or as a URL from which the image\nmay be retrieved.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL that provides temporary access to download the generated image."
+ },
+ "b64_json": {
+ "type": "string",
+ "description": "The complete data for an image, represented as a base64-encoded string."
+ }
+ }
+ },
+ "ImageGenerationQuality": {
+ "type": "string",
+ "description": "An image generation configuration that specifies how the model should prioritize quality, cost, and speed.",
+ "enum": [
+ "standard",
+ "hd"
+ ],
+ "x-ms-enum": {
+ "name": "ImageGenerationQuality",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "standard",
+ "value": "standard",
+ "description": "Requests image generation with standard, balanced characteristics of quality, cost, and speed."
+ },
+ {
+ "name": "hd",
+ "value": "hd",
+ "description": "Requests image generation with higher quality, higher cost and lower speed relative to standard."
+ }
+ ]
+ }
+ },
+ "ImageGenerationResponseFormat": {
+ "type": "string",
+ "description": "The format in which the generated images are returned.",
+ "enum": [
+ "url",
+ "b64_json"
+ ],
+ "x-ms-enum": {
+ "name": "ImageGenerationResponseFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "url",
+ "value": "url",
+ "description": "Image generation response items should provide a URL from which the image may be retrieved."
+ },
+ {
+ "name": "base64",
+ "value": "b64_json",
+ "description": "Image generation response items should provide image data as a base64-encoded string."
+ }
+ ]
+ }
+ },
+ "ImageGenerations": {
+ "type": "object",
+ "description": "The result of a successful image generation operation.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "A unique identifier associated with this image generation response."
+ },
+ "created": {
+ "type": "integer",
+ "format": "unixtime",
+ "description": "A timestamp representing when this operation was started.\nRepresented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970."
+ },
+ "model": {
+ "type": "string",
+ "description": "The model used for the image generation."
+ },
+ "data": {
+ "type": "array",
+ "description": "The images generated by the operation.",
+ "items": {
+ "$ref": "#/definitions/ImageGenerationData"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "required": [
+ "id",
+ "created",
+ "model",
+ "data"
+ ]
+ },
"UnknownParameters": {
"type": "string",
"description": "Defines the service behavior when unknown parameters are passed as extra properties in the request payload.",
From 9af8c9eba492a737bb53529bd6afed77b65eed04 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Wed, 3 Apr 2024 22:14:22 -0700
Subject: [PATCH 037/343] Update 'Usage' models
---
.../GetChatCompletions_MaximumSet_Gen.json | 29 +++----
.../GetChatCompletions_MinimumSet_Gen.json | 19 ++---
.../GetEmbeddings_MaximumSet_Gen.json | 22 ++---
.../GetEmbeddings_MinimumSet_Gen.json | 20 ++---
.../GetImageGenerations_MaximumSet_Gen.json | 16 ++--
.../GetImageGenerations_MinimumSet_Gen.json | 10 +--
.../ModelClient/models/chat_completions.tsp | 2 +
.../ai/ModelClient/models/common.tsp | 15 ++++
.../ai/ModelClient/models/embeddings.tsp | 20 +++--
.../ModelClient/models/image_generation.tsp | 2 +-
.../GetChatCompletions_MaximumSet_Gen.json | 29 +++----
.../GetChatCompletions_MinimumSet_Gen.json | 19 ++---
.../GetEmbeddings_MaximumSet_Gen.json | 22 ++---
.../GetEmbeddings_MinimumSet_Gen.json | 20 ++---
.../GetImageGenerations_MaximumSet_Gen.json | 16 ++--
.../GetImageGenerations_MinimumSet_Gen.json | 10 +--
.../preview/2024-04-01-preview/openapi.json | 80 +++++++++++--------
17 files changed, 198 insertions(+), 153 deletions(-)
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index be65975ee2d4..baf6b6503c2d 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -4,14 +4,14 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "pglefvljhlzoukl",
+ "azureml-model-deployment": "wdodqzfxtbqauxfgbn",
"body": {
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": 0,
+ "frequency_penalty": -1,
"presence_penalty": -2,
"temperature": 0,
"top_p": 0,
@@ -20,7 +20,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "jqdujnbcklauuaxnj"
+ "kpfcmsvturnjvs"
],
"stream": true,
"tools": [
@@ -28,26 +28,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 21
+ "seed": 20
}
},
"responses": {
"200": {
"body": {
- "id": "gbtiscxtqmztyjrmikhf",
- "object": "tydbybazyllfxdp",
- "created": 20,
- "model": "qigsmvvmaqfkuuirqqpfynpxkfvinz",
+ "id": "zzbqzxgihnxvmyampgwdchdp",
+ "object": "nhtver",
+ "created": 8,
+ "model": "lgywxagwtjilh",
"choices": [
{
- "index": 28,
+ "index": 20,
"message": {
"role": "system",
- "content": "iwzinrm",
+ "content": "iyjepwhcjyagt",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "mekxvfnststwlebncvajqpwnxn"
+ "id": "isgyupqydkgqgizqknaywafmky"
}
]
},
@@ -55,9 +55,10 @@
}
],
"usage": {
- "completion_tokens": 3,
- "prompt_tokens": 1,
- "total_tokens": 19
+ "capacity_type": "usage",
+ "completion_tokens": 2,
+ "prompt_tokens": 11,
+ "total_tokens": 12
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 281787c5ce9f..773b31e73302 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,24 +14,25 @@
"responses": {
"200": {
"body": {
- "id": "gbtiscxtqmztyjrmikhf",
- "object": "tydbybazyllfxdp",
- "created": 20,
- "model": "qigsmvvmaqfkuuirqqpfynpxkfvinz",
+ "id": "zzbqzxgihnxvmyampgwdchdp",
+ "object": "nhtver",
+ "created": 8,
+ "model": "lgywxagwtjilh",
"choices": [
{
- "index": 28,
+ "index": 20,
"message": {
"role": "system",
- "content": "iwzinrm"
+ "content": "iyjepwhcjyagt"
},
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 3,
- "prompt_tokens": 1,
- "total_tokens": 19
+ "capacity_type": "usage",
+ "completion_tokens": 2,
+ "prompt_tokens": 11,
+ "total_tokens": 12
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index b5c948b0879a..d9fec11e8f88 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -4,10 +4,10 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "ewpcbieff",
+ "azureml-model-deployment": "cnquvjshwxwasejrlribvxspgdcyno",
"body": {
"input": [
- "htpg"
+ "rvdcugmgaxsweyxmwacexiqzzdnv"
],
"input_type": "text"
}
@@ -15,22 +15,24 @@
"responses": {
"200": {
"body": {
- "id": "xhwyggbsdaimiakvmsxcirfu",
+ "id": "xoxxbviodejcnefbc",
"data": [
{
"embedding": [
- 18
+ 9
],
- "index": 16,
- "object": "lyicymftklj"
+ "index": 17,
+ "object": "qpnhqtqlctkj"
}
],
"usage": {
- "prompt_tokens": 27,
- "total_tokens": 2
+ "capacity_type": "usage",
+ "input_tokens": 7,
+ "prompt_tokens": 21,
+ "total_tokens": 14
},
- "object": "szvtzcwsefzswpnfcboxfxiiyo",
- "model": "jbgvgbjqmomyeslsyljyktwiipv"
+ "object": "hwtzuzdatzukwdmznv",
+ "model": "dntviiybgquylte"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index 4abf1bdcfb25..42296f286558 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,29 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "vskamvbcowdzrfqznbuvkrclpu"
+ "uksdjffdaorxqxuv"
]
}
},
"responses": {
"200": {
"body": {
- "id": "xhwyggbsdaimiakvmsxcirfu",
+ "id": "xoxxbviodejcnefbc",
"data": [
{
"embedding": [
- 18
+ 9
],
- "index": 16,
- "object": "lyicymftklj"
+ "index": 17,
+ "object": "qpnhqtqlctkj"
}
],
"usage": {
- "prompt_tokens": 27,
- "total_tokens": 2
+ "capacity_type": "usage",
+ "input_tokens": 7,
+ "prompt_tokens": 21,
+ "total_tokens": 14
},
- "object": "szvtzcwsefzswpnfcboxfxiiyo",
- "model": "jbgvgbjqmomyeslsyljyktwiipv"
+ "object": "hwtzuzdatzukwdmznv",
+ "model": "dntviiybgquylte"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
index 21846c9eb0ed..0208a82a6442 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
@@ -4,25 +4,25 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "yx",
+ "azureml-model-deployment": "zpckrf",
"body": {
- "prompt": "xooawhhxrfiknuehilafefwnvtly",
- "size": "iwitljodl",
+ "prompt": "wuifyhjsmqrfkpq",
+ "size": "qsmjjuclpkbzey",
"quality": "standard",
"response_format": "url",
- "seed": 13
+ "seed": 25
}
},
"responses": {
"200": {
"body": {
- "id": "m",
- "created": 6,
- "model": "xciqbsjgbyjvqhjep",
+ "id": "eoamupfuehbrw",
+ "created": 27,
+ "model": "afanuwmlmewyeorjjurb",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "aatitlaotrwfubwvqciv"
+ "b64_json": "uydlomkfojh"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
index 082b41bd4060..4f83c6e65ce8 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "uvyrmwtflhulaegrbfeb",
- "size": "vkvsmfyrmvjpsqitqiiik"
+ "prompt": "jpyuhpnidpubidvtzptzlnw",
+ "size": "odumumkfabzoorusutucauolkaexjy"
}
},
"responses": {
"200": {
"body": {
- "id": "m",
- "created": 6,
- "model": "xciqbsjgbyjvqhjep",
+ "id": "eoamupfuehbrw",
+ "created": 27,
+ "model": "afanuwmlmewyeorjjurb",
"data": [
{}
]
diff --git a/specification/ai/ModelClient/models/chat_completions.tsp b/specification/ai/ModelClient/models/chat_completions.tsp
index 5916292b45fc..29fb67bfff25 100644
--- a/specification/ai/ModelClient/models/chat_completions.tsp
+++ b/specification/ai/ModelClient/models/chat_completions.tsp
@@ -138,6 +138,8 @@ Counts consider all tokens across prompts, choices, choice alternates, best_of g
other consumers.
""")
model CompletionsUsage {
+ ...CapacityAlias;
+
@doc("The number of tokens generated across all completions emissions.")
completion_tokens: int32;
diff --git a/specification/ai/ModelClient/models/common.tsp b/specification/ai/ModelClient/models/common.tsp
index 01c4e7572e18..41834284102a 100644
--- a/specification/ai/ModelClient/models/common.tsp
+++ b/specification/ai/ModelClient/models/common.tsp
@@ -32,3 +32,18 @@ alias AdditionalRequestHeaders = {
@header("azureml-model-deployment")
modelDeployment?: string;
};
+
+
+alias CapacityAlias = {
+ @doc("Indicates whether your capacity has been affected by the usage amount (token count) reported here.")
+ capacity_type: CapacityType;
+};
+
+@doc("Whether your capacity has been afected by the usage amount (token count) reported here.")
+enum CapacityType {
+ @doc("Your capacity has been affected by the usage amount (token count) reported here.")
+ error: "usage",
+
+ @doc("Your capacity has not been affected by the usage amount (token count) reported here.")
+ ignore: "fixed",
+}
diff --git a/specification/ai/ModelClient/models/embeddings.tsp b/specification/ai/ModelClient/models/embeddings.tsp
index bddd2018e293..3fd85b52dd7e 100644
--- a/specification/ai/ModelClient/models/embeddings.tsp
+++ b/specification/ai/ModelClient/models/embeddings.tsp
@@ -13,8 +13,7 @@ alias EmbeddingsOptions = {
input: string[];
@doc("Specifies the input type to use for embedding search.")
- @encodedName("application/json", "input_type")
- inputType?: EmbeddingInputType = EmbeddingInputType.text;
+ input_type?: EmbeddingInputType;
};
@doc("""
@@ -68,11 +67,18 @@ model EmbeddingItem {
@doc("Measurement of the amount of tokens used in this request and response.")
model EmbeddingsUsage {
- @doc("Number of tokens sent in the original request.")
- @encodedName("application/json", "prompt_tokens")
- promptTokens: int32;
+ ...CapacityAlias;
+
+ @doc("Number of tokens in the request prompt.")
+ input_tokens: int32;
+
+ @doc("""
+ Number of tokens used for the prompt sent to the AI model. Typically identical to`input_tokens`.
+ However, certain AI models may add extra tokens to the input hence the number can be higher.
+ (for example when input_type="query").
+ """)
+ prompt_tokens: int32;
@doc("Total number of tokens transacted in this request/response.")
- @encodedName("application/json", "total_tokens")
- totalTokens: int32;
+ total_tokens: int32;
}
diff --git a/specification/ai/ModelClient/models/image_generation.tsp b/specification/ai/ModelClient/models/image_generation.tsp
index d84b608ca49d..5c699224de46 100644
--- a/specification/ai/ModelClient/models/image_generation.tsp
+++ b/specification/ai/ModelClient/models/image_generation.tsp
@@ -13,7 +13,7 @@ alias ImageGenerationOptions = {
prompt: string;
@doc("""
- The desired dimension in pixels of the generated images, in the format "WidthxHeight".
+ The desired dimension in pixels of the generated images, in the format "x".
For example: "1024x1024", "1792x1024".
""")
size: string;
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index be65975ee2d4..baf6b6503c2d 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -4,14 +4,14 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "pglefvljhlzoukl",
+ "azureml-model-deployment": "wdodqzfxtbqauxfgbn",
"body": {
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": 0,
+ "frequency_penalty": -1,
"presence_penalty": -2,
"temperature": 0,
"top_p": 0,
@@ -20,7 +20,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "jqdujnbcklauuaxnj"
+ "kpfcmsvturnjvs"
],
"stream": true,
"tools": [
@@ -28,26 +28,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 21
+ "seed": 20
}
},
"responses": {
"200": {
"body": {
- "id": "gbtiscxtqmztyjrmikhf",
- "object": "tydbybazyllfxdp",
- "created": 20,
- "model": "qigsmvvmaqfkuuirqqpfynpxkfvinz",
+ "id": "zzbqzxgihnxvmyampgwdchdp",
+ "object": "nhtver",
+ "created": 8,
+ "model": "lgywxagwtjilh",
"choices": [
{
- "index": 28,
+ "index": 20,
"message": {
"role": "system",
- "content": "iwzinrm",
+ "content": "iyjepwhcjyagt",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "mekxvfnststwlebncvajqpwnxn"
+ "id": "isgyupqydkgqgizqknaywafmky"
}
]
},
@@ -55,9 +55,10 @@
}
],
"usage": {
- "completion_tokens": 3,
- "prompt_tokens": 1,
- "total_tokens": 19
+ "capacity_type": "usage",
+ "completion_tokens": 2,
+ "prompt_tokens": 11,
+ "total_tokens": 12
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 281787c5ce9f..773b31e73302 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,24 +14,25 @@
"responses": {
"200": {
"body": {
- "id": "gbtiscxtqmztyjrmikhf",
- "object": "tydbybazyllfxdp",
- "created": 20,
- "model": "qigsmvvmaqfkuuirqqpfynpxkfvinz",
+ "id": "zzbqzxgihnxvmyampgwdchdp",
+ "object": "nhtver",
+ "created": 8,
+ "model": "lgywxagwtjilh",
"choices": [
{
- "index": 28,
+ "index": 20,
"message": {
"role": "system",
- "content": "iwzinrm"
+ "content": "iyjepwhcjyagt"
},
"finish_reason": "stop"
}
],
"usage": {
- "completion_tokens": 3,
- "prompt_tokens": 1,
- "total_tokens": 19
+ "capacity_type": "usage",
+ "completion_tokens": 2,
+ "prompt_tokens": 11,
+ "total_tokens": 12
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index b5c948b0879a..d9fec11e8f88 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -4,10 +4,10 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "ewpcbieff",
+ "azureml-model-deployment": "cnquvjshwxwasejrlribvxspgdcyno",
"body": {
"input": [
- "htpg"
+ "rvdcugmgaxsweyxmwacexiqzzdnv"
],
"input_type": "text"
}
@@ -15,22 +15,24 @@
"responses": {
"200": {
"body": {
- "id": "xhwyggbsdaimiakvmsxcirfu",
+ "id": "xoxxbviodejcnefbc",
"data": [
{
"embedding": [
- 18
+ 9
],
- "index": 16,
- "object": "lyicymftklj"
+ "index": 17,
+ "object": "qpnhqtqlctkj"
}
],
"usage": {
- "prompt_tokens": 27,
- "total_tokens": 2
+ "capacity_type": "usage",
+ "input_tokens": 7,
+ "prompt_tokens": 21,
+ "total_tokens": 14
},
- "object": "szvtzcwsefzswpnfcboxfxiiyo",
- "model": "jbgvgbjqmomyeslsyljyktwiipv"
+ "object": "hwtzuzdatzukwdmznv",
+ "model": "dntviiybgquylte"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index 4abf1bdcfb25..42296f286558 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,29 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "vskamvbcowdzrfqznbuvkrclpu"
+ "uksdjffdaorxqxuv"
]
}
},
"responses": {
"200": {
"body": {
- "id": "xhwyggbsdaimiakvmsxcirfu",
+ "id": "xoxxbviodejcnefbc",
"data": [
{
"embedding": [
- 18
+ 9
],
- "index": 16,
- "object": "lyicymftklj"
+ "index": 17,
+ "object": "qpnhqtqlctkj"
}
],
"usage": {
- "prompt_tokens": 27,
- "total_tokens": 2
+ "capacity_type": "usage",
+ "input_tokens": 7,
+ "prompt_tokens": 21,
+ "total_tokens": 14
},
- "object": "szvtzcwsefzswpnfcboxfxiiyo",
- "model": "jbgvgbjqmomyeslsyljyktwiipv"
+ "object": "hwtzuzdatzukwdmznv",
+ "model": "dntviiybgquylte"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
index 21846c9eb0ed..0208a82a6442 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
@@ -4,25 +4,25 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "yx",
+ "azureml-model-deployment": "zpckrf",
"body": {
- "prompt": "xooawhhxrfiknuehilafefwnvtly",
- "size": "iwitljodl",
+ "prompt": "wuifyhjsmqrfkpq",
+ "size": "qsmjjuclpkbzey",
"quality": "standard",
"response_format": "url",
- "seed": 13
+ "seed": 25
}
},
"responses": {
"200": {
"body": {
- "id": "m",
- "created": 6,
- "model": "xciqbsjgbyjvqhjep",
+ "id": "eoamupfuehbrw",
+ "created": 27,
+ "model": "afanuwmlmewyeorjjurb",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "aatitlaotrwfubwvqciv"
+ "b64_json": "uydlomkfojh"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
index 082b41bd4060..4f83c6e65ce8 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "uvyrmwtflhulaegrbfeb",
- "size": "vkvsmfyrmvjpsqitqiiik"
+ "prompt": "jpyuhpnidpubidvtzptzlnw",
+ "size": "odumumkfabzoorusutucauolkaexjy"
}
},
"responses": {
"200": {
"body": {
- "id": "m",
- "created": 6,
- "model": "xciqbsjgbyjvqhjep",
+ "id": "eoamupfuehbrw",
+ "created": 27,
+ "model": "afanuwmlmewyeorjjurb",
"data": [
{}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index 9f0f2157d54d..63c2fdce545e 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -261,36 +261,8 @@
}
},
"input_type": {
- "type": "string",
- "description": "Specifies the input type to use for embedding search.",
- "default": "text",
- "enum": [
- "text",
- "query",
- "document"
- ],
- "x-ms-enum": {
- "name": "EmbeddingInputType",
- "modelAsString": true,
- "values": [
- {
- "name": "text",
- "value": "text",
- "description": "to do"
- },
- {
- "name": "query",
- "value": "query",
- "description": "to do"
- },
- {
- "name": "document",
- "value": "document",
- "description": "to do"
- }
- ]
- },
- "x-ms-client-name": "inputType"
+ "$ref": "#/definitions/EmbeddingInputType",
+ "description": "Specifies the input type to use for embedding search."
}
},
"required": [
@@ -392,7 +364,7 @@
},
"size": {
"type": "string",
- "description": "The desired dimension in pixels of the generated images, in the format \"WidthxHeight\".\nFor example: \"1024x1024\", \"1792x1024\"."
+ "description": "The desired dimension in pixels of the generated images, in the format \"x\".\nFor example: \"1024x1024\", \"1792x1024\"."
},
"quality": {
"type": "string",
@@ -529,6 +501,30 @@
}
}
},
+ "CapacityType": {
+ "type": "string",
+ "description": "Whether your capacity has been afected by the usage amount (token count) reported here.",
+ "enum": [
+ "usage",
+ "fixed"
+ ],
+ "x-ms-enum": {
+ "name": "CapacityType",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "error",
+ "value": "usage",
+ "description": "Your capacity has been affected by the usage amount (token count) reported here."
+ },
+ {
+ "name": "ignore",
+ "value": "fixed",
+ "description": "Your capacity has not been affected by the usage amount (token count) reported here."
+ }
+ ]
+ }
+ },
"ChatChoice": {
"type": "object",
"description": "The representation of a single prompt completion as part of an overall chat completions request.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.",
@@ -936,6 +932,10 @@
"type": "object",
"description": "Representation of the token counts processed for a completions request.\nCounts consider all tokens across prompts, choices, choice alternates, best_of generations, and\nother consumers.",
"properties": {
+ "capacity_type": {
+ "$ref": "#/definitions/CapacityType",
+ "description": "Indicates whether your capacity has been affected by the usage amount (token count) reported here."
+ },
"completion_tokens": {
"type": "integer",
"format": "int32",
@@ -953,6 +953,7 @@
}
},
"required": [
+ "capacity_type",
"completion_tokens",
"prompt_tokens",
"total_tokens"
@@ -1057,20 +1058,29 @@
"type": "object",
"description": "Measurement of the amount of tokens used in this request and response.",
"properties": {
+ "capacity_type": {
+ "$ref": "#/definitions/CapacityType",
+ "description": "Indicates whether your capacity has been affected by the usage amount (token count) reported here."
+ },
+ "input_tokens": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of tokens in the request prompt."
+ },
"prompt_tokens": {
"type": "integer",
"format": "int32",
- "description": "Number of tokens sent in the original request.",
- "x-ms-client-name": "promptTokens"
+ "description": "Number of tokens used for the prompt sent to the AI model. Typically identical to`input_tokens`.\nHowever, certain AI models may add extra tokens to the input hence the number can be higher.\n(for example when input_type=\"query\")."
},
"total_tokens": {
"type": "integer",
"format": "int32",
- "description": "Total number of tokens transacted in this request/response.",
- "x-ms-client-name": "totalTokens"
+ "description": "Total number of tokens transacted in this request/response."
}
},
"required": [
+ "capacity_type",
+ "input_tokens",
"prompt_tokens",
"total_tokens"
]
From 7b772e1e83fb5fb9bee7913d512c9c71023d0013 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Wed, 3 Apr 2024 22:18:36 -0700
Subject: [PATCH 038/343] Fix following `tsp format`
---
specification/ai/ModelClient/models/common.tsp | 1 -
1 file changed, 1 deletion(-)
diff --git a/specification/ai/ModelClient/models/common.tsp b/specification/ai/ModelClient/models/common.tsp
index 41834284102a..12b2cf2e4fb8 100644
--- a/specification/ai/ModelClient/models/common.tsp
+++ b/specification/ai/ModelClient/models/common.tsp
@@ -33,7 +33,6 @@ alias AdditionalRequestHeaders = {
modelDeployment?: string;
};
-
alias CapacityAlias = {
@doc("Indicates whether your capacity has been affected by the usage amount (token count) reported here.")
capacity_type: CapacityType;
From 7a68070c6c1d788776547fe4f9b9bca5e2622d7e Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Wed, 3 Apr 2024 22:31:47 -0700
Subject: [PATCH 039/343] Fix enums
---
.../GetChatCompletions_MaximumSet_Gen.json | 30 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 18 +++++------
.../GetEmbeddings_MaximumSet_Gen.json | 22 +++++++-------
.../GetEmbeddings_MinimumSet_Gen.json | 20 ++++++-------
.../GetImageGenerations_MaximumSet_Gen.json | 16 +++++-----
.../GetImageGenerations_MinimumSet_Gen.json | 10 +++----
.../ModelClient/models/chat_completions.tsp | 8 +++--
.../ai/ModelClient/models/common.tsp | 8 +++--
.../ai/ModelClient/models/embeddings.tsp | 4 ++-
.../ModelClient/models/image_generation.tsp | 8 +++--
.../GetChatCompletions_MaximumSet_Gen.json | 30 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 18 +++++------
.../GetEmbeddings_MaximumSet_Gen.json | 22 +++++++-------
.../GetEmbeddings_MinimumSet_Gen.json | 20 ++++++-------
.../GetImageGenerations_MaximumSet_Gen.json | 16 +++++-----
.../GetImageGenerations_MinimumSet_Gen.json | 10 +++----
16 files changed, 137 insertions(+), 123 deletions(-)
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index baf6b6503c2d..2b94c7907a56 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -4,15 +4,15 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "wdodqzfxtbqauxfgbn",
+ "azureml-model-deployment": "sbxqdhisnvedthoknxfqfrxqjvvz",
"body": {
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -1,
- "presence_penalty": -2,
+ "frequency_penalty": 1,
+ "presence_penalty": 0,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
@@ -20,7 +20,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "kpfcmsvturnjvs"
+ "xivaykskanywbehspdis"
],
"stream": true,
"tools": [
@@ -28,26 +28,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 20
+ "seed": 21
}
},
"responses": {
"200": {
"body": {
- "id": "zzbqzxgihnxvmyampgwdchdp",
- "object": "nhtver",
- "created": 8,
- "model": "lgywxagwtjilh",
+ "id": "eqqsyjmx",
+ "object": "gxhzvtmxqrvlwagbcdjfwvcm",
+ "created": 18,
+ "model": "sinjkqekxep",
"choices": [
{
- "index": 20,
+ "index": 23,
"message": {
"role": "system",
- "content": "iyjepwhcjyagt",
+ "content": "qgopmdlgy",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "isgyupqydkgqgizqknaywafmky"
+ "id": "yqnpxcjcomo"
}
]
},
@@ -56,9 +56,9 @@
],
"usage": {
"capacity_type": "usage",
- "completion_tokens": 2,
- "prompt_tokens": 11,
- "total_tokens": 12
+ "completion_tokens": 21,
+ "prompt_tokens": 12,
+ "total_tokens": 21
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 773b31e73302..95f8cb92cfb5 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,25 +14,25 @@
"responses": {
"200": {
"body": {
- "id": "zzbqzxgihnxvmyampgwdchdp",
- "object": "nhtver",
- "created": 8,
- "model": "lgywxagwtjilh",
+ "id": "eqqsyjmx",
+ "object": "gxhzvtmxqrvlwagbcdjfwvcm",
+ "created": 18,
+ "model": "sinjkqekxep",
"choices": [
{
- "index": 20,
+ "index": 23,
"message": {
"role": "system",
- "content": "iyjepwhcjyagt"
+ "content": "qgopmdlgy"
},
"finish_reason": "stop"
}
],
"usage": {
"capacity_type": "usage",
- "completion_tokens": 2,
- "prompt_tokens": 11,
- "total_tokens": 12
+ "completion_tokens": 21,
+ "prompt_tokens": 12,
+ "total_tokens": 21
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index d9fec11e8f88..19870807286e 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -4,10 +4,10 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "cnquvjshwxwasejrlribvxspgdcyno",
+ "azureml-model-deployment": "xxfmherexnpixqktotsihebaeqlkwn",
"body": {
"input": [
- "rvdcugmgaxsweyxmwacexiqzzdnv"
+ "fdax"
],
"input_type": "text"
}
@@ -15,24 +15,24 @@
"responses": {
"200": {
"body": {
- "id": "xoxxbviodejcnefbc",
+ "id": "eurnfwkuzeopsndedouddk",
"data": [
{
"embedding": [
- 9
+ 11
],
- "index": 17,
- "object": "qpnhqtqlctkj"
+ "index": 12,
+ "object": "agmolyfyccmklewk"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 7,
- "prompt_tokens": 21,
- "total_tokens": 14
+ "input_tokens": 26,
+ "prompt_tokens": 9,
+ "total_tokens": 18
},
- "object": "hwtzuzdatzukwdmznv",
- "model": "dntviiybgquylte"
+ "object": "oae",
+ "model": "aymxkfdvct"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index 42296f286558..a7135f405636 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "uksdjffdaorxqxuv"
+ "pd"
]
}
},
"responses": {
"200": {
"body": {
- "id": "xoxxbviodejcnefbc",
+ "id": "eurnfwkuzeopsndedouddk",
"data": [
{
"embedding": [
- 9
+ 11
],
- "index": 17,
- "object": "qpnhqtqlctkj"
+ "index": 12,
+ "object": "agmolyfyccmklewk"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 7,
- "prompt_tokens": 21,
- "total_tokens": 14
+ "input_tokens": 26,
+ "prompt_tokens": 9,
+ "total_tokens": 18
},
- "object": "hwtzuzdatzukwdmznv",
- "model": "dntviiybgquylte"
+ "object": "oae",
+ "model": "aymxkfdvct"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
index 0208a82a6442..22563c239f1b 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
@@ -4,25 +4,25 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "zpckrf",
+ "azureml-model-deployment": "pikpkzrohfiapovzveivznic",
"body": {
- "prompt": "wuifyhjsmqrfkpq",
- "size": "qsmjjuclpkbzey",
+ "prompt": "htlcthhqyxlsungfxezgg",
+ "size": "sdixgjbtxdwlocueozokorrujpr",
"quality": "standard",
"response_format": "url",
- "seed": 25
+ "seed": 5
}
},
"responses": {
"200": {
"body": {
- "id": "eoamupfuehbrw",
- "created": 27,
- "model": "afanuwmlmewyeorjjurb",
+ "id": "fqcokvchkagmwkzwvh",
+ "created": 23,
+ "model": "qbjn",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "uydlomkfojh"
+ "b64_json": "svlnhvyp"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
index 4f83c6e65ce8..7dfc63270918 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "jpyuhpnidpubidvtzptzlnw",
- "size": "odumumkfabzoorusutucauolkaexjy"
+ "prompt": "khsbegoalsw",
+ "size": "wtclaoaqckufhjqfqmd"
}
},
"responses": {
"200": {
"body": {
- "id": "eoamupfuehbrw",
- "created": 27,
- "model": "afanuwmlmewyeorjjurb",
+ "id": "fqcokvchkagmwkzwvh",
+ "created": 23,
+ "model": "qbjn",
"data": [
{}
]
diff --git a/specification/ai/ModelClient/models/chat_completions.tsp b/specification/ai/ModelClient/models/chat_completions.tsp
index 29fb67bfff25..00cd51b0a5ef 100644
--- a/specification/ai/ModelClient/models/chat_completions.tsp
+++ b/specification/ai/ModelClient/models/chat_completions.tsp
@@ -153,7 +153,9 @@ model CompletionsUsage {
@doc("""
Representation of the manner in which a completions response concluded.
""")
-enum CompletionsFinishReason {
+union CompletionsFinishReason {
+ string,
+
@doc("Completions ended normally and reached its end of token generation.")
stopped: "stop",
@@ -168,7 +170,9 @@ enum CompletionsFinishReason {
}
@doc("A description of the intended purpose of a message within a chat completions interaction.")
-enum ChatRole {
+union ChatRole {
+ string,
+
@doc("The role that instructs or sets the behavior of the assistant.")
system: "system",
diff --git a/specification/ai/ModelClient/models/common.tsp b/specification/ai/ModelClient/models/common.tsp
index 12b2cf2e4fb8..cbb4980cf25a 100644
--- a/specification/ai/ModelClient/models/common.tsp
+++ b/specification/ai/ModelClient/models/common.tsp
@@ -9,7 +9,9 @@ using TypeSpec.Versioning;
namespace ModelClient;
@doc("Defines the service behavior when unknown parameters are passed as extra properties in the request payload.")
-enum UnknownParameters {
+union UnknownParameters {
+ string,
+
@doc("The service should error when it sees unknown parameters in the request payload. This is the default behavior if the service.")
error: "error",
@@ -39,7 +41,9 @@ alias CapacityAlias = {
};
@doc("Whether your capacity has been afected by the usage amount (token count) reported here.")
-enum CapacityType {
+union CapacityType {
+ string,
+
@doc("Your capacity has been affected by the usage amount (token count) reported here.")
error: "usage",
diff --git a/specification/ai/ModelClient/models/embeddings.tsp b/specification/ai/ModelClient/models/embeddings.tsp
index 3fd85b52dd7e..7c8b96a7df72 100644
--- a/specification/ai/ModelClient/models/embeddings.tsp
+++ b/specification/ai/ModelClient/models/embeddings.tsp
@@ -39,7 +39,9 @@ model EmbeddingsResult {
}
@doc("Represents the input types used for embedding search.")
-enum EmbeddingInputType {
+union EmbeddingInputType {
+ string,
+
@doc("to do")
text: "text",
diff --git a/specification/ai/ModelClient/models/image_generation.tsp b/specification/ai/ModelClient/models/image_generation.tsp
index 5c699224de46..7429f9625145 100644
--- a/specification/ai/ModelClient/models/image_generation.tsp
+++ b/specification/ai/ModelClient/models/image_generation.tsp
@@ -55,7 +55,9 @@ model ImageGenerations {
@doc("""
An image generation configuration that specifies how the model should prioritize quality, cost, and speed.
""")
-enum ImageGenerationQuality {
+union ImageGenerationQuality {
+ string,
+
@doc("""
Requests image generation with standard, balanced characteristics of quality, cost, and speed.
""")
@@ -68,7 +70,9 @@ enum ImageGenerationQuality {
}
@doc("The format in which the generated images are returned.")
-enum ImageGenerationResponseFormat {
+union ImageGenerationResponseFormat {
+ string,
+
@doc("Image generation response items should provide a URL from which the image may be retrieved.")
url: "url",
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index baf6b6503c2d..2b94c7907a56 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -4,15 +4,15 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "wdodqzfxtbqauxfgbn",
+ "azureml-model-deployment": "sbxqdhisnvedthoknxfqfrxqjvvz",
"body": {
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -1,
- "presence_penalty": -2,
+ "frequency_penalty": 1,
+ "presence_penalty": 0,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
@@ -20,7 +20,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "kpfcmsvturnjvs"
+ "xivaykskanywbehspdis"
],
"stream": true,
"tools": [
@@ -28,26 +28,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 20
+ "seed": 21
}
},
"responses": {
"200": {
"body": {
- "id": "zzbqzxgihnxvmyampgwdchdp",
- "object": "nhtver",
- "created": 8,
- "model": "lgywxagwtjilh",
+ "id": "eqqsyjmx",
+ "object": "gxhzvtmxqrvlwagbcdjfwvcm",
+ "created": 18,
+ "model": "sinjkqekxep",
"choices": [
{
- "index": 20,
+ "index": 23,
"message": {
"role": "system",
- "content": "iyjepwhcjyagt",
+ "content": "qgopmdlgy",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "isgyupqydkgqgizqknaywafmky"
+ "id": "yqnpxcjcomo"
}
]
},
@@ -56,9 +56,9 @@
],
"usage": {
"capacity_type": "usage",
- "completion_tokens": 2,
- "prompt_tokens": 11,
- "total_tokens": 12
+ "completion_tokens": 21,
+ "prompt_tokens": 12,
+ "total_tokens": 21
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 773b31e73302..95f8cb92cfb5 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,25 +14,25 @@
"responses": {
"200": {
"body": {
- "id": "zzbqzxgihnxvmyampgwdchdp",
- "object": "nhtver",
- "created": 8,
- "model": "lgywxagwtjilh",
+ "id": "eqqsyjmx",
+ "object": "gxhzvtmxqrvlwagbcdjfwvcm",
+ "created": 18,
+ "model": "sinjkqekxep",
"choices": [
{
- "index": 20,
+ "index": 23,
"message": {
"role": "system",
- "content": "iyjepwhcjyagt"
+ "content": "qgopmdlgy"
},
"finish_reason": "stop"
}
],
"usage": {
"capacity_type": "usage",
- "completion_tokens": 2,
- "prompt_tokens": 11,
- "total_tokens": 12
+ "completion_tokens": 21,
+ "prompt_tokens": 12,
+ "total_tokens": 21
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index d9fec11e8f88..19870807286e 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -4,10 +4,10 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "cnquvjshwxwasejrlribvxspgdcyno",
+ "azureml-model-deployment": "xxfmherexnpixqktotsihebaeqlkwn",
"body": {
"input": [
- "rvdcugmgaxsweyxmwacexiqzzdnv"
+ "fdax"
],
"input_type": "text"
}
@@ -15,24 +15,24 @@
"responses": {
"200": {
"body": {
- "id": "xoxxbviodejcnefbc",
+ "id": "eurnfwkuzeopsndedouddk",
"data": [
{
"embedding": [
- 9
+ 11
],
- "index": 17,
- "object": "qpnhqtqlctkj"
+ "index": 12,
+ "object": "agmolyfyccmklewk"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 7,
- "prompt_tokens": 21,
- "total_tokens": 14
+ "input_tokens": 26,
+ "prompt_tokens": 9,
+ "total_tokens": 18
},
- "object": "hwtzuzdatzukwdmznv",
- "model": "dntviiybgquylte"
+ "object": "oae",
+ "model": "aymxkfdvct"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index 42296f286558..a7135f405636 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "uksdjffdaorxqxuv"
+ "pd"
]
}
},
"responses": {
"200": {
"body": {
- "id": "xoxxbviodejcnefbc",
+ "id": "eurnfwkuzeopsndedouddk",
"data": [
{
"embedding": [
- 9
+ 11
],
- "index": 17,
- "object": "qpnhqtqlctkj"
+ "index": 12,
+ "object": "agmolyfyccmklewk"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 7,
- "prompt_tokens": 21,
- "total_tokens": 14
+ "input_tokens": 26,
+ "prompt_tokens": 9,
+ "total_tokens": 18
},
- "object": "hwtzuzdatzukwdmznv",
- "model": "dntviiybgquylte"
+ "object": "oae",
+ "model": "aymxkfdvct"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
index 0208a82a6442..22563c239f1b 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
@@ -4,25 +4,25 @@
"parameters": {
"api-version": "2024-04-01-preview",
"unknown-parameters": "error",
- "azureml-model-deployment": "zpckrf",
+ "azureml-model-deployment": "pikpkzrohfiapovzveivznic",
"body": {
- "prompt": "wuifyhjsmqrfkpq",
- "size": "qsmjjuclpkbzey",
+ "prompt": "htlcthhqyxlsungfxezgg",
+ "size": "sdixgjbtxdwlocueozokorrujpr",
"quality": "standard",
"response_format": "url",
- "seed": 25
+ "seed": 5
}
},
"responses": {
"200": {
"body": {
- "id": "eoamupfuehbrw",
- "created": 27,
- "model": "afanuwmlmewyeorjjurb",
+ "id": "fqcokvchkagmwkzwvh",
+ "created": 23,
+ "model": "qbjn",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "uydlomkfojh"
+ "b64_json": "svlnhvyp"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
index 4f83c6e65ce8..7dfc63270918 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "jpyuhpnidpubidvtzptzlnw",
- "size": "odumumkfabzoorusutucauolkaexjy"
+ "prompt": "khsbegoalsw",
+ "size": "wtclaoaqckufhjqfqmd"
}
},
"responses": {
"200": {
"body": {
- "id": "eoamupfuehbrw",
- "created": 27,
- "model": "afanuwmlmewyeorjjurb",
+ "id": "fqcokvchkagmwkzwvh",
+ "created": 23,
+ "model": "qbjn",
"data": [
{}
]
From 58c70bef538e71dd512407c438d4c957fdc75cfd Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Wed, 3 Apr 2024 22:47:50 -0700
Subject: [PATCH 040/343] Fix typo
---
specification/ai/ModelClient/models/common.tsp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/specification/ai/ModelClient/models/common.tsp b/specification/ai/ModelClient/models/common.tsp
index cbb4980cf25a..dafb22843bfe 100644
--- a/specification/ai/ModelClient/models/common.tsp
+++ b/specification/ai/ModelClient/models/common.tsp
@@ -40,7 +40,7 @@ alias CapacityAlias = {
capacity_type: CapacityType;
};
-@doc("Whether your capacity has been afected by the usage amount (token count) reported here.")
+@doc("Whether your capacity has been affected by the usage amount (token count) reported here.")
union CapacityType {
string,
From 319f92bd61ce8acce6e0c5e14025d7d6f34430e3 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Thu, 4 Apr 2024 07:45:06 -0700
Subject: [PATCH 041/343] Fix the same typo in swagger
---
.../ModelClient/preview/2024-04-01-preview/openapi.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index 63c2fdce545e..1f4ba0738ea4 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -503,7 +503,7 @@
},
"CapacityType": {
"type": "string",
- "description": "Whether your capacity has been afected by the usage amount (token count) reported here.",
+ "description": "Whether your capacity has been affected by the usage amount (token count) reported here.",
"enum": [
"usage",
"fixed"
From 227172eb4c80e86d103825ccbb37e4583167c4e5 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Thu, 4 Apr 2024 14:31:47 -0700
Subject: [PATCH 042/343] Add Record for extra parameters
---
.../GetChatCompletions_MaximumSet_Gen.json | 33 +-
.../GetChatCompletions_MinimumSet_Gen.json | 18 +-
.../GetEmbeddings_MaximumSet_Gen.json | 25 +-
.../GetEmbeddings_MinimumSet_Gen.json | 18 +-
.../GetImageGenerations_MaximumSet_Gen.json | 21 +-
.../GetImageGenerations_MinimumSet_Gen.json | 10 +-
.../ModelClient/models/chat_completions.tsp | 4 +-
.../ai/ModelClient/models/common.tsp | 30 +-
.../ai/ModelClient/models/embeddings.tsp | 4 +-
.../ModelClient/models/image_generation.tsp | 4 +-
specification/ai/ModelClient/routes.tsp | 3 +-
.../GetChatCompletions_MaximumSet_Gen.json | 33 +-
.../GetChatCompletions_MinimumSet_Gen.json | 18 +-
.../GetEmbeddings_MaximumSet_Gen.json | 25 +-
.../GetEmbeddings_MinimumSet_Gen.json | 18 +-
.../GetImageGenerations_MaximumSet_Gen.json | 21 +-
.../GetImageGenerations_MinimumSet_Gen.json | 10 +-
.../preview/2024-04-01-preview/openapi.json | 387 +++++++++---------
18 files changed, 364 insertions(+), 318 deletions(-)
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index 2b94c7907a56..dfb46e612fb8 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -3,16 +3,19 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "unknown-parameters": "error",
- "azureml-model-deployment": "sbxqdhisnvedthoknxfqfrxqjvvz",
+ "extra-parameters": "error",
+ "azureml-model-deployment": "tonilp",
"body": {
+ "extras": {
+ "key6891": "kbemeffwrchpubwol"
+ },
"messages": [
{
"role": "ChatRequestMessage"
}
],
"frequency_penalty": 1,
- "presence_penalty": 0,
+ "presence_penalty": -2,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
@@ -20,7 +23,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "xivaykskanywbehspdis"
+ "ybcbdvregoivwxvdfcczuvpeqmeupo"
],
"stream": true,
"tools": [
@@ -28,26 +31,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 21
+ "seed": 1
}
},
"responses": {
"200": {
"body": {
- "id": "eqqsyjmx",
- "object": "gxhzvtmxqrvlwagbcdjfwvcm",
- "created": 18,
- "model": "sinjkqekxep",
+ "id": "ejh",
+ "object": "jdlektbtkmlafuey",
+ "created": 13,
+ "model": "s",
"choices": [
{
- "index": 23,
+ "index": 20,
"message": {
"role": "system",
- "content": "qgopmdlgy",
+ "content": "buywjxoocqnus",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "yqnpxcjcomo"
+ "id": "jxt"
}
]
},
@@ -56,9 +59,9 @@
],
"usage": {
"capacity_type": "usage",
- "completion_tokens": 21,
- "prompt_tokens": 12,
- "total_tokens": 21
+ "completion_tokens": 15,
+ "prompt_tokens": 26,
+ "total_tokens": 18
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 95f8cb92cfb5..c2bbf5cc38bd 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,25 +14,25 @@
"responses": {
"200": {
"body": {
- "id": "eqqsyjmx",
- "object": "gxhzvtmxqrvlwagbcdjfwvcm",
- "created": 18,
- "model": "sinjkqekxep",
+ "id": "ejh",
+ "object": "jdlektbtkmlafuey",
+ "created": 13,
+ "model": "s",
"choices": [
{
- "index": 23,
+ "index": 20,
"message": {
"role": "system",
- "content": "qgopmdlgy"
+ "content": "buywjxoocqnus"
},
"finish_reason": "stop"
}
],
"usage": {
"capacity_type": "usage",
- "completion_tokens": 21,
- "prompt_tokens": 12,
- "total_tokens": 21
+ "completion_tokens": 15,
+ "prompt_tokens": 26,
+ "total_tokens": 18
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index 19870807286e..f681b9608410 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -3,11 +3,14 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "unknown-parameters": "error",
- "azureml-model-deployment": "xxfmherexnpixqktotsihebaeqlkwn",
+ "extra-parameters": "error",
+ "azureml-model-deployment": "keqnpizxpgkjtrphualhgo",
"body": {
+ "extras": {
+ "key4791": "wlkccycrgulewayprqmixvcqoeh"
+ },
"input": [
- "fdax"
+ "omeboabffdok"
],
"input_type": "text"
}
@@ -15,24 +18,24 @@
"responses": {
"200": {
"body": {
- "id": "eurnfwkuzeopsndedouddk",
+ "id": "uhcfa",
"data": [
{
"embedding": [
- 11
+ 12
],
- "index": 12,
- "object": "agmolyfyccmklewk"
+ "index": 14,
+ "object": "acrufadzyvaxlfihmkngxqcaxj"
}
],
"usage": {
"capacity_type": "usage",
"input_tokens": 26,
- "prompt_tokens": 9,
- "total_tokens": 18
+ "prompt_tokens": 13,
+ "total_tokens": 20
},
- "object": "oae",
- "model": "aymxkfdvct"
+ "object": "jeihlrgdjmkyjdk",
+ "model": "pgjmftxyblmvutylczqjj"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index a7135f405636..c5d44ff68509 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "pd"
+ "kctpevtlklpvjk"
]
}
},
"responses": {
"200": {
"body": {
- "id": "eurnfwkuzeopsndedouddk",
+ "id": "uhcfa",
"data": [
{
"embedding": [
- 11
+ 12
],
- "index": 12,
- "object": "agmolyfyccmklewk"
+ "index": 14,
+ "object": "acrufadzyvaxlfihmkngxqcaxj"
}
],
"usage": {
"capacity_type": "usage",
"input_tokens": 26,
- "prompt_tokens": 9,
- "total_tokens": 18
+ "prompt_tokens": 13,
+ "total_tokens": 20
},
- "object": "oae",
- "model": "aymxkfdvct"
+ "object": "jeihlrgdjmkyjdk",
+ "model": "pgjmftxyblmvutylczqjj"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
index 22563c239f1b..19ffefa62fcf 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
@@ -3,26 +3,29 @@
"operationId": "GetImageGenerations",
"parameters": {
"api-version": "2024-04-01-preview",
- "unknown-parameters": "error",
- "azureml-model-deployment": "pikpkzrohfiapovzveivznic",
+ "extra-parameters": "error",
+ "azureml-model-deployment": "mqyhplyskslifaoxuvho",
"body": {
- "prompt": "htlcthhqyxlsungfxezgg",
- "size": "sdixgjbtxdwlocueozokorrujpr",
+ "extras": {
+ "key9873": "mjwetwlps"
+ },
+ "prompt": "pwodoqb",
+ "size": "kzf",
"quality": "standard",
"response_format": "url",
- "seed": 5
+ "seed": 2
}
},
"responses": {
"200": {
"body": {
- "id": "fqcokvchkagmwkzwvh",
- "created": 23,
- "model": "qbjn",
+ "id": "ijyymqifsiaekwavwtcmrbn",
+ "created": 17,
+ "model": "m",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "svlnhvyp"
+ "b64_json": "ehfcbuotnxovacoh"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
index 7dfc63270918..5a8fd21e7369 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "khsbegoalsw",
- "size": "wtclaoaqckufhjqfqmd"
+ "prompt": "jiftc",
+ "size": "qrvtgulvssvxuba"
}
},
"responses": {
"200": {
"body": {
- "id": "fqcokvchkagmwkzwvh",
- "created": 23,
- "model": "qbjn",
+ "id": "ijyymqifsiaekwavwtcmrbn",
+ "created": 17,
+ "model": "m",
"data": [
{}
]
diff --git a/specification/ai/ModelClient/models/chat_completions.tsp b/specification/ai/ModelClient/models/chat_completions.tsp
index 00cd51b0a5ef..32e0540d556f 100644
--- a/specification/ai/ModelClient/models/chat_completions.tsp
+++ b/specification/ai/ModelClient/models/chat_completions.tsp
@@ -1,14 +1,14 @@
import "@typespec/rest";
import "@typespec/http";
-import "@typespec/versioning";
using TypeSpec.Rest;
using TypeSpec.Http;
-using TypeSpec.Versioning;
namespace ModelClient;
alias ChatCompletionsOptions = {
+ ...ExtraRequestParameters;
+
@doc("""
The collection of context messages associated with this chat completions request.
Typical usage begins with a chat message for the System role that provides instructions for
diff --git a/specification/ai/ModelClient/models/common.tsp b/specification/ai/ModelClient/models/common.tsp
index dafb22843bfe..3ddd56d901ac 100644
--- a/specification/ai/ModelClient/models/common.tsp
+++ b/specification/ai/ModelClient/models/common.tsp
@@ -1,38 +1,36 @@
import "@typespec/rest";
import "@typespec/http";
-import "@typespec/versioning";
using TypeSpec.Rest;
using TypeSpec.Http;
-using TypeSpec.Versioning;
namespace ModelClient;
-@doc("Defines the service behavior when unknown parameters are passed as extra properties in the request payload.")
-union UnknownParameters {
+@doc("Defines the service behavior when extra parameters are passed in the request payload.")
+union ExtraParameters {
string,
- @doc("The service should error when it sees unknown parameters in the request payload. This is the default behavior if the service.")
+ @doc("The service should error when it sees extra parameters in the request payload. This is the default behavior if the service.")
error: "error",
- @doc("The service should ignore unknown parameters in the request payload. They will not be passed to the back-end AI model.")
+ @doc("The service should ignore extra parameters in the request payload. They will not be passed to the back-end AI model.")
ignore: "ignore",
- @doc("The service should pass unknown parameters to the back-end AI model.")
+ @doc("The service should pass extra parameters to the back-end AI model.")
allow: "allow",
}
alias AdditionalRequestHeaders = {
- @doc("Controls what happens if unknown parameters are passed as extra properties in the request payload.")
- @header("unknown-parameters")
- unknownParameters?: UnknownParameters;
+ @doc("Controls what happens if extra parameters are passed in the request payload.")
+ @header("extra-parameters")
+ extra_parameters?: ExtraParameters;
@doc("""
Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.
Typically used when you want to target a test environment instead of production environment.
""")
@header("azureml-model-deployment")
- modelDeployment?: string;
+ model_deployemnt?: string;
};
alias CapacityAlias = {
@@ -50,3 +48,13 @@ union CapacityType {
@doc("Your capacity has not been affected by the usage amount (token count) reported here.")
ignore: "fixed",
}
+
+alias ExtraRequestParameters = {
+ @doc("""
+ Extra parameters (in the form of string key-value pairs) that are not in the standard request payload.
+ They will be passed to the service as-is in the root of the JSON request payload.
+ How the service handles these extra parameters depends on the value of the `extra-parameters`
+ HTTP request header.
+ """)
+ extras?: Record;
+};
diff --git a/specification/ai/ModelClient/models/embeddings.tsp b/specification/ai/ModelClient/models/embeddings.tsp
index 7c8b96a7df72..46481717b941 100644
--- a/specification/ai/ModelClient/models/embeddings.tsp
+++ b/specification/ai/ModelClient/models/embeddings.tsp
@@ -1,14 +1,14 @@
import "@typespec/rest";
import "@typespec/http";
-import "@typespec/versioning";
using TypeSpec.Rest;
using TypeSpec.Http;
-using TypeSpec.Versioning;
namespace ModelClient;
alias EmbeddingsOptions = {
+ ...ExtraRequestParameters;
+
@doc("Input texts to get embeddings for, encoded as a an array of strings.")
input: string[];
diff --git a/specification/ai/ModelClient/models/image_generation.tsp b/specification/ai/ModelClient/models/image_generation.tsp
index 7429f9625145..19c85aab5273 100644
--- a/specification/ai/ModelClient/models/image_generation.tsp
+++ b/specification/ai/ModelClient/models/image_generation.tsp
@@ -1,14 +1,14 @@
import "@typespec/rest";
import "@typespec/http";
-import "@typespec/versioning";
using TypeSpec.Rest;
using TypeSpec.Http;
-using TypeSpec.Versioning;
namespace ModelClient;
alias ImageGenerationOptions = {
+ ...ExtraRequestParameters;
+
@doc("A description of the desired images.")
prompt: string;
diff --git a/specification/ai/ModelClient/routes.tsp b/specification/ai/ModelClient/routes.tsp
index a160a921522b..4dadb61f79a7 100644
--- a/specification/ai/ModelClient/routes.tsp
+++ b/specification/ai/ModelClient/routes.tsp
@@ -11,7 +11,6 @@ import "./models/image_generation.tsp";
using TypeSpec.Rest;
using TypeSpec.Http;
using TypeSpec.Versioning;
-
using Azure.Core;
namespace ModelClient;
@@ -44,7 +43,7 @@ op getEmbeddings is Azure.Core.RpcOperation<
@doc("Creates images given a prompt.")
@actionSeparator("/")
-@route("v1/images/generations")
+@route("/images/generations")
op getImageGenerations is Azure.Core.RpcOperation<
{
...ImageGenerationOptions;
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index 2b94c7907a56..dfb46e612fb8 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -3,16 +3,19 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "unknown-parameters": "error",
- "azureml-model-deployment": "sbxqdhisnvedthoknxfqfrxqjvvz",
+ "extra-parameters": "error",
+ "azureml-model-deployment": "tonilp",
"body": {
+ "extras": {
+ "key6891": "kbemeffwrchpubwol"
+ },
"messages": [
{
"role": "ChatRequestMessage"
}
],
"frequency_penalty": 1,
- "presence_penalty": 0,
+ "presence_penalty": -2,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
@@ -20,7 +23,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "xivaykskanywbehspdis"
+ "ybcbdvregoivwxvdfcczuvpeqmeupo"
],
"stream": true,
"tools": [
@@ -28,26 +31,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 21
+ "seed": 1
}
},
"responses": {
"200": {
"body": {
- "id": "eqqsyjmx",
- "object": "gxhzvtmxqrvlwagbcdjfwvcm",
- "created": 18,
- "model": "sinjkqekxep",
+ "id": "ejh",
+ "object": "jdlektbtkmlafuey",
+ "created": 13,
+ "model": "s",
"choices": [
{
- "index": 23,
+ "index": 20,
"message": {
"role": "system",
- "content": "qgopmdlgy",
+ "content": "buywjxoocqnus",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "yqnpxcjcomo"
+ "id": "jxt"
}
]
},
@@ -56,9 +59,9 @@
],
"usage": {
"capacity_type": "usage",
- "completion_tokens": 21,
- "prompt_tokens": 12,
- "total_tokens": 21
+ "completion_tokens": 15,
+ "prompt_tokens": 26,
+ "total_tokens": 18
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 95f8cb92cfb5..c2bbf5cc38bd 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,25 +14,25 @@
"responses": {
"200": {
"body": {
- "id": "eqqsyjmx",
- "object": "gxhzvtmxqrvlwagbcdjfwvcm",
- "created": 18,
- "model": "sinjkqekxep",
+ "id": "ejh",
+ "object": "jdlektbtkmlafuey",
+ "created": 13,
+ "model": "s",
"choices": [
{
- "index": 23,
+ "index": 20,
"message": {
"role": "system",
- "content": "qgopmdlgy"
+ "content": "buywjxoocqnus"
},
"finish_reason": "stop"
}
],
"usage": {
"capacity_type": "usage",
- "completion_tokens": 21,
- "prompt_tokens": 12,
- "total_tokens": 21
+ "completion_tokens": 15,
+ "prompt_tokens": 26,
+ "total_tokens": 18
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index 19870807286e..f681b9608410 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -3,11 +3,14 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "unknown-parameters": "error",
- "azureml-model-deployment": "xxfmherexnpixqktotsihebaeqlkwn",
+ "extra-parameters": "error",
+ "azureml-model-deployment": "keqnpizxpgkjtrphualhgo",
"body": {
+ "extras": {
+ "key4791": "wlkccycrgulewayprqmixvcqoeh"
+ },
"input": [
- "fdax"
+ "omeboabffdok"
],
"input_type": "text"
}
@@ -15,24 +18,24 @@
"responses": {
"200": {
"body": {
- "id": "eurnfwkuzeopsndedouddk",
+ "id": "uhcfa",
"data": [
{
"embedding": [
- 11
+ 12
],
- "index": 12,
- "object": "agmolyfyccmklewk"
+ "index": 14,
+ "object": "acrufadzyvaxlfihmkngxqcaxj"
}
],
"usage": {
"capacity_type": "usage",
"input_tokens": 26,
- "prompt_tokens": 9,
- "total_tokens": 18
+ "prompt_tokens": 13,
+ "total_tokens": 20
},
- "object": "oae",
- "model": "aymxkfdvct"
+ "object": "jeihlrgdjmkyjdk",
+ "model": "pgjmftxyblmvutylczqjj"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index a7135f405636..c5d44ff68509 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "pd"
+ "kctpevtlklpvjk"
]
}
},
"responses": {
"200": {
"body": {
- "id": "eurnfwkuzeopsndedouddk",
+ "id": "uhcfa",
"data": [
{
"embedding": [
- 11
+ 12
],
- "index": 12,
- "object": "agmolyfyccmklewk"
+ "index": 14,
+ "object": "acrufadzyvaxlfihmkngxqcaxj"
}
],
"usage": {
"capacity_type": "usage",
"input_tokens": 26,
- "prompt_tokens": 9,
- "total_tokens": 18
+ "prompt_tokens": 13,
+ "total_tokens": 20
},
- "object": "oae",
- "model": "aymxkfdvct"
+ "object": "jeihlrgdjmkyjdk",
+ "model": "pgjmftxyblmvutylczqjj"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
index 22563c239f1b..19ffefa62fcf 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
@@ -3,26 +3,29 @@
"operationId": "GetImageGenerations",
"parameters": {
"api-version": "2024-04-01-preview",
- "unknown-parameters": "error",
- "azureml-model-deployment": "pikpkzrohfiapovzveivznic",
+ "extra-parameters": "error",
+ "azureml-model-deployment": "mqyhplyskslifaoxuvho",
"body": {
- "prompt": "htlcthhqyxlsungfxezgg",
- "size": "sdixgjbtxdwlocueozokorrujpr",
+ "extras": {
+ "key9873": "mjwetwlps"
+ },
+ "prompt": "pwodoqb",
+ "size": "kzf",
"quality": "standard",
"response_format": "url",
- "seed": 5
+ "seed": 2
}
},
"responses": {
"200": {
"body": {
- "id": "fqcokvchkagmwkzwvh",
- "created": 23,
- "model": "qbjn",
+ "id": "ijyymqifsiaekwavwtcmrbn",
+ "created": 17,
+ "model": "m",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "svlnhvyp"
+ "b64_json": "ehfcbuotnxovacoh"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
index 7dfc63270918..5a8fd21e7369 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "khsbegoalsw",
- "size": "wtclaoaqckufhjqfqmd"
+ "prompt": "jiftc",
+ "size": "qrvtgulvssvxuba"
}
},
"responses": {
"200": {
"body": {
- "id": "fqcokvchkagmwkzwvh",
- "created": 23,
- "model": "qbjn",
+ "id": "ijyymqifsiaekwavwtcmrbn",
+ "created": 17,
+ "model": "m",
"data": [
{}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index 1f4ba0738ea4..1a4ab6f3b18d 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -20,6 +20,150 @@
],
"tags": [],
"paths": {
+ "/images/generations": {
+ "post": {
+ "operationId": "GetImageGenerations",
+ "description": "Creates images given a prompt.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
+ },
+ {
+ "name": "extra-parameters",
+ "in": "header",
+ "description": "Controls what happens if extra parameters are passed in the request payload.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "error",
+ "ignore",
+ "allow"
+ ],
+ "x-ms-enum": {
+ "name": "ExtraParameters",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "error",
+ "value": "error",
+ "description": "The service should error when it sees extra parameters in the request payload. This is the default behavior if the service."
+ },
+ {
+ "name": "ignore",
+ "value": "ignore",
+ "description": "The service should ignore extra parameters in the request payload. They will not be passed to the back-end AI model."
+ },
+ {
+ "name": "allow",
+ "value": "allow",
+ "description": "The service should pass extra parameters to the back-end AI model."
+ }
+ ]
+ },
+ "x-ms-client-name": "extra_parameters"
+ },
+ {
+ "name": "azureml-model-deployment",
+ "in": "header",
+ "description": "Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.\nTypically used when you want to target a test environment instead of production environment.",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "model_deployemnt"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "type": "object",
+ "properties": {
+ "extras": {
+ "type": "object",
+ "description": "Extra parameters (in the form of string key-value pairs) that are not in the standard request payload.\nThey will be passed to the service as-is in the root of the JSON request payload.\nHow the service handles these extra parameters depends on the value of the `extra-parameters`\nHTTP request header.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "prompt": {
+ "type": "string",
+ "description": "A description of the desired images."
+ },
+ "size": {
+ "type": "string",
+ "description": "The desired dimension in pixels of the generated images, in the format \"x\".\nFor example: \"1024x1024\", \"1792x1024\"."
+ },
+ "quality": {
+ "type": "string",
+ "description": "The desired image generation quality level to use.",
+ "default": "standard",
+ "enum": [
+ "standard",
+ "hd"
+ ],
+ "x-ms-enum": {
+ "name": "ImageGenerationQuality",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "standard",
+ "value": "standard",
+ "description": "Requests image generation with standard, balanced characteristics of quality, cost, and speed."
+ },
+ {
+ "name": "hd",
+ "value": "hd",
+ "description": "Requests image generation with higher quality, higher cost and lower speed relative to standard."
+ }
+ ]
+ }
+ },
+ "response_format": {
+ "$ref": "#/definitions/ImageGenerationResponseFormat",
+ "description": "The format in which image generation response items should be presented."
+ },
+ "seed": {
+ "type": "integer",
+ "format": "int64",
+ "description": "If specified, the system will make a best effort to sample deterministically such that repeated requests with the\nsame seed and parameters should return the same result. Determinism is not guaranteed.\""
+ }
+ },
+ "required": [
+ "prompt",
+ "size"
+ ]
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ImageGenerations"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "type": "string",
+ "description": "String error code indicating what went wrong."
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "maximum set image generation": {
+ "$ref": "./examples/GetImageGenerations_MaximumSet_Gen.json"
+ },
+ "minimum set image generation": {
+ "$ref": "./examples/GetImageGenerations_MinimumSet_Gen.json"
+ }
+ }
+ }
+ },
"/v1/chat/completions": {
"post": {
"operationId": "GetChatCompletions",
@@ -29,9 +173,9 @@
"$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
},
{
- "name": "unknown-parameters",
+ "name": "extra-parameters",
"in": "header",
- "description": "Controls what happens if unknown parameters are passed as extra properties in the request payload.",
+ "description": "Controls what happens if extra parameters are passed in the request payload.",
"required": false,
"type": "string",
"enum": [
@@ -40,27 +184,27 @@
"allow"
],
"x-ms-enum": {
- "name": "UnknownParameters",
+ "name": "ExtraParameters",
"modelAsString": true,
"values": [
{
"name": "error",
"value": "error",
- "description": "The service should error when it sees unknown parameters in the request payload. This is the default behavior if the service."
+ "description": "The service should error when it sees extra parameters in the request payload. This is the default behavior if the service."
},
{
"name": "ignore",
"value": "ignore",
- "description": "The service should ignore unknown parameters in the request payload. They will not be passed to the back-end AI model."
+ "description": "The service should ignore extra parameters in the request payload. They will not be passed to the back-end AI model."
},
{
"name": "allow",
"value": "allow",
- "description": "The service should pass unknown parameters to the back-end AI model."
+ "description": "The service should pass extra parameters to the back-end AI model."
}
]
},
- "x-ms-client-name": "unknownParameters"
+ "x-ms-client-name": "extra_parameters"
},
{
"name": "azureml-model-deployment",
@@ -68,7 +212,7 @@
"description": "Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.\nTypically used when you want to target a test environment instead of production environment.",
"required": false,
"type": "string",
- "x-ms-client-name": "modelDeployment"
+ "x-ms-client-name": "model_deployemnt"
},
{
"name": "body",
@@ -77,6 +221,13 @@
"schema": {
"type": "object",
"properties": {
+ "extras": {
+ "type": "object",
+ "description": "Extra parameters (in the form of string key-value pairs) that are not in the standard request payload.\nThey will be passed to the service as-is in the root of the JSON request payload.\nHow the service handles these extra parameters depends on the value of the `extra-parameters`\nHTTP request header.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
"messages": {
"type": "array",
"description": "The collection of context messages associated with this chat completions request.\nTypical usage begins with a chat message for the System role that provides instructions for\nthe behavior of the assistant, followed by alternating messages between the User and\nAssistant roles.",
@@ -205,9 +356,9 @@
"$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
},
{
- "name": "unknown-parameters",
+ "name": "extra-parameters",
"in": "header",
- "description": "Controls what happens if unknown parameters are passed as extra properties in the request payload.",
+ "description": "Controls what happens if extra parameters are passed in the request payload.",
"required": false,
"type": "string",
"enum": [
@@ -216,27 +367,27 @@
"allow"
],
"x-ms-enum": {
- "name": "UnknownParameters",
+ "name": "ExtraParameters",
"modelAsString": true,
"values": [
{
"name": "error",
"value": "error",
- "description": "The service should error when it sees unknown parameters in the request payload. This is the default behavior if the service."
+ "description": "The service should error when it sees extra parameters in the request payload. This is the default behavior if the service."
},
{
"name": "ignore",
"value": "ignore",
- "description": "The service should ignore unknown parameters in the request payload. They will not be passed to the back-end AI model."
+ "description": "The service should ignore extra parameters in the request payload. They will not be passed to the back-end AI model."
},
{
"name": "allow",
"value": "allow",
- "description": "The service should pass unknown parameters to the back-end AI model."
+ "description": "The service should pass extra parameters to the back-end AI model."
}
]
},
- "x-ms-client-name": "unknownParameters"
+ "x-ms-client-name": "extra_parameters"
},
{
"name": "azureml-model-deployment",
@@ -244,7 +395,7 @@
"description": "Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.\nTypically used when you want to target a test environment instead of production environment.",
"required": false,
"type": "string",
- "x-ms-client-name": "modelDeployment"
+ "x-ms-client-name": "model_deployemnt"
},
{
"name": "body",
@@ -253,6 +404,13 @@
"schema": {
"type": "object",
"properties": {
+ "extras": {
+ "type": "object",
+ "description": "Extra parameters (in the form of string key-value pairs) that are not in the standard request payload.\nThey will be passed to the service as-is in the root of the JSON request payload.\nHow the service handles these extra parameters depends on the value of the `extra-parameters`\nHTTP request header.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
"input": {
"type": "array",
"description": "Input texts to get embeddings for, encoded as a an array of strings.",
@@ -300,143 +458,6 @@
}
}
}
- },
- "/v1/images/generations": {
- "post": {
- "operationId": "GetImageGenerations",
- "description": "Creates images given a prompt.",
- "parameters": [
- {
- "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
- },
- {
- "name": "unknown-parameters",
- "in": "header",
- "description": "Controls what happens if unknown parameters are passed as extra properties in the request payload.",
- "required": false,
- "type": "string",
- "enum": [
- "error",
- "ignore",
- "allow"
- ],
- "x-ms-enum": {
- "name": "UnknownParameters",
- "modelAsString": true,
- "values": [
- {
- "name": "error",
- "value": "error",
- "description": "The service should error when it sees unknown parameters in the request payload. This is the default behavior if the service."
- },
- {
- "name": "ignore",
- "value": "ignore",
- "description": "The service should ignore unknown parameters in the request payload. They will not be passed to the back-end AI model."
- },
- {
- "name": "allow",
- "value": "allow",
- "description": "The service should pass unknown parameters to the back-end AI model."
- }
- ]
- },
- "x-ms-client-name": "unknownParameters"
- },
- {
- "name": "azureml-model-deployment",
- "in": "header",
- "description": "Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.\nTypically used when you want to target a test environment instead of production environment.",
- "required": false,
- "type": "string",
- "x-ms-client-name": "modelDeployment"
- },
- {
- "name": "body",
- "in": "body",
- "required": true,
- "schema": {
- "type": "object",
- "properties": {
- "prompt": {
- "type": "string",
- "description": "A description of the desired images."
- },
- "size": {
- "type": "string",
- "description": "The desired dimension in pixels of the generated images, in the format \"x\".\nFor example: \"1024x1024\", \"1792x1024\"."
- },
- "quality": {
- "type": "string",
- "description": "The desired image generation quality level to use.",
- "default": "standard",
- "enum": [
- "standard",
- "hd"
- ],
- "x-ms-enum": {
- "name": "ImageGenerationQuality",
- "modelAsString": true,
- "values": [
- {
- "name": "standard",
- "value": "standard",
- "description": "Requests image generation with standard, balanced characteristics of quality, cost, and speed."
- },
- {
- "name": "hd",
- "value": "hd",
- "description": "Requests image generation with higher quality, higher cost and lower speed relative to standard."
- }
- ]
- }
- },
- "response_format": {
- "$ref": "#/definitions/ImageGenerationResponseFormat",
- "description": "The format in which image generation response items should be presented."
- },
- "seed": {
- "type": "integer",
- "format": "int64",
- "description": "If specified, the system will make a best effort to sample deterministically such that repeated requests with the\nsame seed and parameters should return the same result. Determinism is not guaranteed.\""
- }
- },
- "required": [
- "prompt",
- "size"
- ]
- }
- }
- ],
- "responses": {
- "200": {
- "description": "The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/ImageGenerations"
- }
- },
- "default": {
- "description": "An unexpected error response.",
- "schema": {
- "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse"
- },
- "headers": {
- "x-ms-error-code": {
- "type": "string",
- "description": "String error code indicating what went wrong."
- }
- }
- }
- },
- "x-ms-examples": {
- "maximum set image generation": {
- "$ref": "./examples/GetImageGenerations_MaximumSet_Gen.json"
- },
- "minimum set image generation": {
- "$ref": "./examples/GetImageGenerations_MinimumSet_Gen.json"
- }
- }
- }
}
},
"definitions": {
@@ -1085,6 +1106,36 @@
"total_tokens"
]
},
+ "ExtraParameters": {
+ "type": "string",
+ "description": "Defines the service behavior when extra parameters are passed in the request payload.",
+ "enum": [
+ "error",
+ "ignore",
+ "allow"
+ ],
+ "x-ms-enum": {
+ "name": "ExtraParameters",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "error",
+ "value": "error",
+ "description": "The service should error when it sees extra parameters in the request payload. This is the default behavior if the service."
+ },
+ {
+ "name": "ignore",
+ "value": "ignore",
+ "description": "The service should ignore extra parameters in the request payload. They will not be passed to the back-end AI model."
+ },
+ {
+ "name": "allow",
+ "value": "allow",
+ "description": "The service should pass extra parameters to the back-end AI model."
+ }
+ ]
+ }
+ },
"FunctionCall": {
"type": "object",
"description": "The name and arguments of a function that should be called, as generated by the model.",
@@ -1219,36 +1270,6 @@
"data"
]
},
- "UnknownParameters": {
- "type": "string",
- "description": "Defines the service behavior when unknown parameters are passed as extra properties in the request payload.",
- "enum": [
- "error",
- "ignore",
- "allow"
- ],
- "x-ms-enum": {
- "name": "UnknownParameters",
- "modelAsString": true,
- "values": [
- {
- "name": "error",
- "value": "error",
- "description": "The service should error when it sees unknown parameters in the request payload. This is the default behavior if the service."
- },
- {
- "name": "ignore",
- "value": "ignore",
- "description": "The service should ignore unknown parameters in the request payload. They will not be passed to the back-end AI model."
- },
- {
- "name": "allow",
- "value": "allow",
- "description": "The service should pass unknown parameters to the back-end AI model."
- }
- ]
- }
- },
"Versions": {
"type": "string",
"description": "The ModelClient service versions.",
From be2a34fe268b688531e685be809f57aba2af0862 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Thu, 4 Apr 2024 14:57:37 -0700
Subject: [PATCH 043/343] Minor fixes
---
specification/ai/ModelClient/models/common.tsp | 2 +-
specification/ai/ModelClient/routes.tsp | 2 +-
.../ModelClient/preview/2024-04-01-preview/openapi.json | 6 +++---
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/specification/ai/ModelClient/models/common.tsp b/specification/ai/ModelClient/models/common.tsp
index 3ddd56d901ac..adb2e88988df 100644
--- a/specification/ai/ModelClient/models/common.tsp
+++ b/specification/ai/ModelClient/models/common.tsp
@@ -30,7 +30,7 @@ alias AdditionalRequestHeaders = {
Typically used when you want to target a test environment instead of production environment.
""")
@header("azureml-model-deployment")
- model_deployemnt?: string;
+ model_deployment?: string;
};
alias CapacityAlias = {
diff --git a/specification/ai/ModelClient/routes.tsp b/specification/ai/ModelClient/routes.tsp
index 4dadb61f79a7..1d7015f77943 100644
--- a/specification/ai/ModelClient/routes.tsp
+++ b/specification/ai/ModelClient/routes.tsp
@@ -43,7 +43,7 @@ op getEmbeddings is Azure.Core.RpcOperation<
@doc("Creates images given a prompt.")
@actionSeparator("/")
-@route("/images/generations")
+@route("images/generations")
op getImageGenerations is Azure.Core.RpcOperation<
{
...ImageGenerationOptions;
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index 1a4ab6f3b18d..58b8e741b993 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -68,7 +68,7 @@
"description": "Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.\nTypically used when you want to target a test environment instead of production environment.",
"required": false,
"type": "string",
- "x-ms-client-name": "model_deployemnt"
+ "x-ms-client-name": "model_deployment"
},
{
"name": "body",
@@ -212,7 +212,7 @@
"description": "Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.\nTypically used when you want to target a test environment instead of production environment.",
"required": false,
"type": "string",
- "x-ms-client-name": "model_deployemnt"
+ "x-ms-client-name": "model_deployment"
},
{
"name": "body",
@@ -395,7 +395,7 @@
"description": "Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.\nTypically used when you want to target a test environment instead of production environment.",
"required": false,
"type": "string",
- "x-ms-client-name": "model_deployemnt"
+ "x-ms-client-name": "model_deployment"
},
{
"name": "body",
From 4269199cc639dcec3c0f8158078ff3a381a4022f Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Thu, 4 Apr 2024 15:22:22 -0700
Subject: [PATCH 044/343] Recompile
---
.../GetChatCompletions_MaximumSet_Gen.json | 30 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 18 +++++------
.../GetEmbeddings_MaximumSet_Gen.json | 24 +++++++--------
.../GetEmbeddings_MinimumSet_Gen.json | 20 ++++++-------
.../GetImageGenerations_MaximumSet_Gen.json | 18 +++++------
.../GetImageGenerations_MinimumSet_Gen.json | 10 +++----
.../GetChatCompletions_MaximumSet_Gen.json | 30 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 18 +++++------
.../GetEmbeddings_MaximumSet_Gen.json | 24 +++++++--------
.../GetEmbeddings_MinimumSet_Gen.json | 20 ++++++-------
.../GetImageGenerations_MaximumSet_Gen.json | 18 +++++------
.../GetImageGenerations_MinimumSet_Gen.json | 10 +++----
12 files changed, 120 insertions(+), 120 deletions(-)
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index dfb46e612fb8..51a27be1e76e 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -4,10 +4,10 @@
"parameters": {
"api-version": "2024-04-01-preview",
"extra-parameters": "error",
- "azureml-model-deployment": "tonilp",
+ "azureml-model-deployment": "ucrufeucw",
"body": {
"extras": {
- "key6891": "kbemeffwrchpubwol"
+ "key4009": "guzqcyes"
},
"messages": [
{
@@ -15,7 +15,7 @@
}
],
"frequency_penalty": 1,
- "presence_penalty": -2,
+ "presence_penalty": 0,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
@@ -23,7 +23,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "ybcbdvregoivwxvdfcczuvpeqmeupo"
+ "eztyfqipgwftuccuiyjmylrfqlf"
],
"stream": true,
"tools": [
@@ -31,26 +31,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 1
+ "seed": 6
}
},
"responses": {
"200": {
"body": {
- "id": "ejh",
- "object": "jdlektbtkmlafuey",
- "created": 13,
- "model": "s",
+ "id": "dcg",
+ "object": "wivjwjboly",
+ "created": 19,
+ "model": "qldstnckyzhqgwmtprnuabvo",
"choices": [
{
- "index": 20,
+ "index": 4,
"message": {
"role": "system",
- "content": "buywjxoocqnus",
+ "content": "vuvdcwlbndzfi",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "jxt"
+ "id": "mflczsywc"
}
]
},
@@ -59,9 +59,9 @@
],
"usage": {
"capacity_type": "usage",
- "completion_tokens": 15,
- "prompt_tokens": 26,
- "total_tokens": 18
+ "completion_tokens": 5,
+ "prompt_tokens": 5,
+ "total_tokens": 16
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index c2bbf5cc38bd..a9e12f64a7e2 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,25 +14,25 @@
"responses": {
"200": {
"body": {
- "id": "ejh",
- "object": "jdlektbtkmlafuey",
- "created": 13,
- "model": "s",
+ "id": "dcg",
+ "object": "wivjwjboly",
+ "created": 19,
+ "model": "qldstnckyzhqgwmtprnuabvo",
"choices": [
{
- "index": 20,
+ "index": 4,
"message": {
"role": "system",
- "content": "buywjxoocqnus"
+ "content": "vuvdcwlbndzfi"
},
"finish_reason": "stop"
}
],
"usage": {
"capacity_type": "usage",
- "completion_tokens": 15,
- "prompt_tokens": 26,
- "total_tokens": 18
+ "completion_tokens": 5,
+ "prompt_tokens": 5,
+ "total_tokens": 16
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index f681b9608410..e37a07bf26dd 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -4,13 +4,13 @@
"parameters": {
"api-version": "2024-04-01-preview",
"extra-parameters": "error",
- "azureml-model-deployment": "keqnpizxpgkjtrphualhgo",
+ "azureml-model-deployment": "fiuodvwqlkchmjbjoqagki",
"body": {
"extras": {
- "key4791": "wlkccycrgulewayprqmixvcqoeh"
+ "key8343": "qddzhpbcstky"
},
"input": [
- "omeboabffdok"
+ "dfkpylslenbtzjwqmgkksutgr"
],
"input_type": "text"
}
@@ -18,24 +18,24 @@
"responses": {
"200": {
"body": {
- "id": "uhcfa",
+ "id": "nrqfmq",
"data": [
{
"embedding": [
- 12
+ 25
],
- "index": 14,
- "object": "acrufadzyvaxlfihmkngxqcaxj"
+ "index": 11,
+ "object": "fg"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 26,
- "prompt_tokens": 13,
- "total_tokens": 20
+ "input_tokens": 23,
+ "prompt_tokens": 4,
+ "total_tokens": 29
},
- "object": "jeihlrgdjmkyjdk",
- "model": "pgjmftxyblmvutylczqjj"
+ "object": "namwykxalaom",
+ "model": "ncpr"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index c5d44ff68509..5e8b3236caa5 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "kctpevtlklpvjk"
+ "cumohaewuxedzvq"
]
}
},
"responses": {
"200": {
"body": {
- "id": "uhcfa",
+ "id": "nrqfmq",
"data": [
{
"embedding": [
- 12
+ 25
],
- "index": 14,
- "object": "acrufadzyvaxlfihmkngxqcaxj"
+ "index": 11,
+ "object": "fg"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 26,
- "prompt_tokens": 13,
- "total_tokens": 20
+ "input_tokens": 23,
+ "prompt_tokens": 4,
+ "total_tokens": 29
},
- "object": "jeihlrgdjmkyjdk",
- "model": "pgjmftxyblmvutylczqjj"
+ "object": "namwykxalaom",
+ "model": "ncpr"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
index 19ffefa62fcf..b18b69198126 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
@@ -4,28 +4,28 @@
"parameters": {
"api-version": "2024-04-01-preview",
"extra-parameters": "error",
- "azureml-model-deployment": "mqyhplyskslifaoxuvho",
+ "azureml-model-deployment": "o",
"body": {
"extras": {
- "key9873": "mjwetwlps"
+ "key9241": "zxstvlctwofjyhmzfmkipesjyh"
},
- "prompt": "pwodoqb",
- "size": "kzf",
+ "prompt": "drhwtcjlhngujxxjelhft",
+ "size": "olcavqmhbqfzlqbyvlplgayrn",
"quality": "standard",
"response_format": "url",
- "seed": 2
+ "seed": 21
}
},
"responses": {
"200": {
"body": {
- "id": "ijyymqifsiaekwavwtcmrbn",
- "created": 17,
- "model": "m",
+ "id": "nfdnjvqylmcnkrtuylex",
+ "created": 9,
+ "model": "roqaaqlfiqkehzlnur",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "ehfcbuotnxovacoh"
+ "b64_json": "yuulxvoxaifcvhgagjemmll"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
index 5a8fd21e7369..a01b76bdfcc3 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "jiftc",
- "size": "qrvtgulvssvxuba"
+ "prompt": "femuuaemgwpg",
+ "size": "kiot"
}
},
"responses": {
"200": {
"body": {
- "id": "ijyymqifsiaekwavwtcmrbn",
- "created": 17,
- "model": "m",
+ "id": "nfdnjvqylmcnkrtuylex",
+ "created": 9,
+ "model": "roqaaqlfiqkehzlnur",
"data": [
{}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index dfb46e612fb8..51a27be1e76e 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -4,10 +4,10 @@
"parameters": {
"api-version": "2024-04-01-preview",
"extra-parameters": "error",
- "azureml-model-deployment": "tonilp",
+ "azureml-model-deployment": "ucrufeucw",
"body": {
"extras": {
- "key6891": "kbemeffwrchpubwol"
+ "key4009": "guzqcyes"
},
"messages": [
{
@@ -15,7 +15,7 @@
}
],
"frequency_penalty": 1,
- "presence_penalty": -2,
+ "presence_penalty": 0,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
@@ -23,7 +23,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "ybcbdvregoivwxvdfcczuvpeqmeupo"
+ "eztyfqipgwftuccuiyjmylrfqlf"
],
"stream": true,
"tools": [
@@ -31,26 +31,26 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 1
+ "seed": 6
}
},
"responses": {
"200": {
"body": {
- "id": "ejh",
- "object": "jdlektbtkmlafuey",
- "created": 13,
- "model": "s",
+ "id": "dcg",
+ "object": "wivjwjboly",
+ "created": 19,
+ "model": "qldstnckyzhqgwmtprnuabvo",
"choices": [
{
- "index": 20,
+ "index": 4,
"message": {
"role": "system",
- "content": "buywjxoocqnus",
+ "content": "vuvdcwlbndzfi",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "jxt"
+ "id": "mflczsywc"
}
]
},
@@ -59,9 +59,9 @@
],
"usage": {
"capacity_type": "usage",
- "completion_tokens": 15,
- "prompt_tokens": 26,
- "total_tokens": 18
+ "completion_tokens": 5,
+ "prompt_tokens": 5,
+ "total_tokens": 16
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index c2bbf5cc38bd..a9e12f64a7e2 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,25 +14,25 @@
"responses": {
"200": {
"body": {
- "id": "ejh",
- "object": "jdlektbtkmlafuey",
- "created": 13,
- "model": "s",
+ "id": "dcg",
+ "object": "wivjwjboly",
+ "created": 19,
+ "model": "qldstnckyzhqgwmtprnuabvo",
"choices": [
{
- "index": 20,
+ "index": 4,
"message": {
"role": "system",
- "content": "buywjxoocqnus"
+ "content": "vuvdcwlbndzfi"
},
"finish_reason": "stop"
}
],
"usage": {
"capacity_type": "usage",
- "completion_tokens": 15,
- "prompt_tokens": 26,
- "total_tokens": 18
+ "completion_tokens": 5,
+ "prompt_tokens": 5,
+ "total_tokens": 16
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index f681b9608410..e37a07bf26dd 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -4,13 +4,13 @@
"parameters": {
"api-version": "2024-04-01-preview",
"extra-parameters": "error",
- "azureml-model-deployment": "keqnpizxpgkjtrphualhgo",
+ "azureml-model-deployment": "fiuodvwqlkchmjbjoqagki",
"body": {
"extras": {
- "key4791": "wlkccycrgulewayprqmixvcqoeh"
+ "key8343": "qddzhpbcstky"
},
"input": [
- "omeboabffdok"
+ "dfkpylslenbtzjwqmgkksutgr"
],
"input_type": "text"
}
@@ -18,24 +18,24 @@
"responses": {
"200": {
"body": {
- "id": "uhcfa",
+ "id": "nrqfmq",
"data": [
{
"embedding": [
- 12
+ 25
],
- "index": 14,
- "object": "acrufadzyvaxlfihmkngxqcaxj"
+ "index": 11,
+ "object": "fg"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 26,
- "prompt_tokens": 13,
- "total_tokens": 20
+ "input_tokens": 23,
+ "prompt_tokens": 4,
+ "total_tokens": 29
},
- "object": "jeihlrgdjmkyjdk",
- "model": "pgjmftxyblmvutylczqjj"
+ "object": "namwykxalaom",
+ "model": "ncpr"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index c5d44ff68509..5e8b3236caa5 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "kctpevtlklpvjk"
+ "cumohaewuxedzvq"
]
}
},
"responses": {
"200": {
"body": {
- "id": "uhcfa",
+ "id": "nrqfmq",
"data": [
{
"embedding": [
- 12
+ 25
],
- "index": 14,
- "object": "acrufadzyvaxlfihmkngxqcaxj"
+ "index": 11,
+ "object": "fg"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 26,
- "prompt_tokens": 13,
- "total_tokens": 20
+ "input_tokens": 23,
+ "prompt_tokens": 4,
+ "total_tokens": 29
},
- "object": "jeihlrgdjmkyjdk",
- "model": "pgjmftxyblmvutylczqjj"
+ "object": "namwykxalaom",
+ "model": "ncpr"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
index 19ffefa62fcf..b18b69198126 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
@@ -4,28 +4,28 @@
"parameters": {
"api-version": "2024-04-01-preview",
"extra-parameters": "error",
- "azureml-model-deployment": "mqyhplyskslifaoxuvho",
+ "azureml-model-deployment": "o",
"body": {
"extras": {
- "key9873": "mjwetwlps"
+ "key9241": "zxstvlctwofjyhmzfmkipesjyh"
},
- "prompt": "pwodoqb",
- "size": "kzf",
+ "prompt": "drhwtcjlhngujxxjelhft",
+ "size": "olcavqmhbqfzlqbyvlplgayrn",
"quality": "standard",
"response_format": "url",
- "seed": 2
+ "seed": 21
}
},
"responses": {
"200": {
"body": {
- "id": "ijyymqifsiaekwavwtcmrbn",
- "created": 17,
- "model": "m",
+ "id": "nfdnjvqylmcnkrtuylex",
+ "created": 9,
+ "model": "roqaaqlfiqkehzlnur",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "ehfcbuotnxovacoh"
+ "b64_json": "yuulxvoxaifcvhgagjemmll"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
index 5a8fd21e7369..a01b76bdfcc3 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "jiftc",
- "size": "qrvtgulvssvxuba"
+ "prompt": "femuuaemgwpg",
+ "size": "kiot"
}
},
"responses": {
"200": {
"body": {
- "id": "ijyymqifsiaekwavwtcmrbn",
- "created": 17,
- "model": "m",
+ "id": "nfdnjvqylmcnkrtuylex",
+ "created": 9,
+ "model": "roqaaqlfiqkehzlnur",
"data": [
{}
]
From 3f67808667ee3e853c50ab7388aaec009ae91240 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Fri, 5 Apr 2024 08:53:11 -0700
Subject: [PATCH 045/343] Delta models for streaming
---
.../GetChatCompletions_MaximumSet_Gen.json | 69 ------------
.../GetChatCompletions_MinimumSet_Gen.json | 40 -------
.../GetEmbeddings_MaximumSet_Gen.json | 42 --------
.../GetEmbeddings_MinimumSet_Gen.json | 36 -------
.../GetImageGenerations_MaximumSet_Gen.json | 34 ------
.../GetImageGenerations_MinimumSet_Gen.json | 23 ----
.../ModelClient/models/chat_completions.tsp | 69 +++++++++---
.../GetChatCompletions_MaximumSet_Gen.json | 69 ------------
.../GetChatCompletions_MinimumSet_Gen.json | 40 -------
.../GetEmbeddings_MaximumSet_Gen.json | 42 --------
.../GetEmbeddings_MinimumSet_Gen.json | 36 -------
.../GetImageGenerations_MaximumSet_Gen.json | 34 ------
.../GetImageGenerations_MinimumSet_Gen.json | 23 ----
.../preview/2024-04-01-preview/openapi.json | 101 +++++++++++++-----
14 files changed, 127 insertions(+), 531 deletions(-)
delete mode 100644 specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
delete mode 100644 specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
delete mode 100644 specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
delete mode 100644 specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
delete mode 100644 specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
delete mode 100644 specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
delete mode 100644 specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
delete mode 100644 specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
delete mode 100644 specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
delete mode 100644 specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
delete mode 100644 specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
delete mode 100644 specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
deleted file mode 100644
index 51a27be1e76e..000000000000
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "title": "maximum set chat completion",
- "operationId": "GetChatCompletions",
- "parameters": {
- "api-version": "2024-04-01-preview",
- "extra-parameters": "error",
- "azureml-model-deployment": "ucrufeucw",
- "body": {
- "extras": {
- "key4009": "guzqcyes"
- },
- "messages": [
- {
- "role": "ChatRequestMessage"
- }
- ],
- "frequency_penalty": 1,
- "presence_penalty": 0,
- "temperature": 0,
- "top_p": 0,
- "max_tokens": 0,
- "response_format": {
- "type": "ChatCompletionsResponseFormat"
- },
- "stop": [
- "eztyfqipgwftuccuiyjmylrfqlf"
- ],
- "stream": true,
- "tools": [
- {
- "type": "ChatCompletionsToolDefinition"
- }
- ],
- "seed": 6
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "dcg",
- "object": "wivjwjboly",
- "created": 19,
- "model": "qldstnckyzhqgwmtprnuabvo",
- "choices": [
- {
- "index": 4,
- "message": {
- "role": "system",
- "content": "vuvdcwlbndzfi",
- "tool_calls": [
- {
- "type": "ChatCompletionsToolCall",
- "id": "mflczsywc"
- }
- ]
- },
- "finish_reason": "stop"
- }
- ],
- "usage": {
- "capacity_type": "usage",
- "completion_tokens": 5,
- "prompt_tokens": 5,
- "total_tokens": 16
- }
- }
- }
- }
-}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
deleted file mode 100644
index a9e12f64a7e2..000000000000
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "title": "minimum set chat completion",
- "operationId": "GetChatCompletions",
- "parameters": {
- "api-version": "2024-04-01-preview",
- "body": {
- "messages": [
- {
- "role": "ChatRequestMessage"
- }
- ]
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "dcg",
- "object": "wivjwjboly",
- "created": 19,
- "model": "qldstnckyzhqgwmtprnuabvo",
- "choices": [
- {
- "index": 4,
- "message": {
- "role": "system",
- "content": "vuvdcwlbndzfi"
- },
- "finish_reason": "stop"
- }
- ],
- "usage": {
- "capacity_type": "usage",
- "completion_tokens": 5,
- "prompt_tokens": 5,
- "total_tokens": 16
- }
- }
- }
- }
-}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
deleted file mode 100644
index e37a07bf26dd..000000000000
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "title": "maximum set embeddings",
- "operationId": "GetEmbeddings",
- "parameters": {
- "api-version": "2024-04-01-preview",
- "extra-parameters": "error",
- "azureml-model-deployment": "fiuodvwqlkchmjbjoqagki",
- "body": {
- "extras": {
- "key8343": "qddzhpbcstky"
- },
- "input": [
- "dfkpylslenbtzjwqmgkksutgr"
- ],
- "input_type": "text"
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "nrqfmq",
- "data": [
- {
- "embedding": [
- 25
- ],
- "index": 11,
- "object": "fg"
- }
- ],
- "usage": {
- "capacity_type": "usage",
- "input_tokens": 23,
- "prompt_tokens": 4,
- "total_tokens": 29
- },
- "object": "namwykxalaom",
- "model": "ncpr"
- }
- }
- }
-}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
deleted file mode 100644
index 5e8b3236caa5..000000000000
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "minimum set embeddings",
- "operationId": "GetEmbeddings",
- "parameters": {
- "api-version": "2024-04-01-preview",
- "body": {
- "input": [
- "cumohaewuxedzvq"
- ]
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "nrqfmq",
- "data": [
- {
- "embedding": [
- 25
- ],
- "index": 11,
- "object": "fg"
- }
- ],
- "usage": {
- "capacity_type": "usage",
- "input_tokens": 23,
- "prompt_tokens": 4,
- "total_tokens": 29
- },
- "object": "namwykxalaom",
- "model": "ncpr"
- }
- }
- }
-}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
deleted file mode 100644
index b18b69198126..000000000000
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "title": "maximum set image generation",
- "operationId": "GetImageGenerations",
- "parameters": {
- "api-version": "2024-04-01-preview",
- "extra-parameters": "error",
- "azureml-model-deployment": "o",
- "body": {
- "extras": {
- "key9241": "zxstvlctwofjyhmzfmkipesjyh"
- },
- "prompt": "drhwtcjlhngujxxjelhft",
- "size": "olcavqmhbqfzlqbyvlplgayrn",
- "quality": "standard",
- "response_format": "url",
- "seed": 21
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "nfdnjvqylmcnkrtuylex",
- "created": 9,
- "model": "roqaaqlfiqkehzlnur",
- "data": [
- {
- "url": "https://microsoft.com/a",
- "b64_json": "yuulxvoxaifcvhgagjemmll"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
deleted file mode 100644
index a01b76bdfcc3..000000000000
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "title": "minimum set image generation",
- "operationId": "GetImageGenerations",
- "parameters": {
- "api-version": "2024-04-01-preview",
- "body": {
- "prompt": "femuuaemgwpg",
- "size": "kiot"
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "nfdnjvqylmcnkrtuylex",
- "created": 9,
- "model": "roqaaqlfiqkehzlnur",
- "data": [
- {}
- ]
- }
- }
- }
-}
diff --git a/specification/ai/ModelClient/models/chat_completions.tsp b/specification/ai/ModelClient/models/chat_completions.tsp
index 32e0540d556f..3a3e8e65e8ed 100644
--- a/specification/ai/ModelClient/models/chat_completions.tsp
+++ b/specification/ai/ModelClient/models/chat_completions.tsp
@@ -96,12 +96,7 @@ alias ChatCompletionsOptions = {
seed?: int64;
};
-@doc("""
-Representation of the response data from a chat completions request.
-Completions support a wide variety of tasks and generate text that continues from or "completes"
-provided prompt data.
-""")
-model ChatCompletions {
+alias ChatCompletionsCommon = {
@doc("A unique identifier associated with this chat completions response.")
id: string;
@@ -118,6 +113,20 @@ model ChatCompletions {
@doc("The model used for the chat completion.")
`model`: string;
+ @doc("""
+ Usage information for tokens processed and generated as part of this completions operation.
+ """)
+ usage: CompletionsUsage;
+};
+
+@doc("""
+Representation of the response data from a chat completions request.
+Completions support a wide variety of tasks and generate text that continues from or "completes"
+provided prompt data.
+""")
+model ChatCompletions {
+ ...ChatCompletionsCommon;
+
@doc("""
The collection of completions choices associated with this completions response.
Generally, `n` choices are generated per provided prompt with a default value of 1.
@@ -125,11 +134,24 @@ model ChatCompletions {
""")
@minItems(1)
choices: ChatChoice[];
+}
+
+@doc("""
+Represents a response update to a chat completions request, when the service is streaming updates
+using Server Sent Events (SSE).
+Completions support a wide variety of tasks and generate text that continues from or "completes"
+provided prompt data.
+""")
+model ChatCompletionsDelta {
+ ...ChatCompletionsCommon;
@doc("""
- Usage information for tokens processed and generated as part of this completions operation.
- """)
- usage: CompletionsUsage;
+ An update to the collection of completion choices associated with this completions response.
+ Generally, `n` choices are generated per provided prompt with a default value of 1.
+ Token limits and other settings may limit the number of choices generated.
+ """)
+ @minItems(1)
+ choices: ChatChoiceDelta[];
}
@doc("""
@@ -213,22 +235,39 @@ model ChatCompletionsJsonResponseFormat extends ChatCompletionsResponseFormat {
type: "json_object";
}
+alias ChatChoiceCommon = {
+ @doc("The ordered index associated with this chat completions choice.")
+ index: int32;
+
+ #suppress "@azure-tools/typespec-azure-core/no-nullable" "The operation already returns nulls"
+ #suppress "@azure-tools/typespec-autorest/union-unsupported" "OpenAPI v2 support deferred"
+ @doc("The reason that this chat completions choice completed its generated.")
+ finish_reason: CompletionsFinishReason | null;
+};
+
@doc("""
The representation of a single prompt completion as part of an overall chat completions request.
Generally, `n` choices are generated per provided prompt with a default value of 1.
Token limits and other settings may limit the number of choices generated.
""")
model ChatChoice {
- @doc("The ordered index associated with this chat completions choice.")
- index: int32;
+ ...ChatChoiceCommon;
@doc("The chat message for a given chat completions prompt.")
message: ChatResponseMessage;
+}
- #suppress "@azure-tools/typespec-azure-core/no-nullable" "The operation already returns nulls"
- #suppress "@azure-tools/typespec-autorest/union-unsupported" "OpenAPI v2 support deferred"
- @doc("The reason that this chat completions choice completed its generated.")
- finish_reason: CompletionsFinishReason | null;
+@doc("""
+Represents an update to a single prompt completion when the service is streaming updates
+using Server Sent Events (SSE).
+Generally, `n` choices are generated per provided prompt with a default value of 1.
+Token limits and other settings may limit the number of choices generated.
+""")
+model ChatChoiceDelta {
+ ...ChatChoiceCommon;
+
+ @doc("An update to the chat message for a given chat completions prompt.")
+ delta: ChatResponseMessage;
}
@discriminator("role")
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
deleted file mode 100644
index 51a27be1e76e..000000000000
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "title": "maximum set chat completion",
- "operationId": "GetChatCompletions",
- "parameters": {
- "api-version": "2024-04-01-preview",
- "extra-parameters": "error",
- "azureml-model-deployment": "ucrufeucw",
- "body": {
- "extras": {
- "key4009": "guzqcyes"
- },
- "messages": [
- {
- "role": "ChatRequestMessage"
- }
- ],
- "frequency_penalty": 1,
- "presence_penalty": 0,
- "temperature": 0,
- "top_p": 0,
- "max_tokens": 0,
- "response_format": {
- "type": "ChatCompletionsResponseFormat"
- },
- "stop": [
- "eztyfqipgwftuccuiyjmylrfqlf"
- ],
- "stream": true,
- "tools": [
- {
- "type": "ChatCompletionsToolDefinition"
- }
- ],
- "seed": 6
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "dcg",
- "object": "wivjwjboly",
- "created": 19,
- "model": "qldstnckyzhqgwmtprnuabvo",
- "choices": [
- {
- "index": 4,
- "message": {
- "role": "system",
- "content": "vuvdcwlbndzfi",
- "tool_calls": [
- {
- "type": "ChatCompletionsToolCall",
- "id": "mflczsywc"
- }
- ]
- },
- "finish_reason": "stop"
- }
- ],
- "usage": {
- "capacity_type": "usage",
- "completion_tokens": 5,
- "prompt_tokens": 5,
- "total_tokens": 16
- }
- }
- }
- }
-}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
deleted file mode 100644
index a9e12f64a7e2..000000000000
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "title": "minimum set chat completion",
- "operationId": "GetChatCompletions",
- "parameters": {
- "api-version": "2024-04-01-preview",
- "body": {
- "messages": [
- {
- "role": "ChatRequestMessage"
- }
- ]
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "dcg",
- "object": "wivjwjboly",
- "created": 19,
- "model": "qldstnckyzhqgwmtprnuabvo",
- "choices": [
- {
- "index": 4,
- "message": {
- "role": "system",
- "content": "vuvdcwlbndzfi"
- },
- "finish_reason": "stop"
- }
- ],
- "usage": {
- "capacity_type": "usage",
- "completion_tokens": 5,
- "prompt_tokens": 5,
- "total_tokens": 16
- }
- }
- }
- }
-}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
deleted file mode 100644
index e37a07bf26dd..000000000000
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "title": "maximum set embeddings",
- "operationId": "GetEmbeddings",
- "parameters": {
- "api-version": "2024-04-01-preview",
- "extra-parameters": "error",
- "azureml-model-deployment": "fiuodvwqlkchmjbjoqagki",
- "body": {
- "extras": {
- "key8343": "qddzhpbcstky"
- },
- "input": [
- "dfkpylslenbtzjwqmgkksutgr"
- ],
- "input_type": "text"
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "nrqfmq",
- "data": [
- {
- "embedding": [
- 25
- ],
- "index": 11,
- "object": "fg"
- }
- ],
- "usage": {
- "capacity_type": "usage",
- "input_tokens": 23,
- "prompt_tokens": 4,
- "total_tokens": 29
- },
- "object": "namwykxalaom",
- "model": "ncpr"
- }
- }
- }
-}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
deleted file mode 100644
index 5e8b3236caa5..000000000000
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "title": "minimum set embeddings",
- "operationId": "GetEmbeddings",
- "parameters": {
- "api-version": "2024-04-01-preview",
- "body": {
- "input": [
- "cumohaewuxedzvq"
- ]
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "nrqfmq",
- "data": [
- {
- "embedding": [
- 25
- ],
- "index": 11,
- "object": "fg"
- }
- ],
- "usage": {
- "capacity_type": "usage",
- "input_tokens": 23,
- "prompt_tokens": 4,
- "total_tokens": 29
- },
- "object": "namwykxalaom",
- "model": "ncpr"
- }
- }
- }
-}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
deleted file mode 100644
index b18b69198126..000000000000
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "title": "maximum set image generation",
- "operationId": "GetImageGenerations",
- "parameters": {
- "api-version": "2024-04-01-preview",
- "extra-parameters": "error",
- "azureml-model-deployment": "o",
- "body": {
- "extras": {
- "key9241": "zxstvlctwofjyhmzfmkipesjyh"
- },
- "prompt": "drhwtcjlhngujxxjelhft",
- "size": "olcavqmhbqfzlqbyvlplgayrn",
- "quality": "standard",
- "response_format": "url",
- "seed": 21
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "nfdnjvqylmcnkrtuylex",
- "created": 9,
- "model": "roqaaqlfiqkehzlnur",
- "data": [
- {
- "url": "https://microsoft.com/a",
- "b64_json": "yuulxvoxaifcvhgagjemmll"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
deleted file mode 100644
index a01b76bdfcc3..000000000000
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "title": "minimum set image generation",
- "operationId": "GetImageGenerations",
- "parameters": {
- "api-version": "2024-04-01-preview",
- "body": {
- "prompt": "femuuaemgwpg",
- "size": "kiot"
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "nfdnjvqylmcnkrtuylex",
- "created": 9,
- "model": "roqaaqlfiqkehzlnur",
- "data": [
- {}
- ]
- }
- }
- }
-}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index 58b8e741b993..a95fa183af69 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -153,14 +153,6 @@
}
}
}
- },
- "x-ms-examples": {
- "maximum set image generation": {
- "$ref": "./examples/GetImageGenerations_MaximumSet_Gen.json"
- },
- "minimum set image generation": {
- "$ref": "./examples/GetImageGenerations_MinimumSet_Gen.json"
- }
}
}
},
@@ -336,14 +328,6 @@
}
}
}
- },
- "x-ms-examples": {
- "maximum set chat completion": {
- "$ref": "./examples/GetChatCompletions_MaximumSet_Gen.json"
- },
- "minimum set chat completion": {
- "$ref": "./examples/GetChatCompletions_MinimumSet_Gen.json"
- }
}
}
},
@@ -448,14 +432,6 @@
}
}
}
- },
- "x-ms-examples": {
- "maximum set embeddings": {
- "$ref": "./examples/GetEmbeddings_MaximumSet_Gen.json"
- },
- "minimum set embeddings": {
- "$ref": "./examples/GetEmbeddings_MinimumSet_Gen.json"
- }
}
}
}
@@ -555,20 +531,45 @@
"format": "int32",
"description": "The ordered index associated with this chat completions choice."
},
+ "finish_reason": {
+ "$ref": "#/definitions/CompletionsFinishReason",
+ "description": "The reason that this chat completions choice completed its generated.",
+ "x-nullable": true
+ },
"message": {
"$ref": "#/definitions/ChatResponseMessage",
"description": "The chat message for a given chat completions prompt."
+ }
+ },
+ "required": [
+ "index",
+ "finish_reason",
+ "message"
+ ]
+ },
+ "ChatChoiceDelta": {
+ "type": "object",
+ "description": "Represents an update to a single prompt completion when the service is streaming updates \nusing Server Sent Events (SSE).\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.",
+ "properties": {
+ "index": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The ordered index associated with this chat completions choice."
},
"finish_reason": {
"$ref": "#/definitions/CompletionsFinishReason",
"description": "The reason that this chat completions choice completed its generated.",
"x-nullable": true
+ },
+ "delta": {
+ "$ref": "#/definitions/ChatResponseMessage",
+ "description": "An update to the chat message for a given chat completions prompt."
}
},
"required": [
"index",
- "message",
- "finish_reason"
+ "finish_reason",
+ "delta"
]
},
"ChatCompletions": {
@@ -592,6 +593,10 @@
"type": "string",
"description": "The model used for the chat completion."
},
+ "usage": {
+ "$ref": "#/definitions/CompletionsUsage",
+ "description": "Usage information for tokens processed and generated as part of this completions operation."
+ },
"choices": {
"type": "array",
"description": "The collection of completions choices associated with this completions response.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.",
@@ -600,10 +605,50 @@
"$ref": "#/definitions/ChatChoice"
},
"x-ms-identifiers": []
+ }
+ },
+ "required": [
+ "id",
+ "object",
+ "created",
+ "model",
+ "usage",
+ "choices"
+ ]
+ },
+ "ChatCompletionsDelta": {
+ "type": "object",
+ "description": "Represents a response update to a chat completions request, when the service is streaming updates \nusing Server Sent Events (SSE).\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "A unique identifier associated with this chat completions response."
+ },
+ "object": {
+ "type": "string",
+ "description": "The response object type, which is always `chat.completion`."
+ },
+ "created": {
+ "type": "integer",
+ "format": "unixtime",
+ "description": "The first timestamp associated with generation activity for this completions response,\nrepresented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970."
+ },
+ "model": {
+ "type": "string",
+ "description": "The model used for the chat completion."
},
"usage": {
"$ref": "#/definitions/CompletionsUsage",
"description": "Usage information for tokens processed and generated as part of this completions operation."
+ },
+ "choices": {
+ "type": "array",
+ "description": "An update to the collection of completion choices associated with this completions response.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.",
+ "minItems": 1,
+ "items": {
+ "$ref": "#/definitions/ChatChoiceDelta"
+ },
+ "x-ms-identifiers": []
}
},
"required": [
@@ -611,8 +656,8 @@
"object",
"created",
"model",
- "choices",
- "usage"
+ "usage",
+ "choices"
]
},
"ChatCompletionsFunctionToolCall": {
From 0053febfe9c1a4951e32ba8cd9d23d2c4d4f3c94 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Fri, 5 Apr 2024 12:13:33 -0700
Subject: [PATCH 046/343] Set usage and access of 'Delta' models
---
specification/ai/ModelClient/client.tsp | 7 ++
.../GetChatCompletions_MaximumSet_Gen.json | 69 +++++++++++++++++++
.../GetChatCompletions_MinimumSet_Gen.json | 40 +++++++++++
.../GetEmbeddings_MaximumSet_Gen.json | 42 +++++++++++
.../GetEmbeddings_MinimumSet_Gen.json | 36 ++++++++++
.../GetImageGenerations_MaximumSet_Gen.json | 34 +++++++++
.../GetImageGenerations_MinimumSet_Gen.json | 23 +++++++
.../GetChatCompletions_MaximumSet_Gen.json | 69 +++++++++++++++++++
.../GetChatCompletions_MinimumSet_Gen.json | 40 +++++++++++
.../GetEmbeddings_MaximumSet_Gen.json | 42 +++++++++++
.../GetEmbeddings_MinimumSet_Gen.json | 36 ++++++++++
.../GetImageGenerations_MaximumSet_Gen.json | 34 +++++++++
.../GetImageGenerations_MinimumSet_Gen.json | 23 +++++++
.../preview/2024-04-01-preview/openapi.json | 24 +++++++
14 files changed, 519 insertions(+)
create mode 100644 specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
create mode 100644 specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
create mode 100644 specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
create mode 100644 specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
create mode 100644 specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
create mode 100644 specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
create mode 100644 specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
create mode 100644 specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
create mode 100644 specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
create mode 100644 specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
create mode 100644 specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
create mode 100644 specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
diff --git a/specification/ai/ModelClient/client.tsp b/specification/ai/ModelClient/client.tsp
index 9cfaeccaaa88..38b7387b3098 100644
--- a/specification/ai/ModelClient/client.tsp
+++ b/specification/ai/ModelClient/client.tsp
@@ -3,3 +3,10 @@ import "@azure-tools/typespec-client-generator-core";
import "./main.tsp";
using Azure.ClientGenerator.Core;
+
+// The "Delta" models are used by the hand-written operation method that supports streaming.
+// We need to declare their usage and public access, otherwise they won't be emited in the generated code.
+@@access(ModelClient.ChatCompletionsDelta, Access.public);
+@@usage(ModelClient.ChatCompletionsDelta, Usage.output);
+@@access(ModelClient.ChatChoiceDelta, Access.public);
+@@usage(ModelClient.ChatChoiceDelta, Usage.output);
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
new file mode 100644
index 000000000000..9f8260b8a08b
--- /dev/null
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -0,0 +1,69 @@
+{
+ "title": "maximum set chat completion",
+ "operationId": "GetChatCompletions",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "extra-parameters": "error",
+ "azureml-model-deployment": "zbobisswkcotdgbbwiurhrhml",
+ "body": {
+ "extras": {
+ "key4651": "snfmcizlbmqsfhshejzxbruor"
+ },
+ "messages": [
+ {
+ "role": "ChatRequestMessage"
+ }
+ ],
+ "frequency_penalty": 0,
+ "presence_penalty": 0,
+ "temperature": 0,
+ "top_p": 0,
+ "max_tokens": 0,
+ "response_format": {
+ "type": "ChatCompletionsResponseFormat"
+ },
+ "stop": [
+ "dqiuvgjcylbhsfznlrxtpzad"
+ ],
+ "stream": true,
+ "tools": [
+ {
+ "type": "ChatCompletionsToolDefinition"
+ }
+ ],
+ "seed": 26
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "nzohkobbjocneadrqnk",
+ "object": "fdmrqc",
+ "created": 19,
+ "model": "gjgkvrs",
+ "usage": {
+ "capacity_type": "usage",
+ "completion_tokens": 7,
+ "prompt_tokens": 21,
+ "total_tokens": 10
+ },
+ "choices": [
+ {
+ "index": 4,
+ "finish_reason": "stop",
+ "message": {
+ "role": "system",
+ "content": "trwdvopeymycscxgrqtvimdhycmgem",
+ "tool_calls": [
+ {
+ "type": "ChatCompletionsToolCall",
+ "id": "boesquowsgsssaoiefbh"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
new file mode 100644
index 000000000000..ecc1d1aace55
--- /dev/null
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -0,0 +1,40 @@
+{
+ "title": "minimum set chat completion",
+ "operationId": "GetChatCompletions",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "body": {
+ "messages": [
+ {
+ "role": "ChatRequestMessage"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "nzohkobbjocneadrqnk",
+ "object": "fdmrqc",
+ "created": 19,
+ "model": "gjgkvrs",
+ "usage": {
+ "capacity_type": "usage",
+ "completion_tokens": 7,
+ "prompt_tokens": 21,
+ "total_tokens": 10
+ },
+ "choices": [
+ {
+ "index": 4,
+ "finish_reason": "stop",
+ "message": {
+ "role": "system",
+ "content": "trwdvopeymycscxgrqtvimdhycmgem"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
new file mode 100644
index 000000000000..d86b7ae7c763
--- /dev/null
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -0,0 +1,42 @@
+{
+ "title": "maximum set embeddings",
+ "operationId": "GetEmbeddings",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "extra-parameters": "error",
+ "azureml-model-deployment": "guycbryz",
+ "body": {
+ "extras": {
+ "key9223": "ektbeb"
+ },
+ "input": [
+ "xphznudteahxyjjbuq"
+ ],
+ "input_type": "text"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "ppyeteghxlkoqpoyapsf",
+ "data": [
+ {
+ "embedding": [
+ 12
+ ],
+ "index": 23,
+ "object": "dcptrnsxqyfdidbqanw"
+ }
+ ],
+ "usage": {
+ "capacity_type": "usage",
+ "input_tokens": 23,
+ "prompt_tokens": 2,
+ "total_tokens": 29
+ },
+ "object": "pzeciowfdjqmnhdjvuopzb",
+ "model": "nknfvafwgd"
+ }
+ }
+ }
+}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
new file mode 100644
index 000000000000..fbee83c571f2
--- /dev/null
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -0,0 +1,36 @@
+{
+ "title": "minimum set embeddings",
+ "operationId": "GetEmbeddings",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "body": {
+ "input": [
+ "tlrvjs"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "ppyeteghxlkoqpoyapsf",
+ "data": [
+ {
+ "embedding": [
+ 12
+ ],
+ "index": 23,
+ "object": "dcptrnsxqyfdidbqanw"
+ }
+ ],
+ "usage": {
+ "capacity_type": "usage",
+ "input_tokens": 23,
+ "prompt_tokens": 2,
+ "total_tokens": 29
+ },
+ "object": "pzeciowfdjqmnhdjvuopzb",
+ "model": "nknfvafwgd"
+ }
+ }
+ }
+}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
new file mode 100644
index 000000000000..f090bb19c8fb
--- /dev/null
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
@@ -0,0 +1,34 @@
+{
+ "title": "maximum set image generation",
+ "operationId": "GetImageGenerations",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "extra-parameters": "error",
+ "azureml-model-deployment": "lhibwaecjxaemspygcijgtqgjc",
+ "body": {
+ "extras": {
+ "key7781": "qet"
+ },
+ "prompt": "itqynwbspxteegkzukgl",
+ "size": "zplsbfstdrwficzdc",
+ "quality": "standard",
+ "response_format": "url",
+ "seed": 19
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "dbuhzrudyuoiecpbiinhtopsm",
+ "created": 16,
+ "model": "vbswrxus",
+ "data": [
+ {
+ "url": "https://microsoft.com/a",
+ "b64_json": "qtvmtunfognznex"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
new file mode 100644
index 000000000000..2b2947510f1c
--- /dev/null
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
@@ -0,0 +1,23 @@
+{
+ "title": "minimum set image generation",
+ "operationId": "GetImageGenerations",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "body": {
+ "prompt": "kqostymhvq",
+ "size": "wxflieizgipflr"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "dbuhzrudyuoiecpbiinhtopsm",
+ "created": 16,
+ "model": "vbswrxus",
+ "data": [
+ {}
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
new file mode 100644
index 000000000000..9f8260b8a08b
--- /dev/null
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -0,0 +1,69 @@
+{
+ "title": "maximum set chat completion",
+ "operationId": "GetChatCompletions",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "extra-parameters": "error",
+ "azureml-model-deployment": "zbobisswkcotdgbbwiurhrhml",
+ "body": {
+ "extras": {
+ "key4651": "snfmcizlbmqsfhshejzxbruor"
+ },
+ "messages": [
+ {
+ "role": "ChatRequestMessage"
+ }
+ ],
+ "frequency_penalty": 0,
+ "presence_penalty": 0,
+ "temperature": 0,
+ "top_p": 0,
+ "max_tokens": 0,
+ "response_format": {
+ "type": "ChatCompletionsResponseFormat"
+ },
+ "stop": [
+ "dqiuvgjcylbhsfznlrxtpzad"
+ ],
+ "stream": true,
+ "tools": [
+ {
+ "type": "ChatCompletionsToolDefinition"
+ }
+ ],
+ "seed": 26
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "nzohkobbjocneadrqnk",
+ "object": "fdmrqc",
+ "created": 19,
+ "model": "gjgkvrs",
+ "usage": {
+ "capacity_type": "usage",
+ "completion_tokens": 7,
+ "prompt_tokens": 21,
+ "total_tokens": 10
+ },
+ "choices": [
+ {
+ "index": 4,
+ "finish_reason": "stop",
+ "message": {
+ "role": "system",
+ "content": "trwdvopeymycscxgrqtvimdhycmgem",
+ "tool_calls": [
+ {
+ "type": "ChatCompletionsToolCall",
+ "id": "boesquowsgsssaoiefbh"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
new file mode 100644
index 000000000000..ecc1d1aace55
--- /dev/null
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -0,0 +1,40 @@
+{
+ "title": "minimum set chat completion",
+ "operationId": "GetChatCompletions",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "body": {
+ "messages": [
+ {
+ "role": "ChatRequestMessage"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "nzohkobbjocneadrqnk",
+ "object": "fdmrqc",
+ "created": 19,
+ "model": "gjgkvrs",
+ "usage": {
+ "capacity_type": "usage",
+ "completion_tokens": 7,
+ "prompt_tokens": 21,
+ "total_tokens": 10
+ },
+ "choices": [
+ {
+ "index": 4,
+ "finish_reason": "stop",
+ "message": {
+ "role": "system",
+ "content": "trwdvopeymycscxgrqtvimdhycmgem"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
new file mode 100644
index 000000000000..d86b7ae7c763
--- /dev/null
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -0,0 +1,42 @@
+{
+ "title": "maximum set embeddings",
+ "operationId": "GetEmbeddings",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "extra-parameters": "error",
+ "azureml-model-deployment": "guycbryz",
+ "body": {
+ "extras": {
+ "key9223": "ektbeb"
+ },
+ "input": [
+ "xphznudteahxyjjbuq"
+ ],
+ "input_type": "text"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "ppyeteghxlkoqpoyapsf",
+ "data": [
+ {
+ "embedding": [
+ 12
+ ],
+ "index": 23,
+ "object": "dcptrnsxqyfdidbqanw"
+ }
+ ],
+ "usage": {
+ "capacity_type": "usage",
+ "input_tokens": 23,
+ "prompt_tokens": 2,
+ "total_tokens": 29
+ },
+ "object": "pzeciowfdjqmnhdjvuopzb",
+ "model": "nknfvafwgd"
+ }
+ }
+ }
+}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
new file mode 100644
index 000000000000..fbee83c571f2
--- /dev/null
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -0,0 +1,36 @@
+{
+ "title": "minimum set embeddings",
+ "operationId": "GetEmbeddings",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "body": {
+ "input": [
+ "tlrvjs"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "ppyeteghxlkoqpoyapsf",
+ "data": [
+ {
+ "embedding": [
+ 12
+ ],
+ "index": 23,
+ "object": "dcptrnsxqyfdidbqanw"
+ }
+ ],
+ "usage": {
+ "capacity_type": "usage",
+ "input_tokens": 23,
+ "prompt_tokens": 2,
+ "total_tokens": 29
+ },
+ "object": "pzeciowfdjqmnhdjvuopzb",
+ "model": "nknfvafwgd"
+ }
+ }
+ }
+}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
new file mode 100644
index 000000000000..f090bb19c8fb
--- /dev/null
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
@@ -0,0 +1,34 @@
+{
+ "title": "maximum set image generation",
+ "operationId": "GetImageGenerations",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "extra-parameters": "error",
+ "azureml-model-deployment": "lhibwaecjxaemspygcijgtqgjc",
+ "body": {
+ "extras": {
+ "key7781": "qet"
+ },
+ "prompt": "itqynwbspxteegkzukgl",
+ "size": "zplsbfstdrwficzdc",
+ "quality": "standard",
+ "response_format": "url",
+ "seed": 19
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "dbuhzrudyuoiecpbiinhtopsm",
+ "created": 16,
+ "model": "vbswrxus",
+ "data": [
+ {
+ "url": "https://microsoft.com/a",
+ "b64_json": "qtvmtunfognznex"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
new file mode 100644
index 000000000000..2b2947510f1c
--- /dev/null
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
@@ -0,0 +1,23 @@
+{
+ "title": "minimum set image generation",
+ "operationId": "GetImageGenerations",
+ "parameters": {
+ "api-version": "2024-04-01-preview",
+ "body": {
+ "prompt": "kqostymhvq",
+ "size": "wxflieizgipflr"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "dbuhzrudyuoiecpbiinhtopsm",
+ "created": 16,
+ "model": "vbswrxus",
+ "data": [
+ {}
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index a95fa183af69..394d597ec678 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -153,6 +153,14 @@
}
}
}
+ },
+ "x-ms-examples": {
+ "maximum set image generation": {
+ "$ref": "./examples/GetImageGenerations_MaximumSet_Gen.json"
+ },
+ "minimum set image generation": {
+ "$ref": "./examples/GetImageGenerations_MinimumSet_Gen.json"
+ }
}
}
},
@@ -328,6 +336,14 @@
}
}
}
+ },
+ "x-ms-examples": {
+ "maximum set chat completion": {
+ "$ref": "./examples/GetChatCompletions_MaximumSet_Gen.json"
+ },
+ "minimum set chat completion": {
+ "$ref": "./examples/GetChatCompletions_MinimumSet_Gen.json"
+ }
}
}
},
@@ -432,6 +448,14 @@
}
}
}
+ },
+ "x-ms-examples": {
+ "maximum set embeddings": {
+ "$ref": "./examples/GetEmbeddings_MaximumSet_Gen.json"
+ },
+ "minimum set embeddings": {
+ "$ref": "./examples/GetEmbeddings_MinimumSet_Gen.json"
+ }
}
}
}
From a017d31c9ae9b03291e9099bf80bcf228f66158f Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Sun, 7 Apr 2024 10:39:46 -0700
Subject: [PATCH 047/343] Add /info route
---
.../GetChatCompletions_MaximumSet_Gen.json | 34 +++---
.../GetChatCompletions_MinimumSet_Gen.json | 20 ++--
.../GetEmbeddings_MaximumSet_Gen.json | 24 ++--
.../GetEmbeddings_MinimumSet_Gen.json | 20 ++--
.../GetImageGenerations_MaximumSet_Gen.json | 22 ++--
.../GetImageGenerations_MinimumSet_Gen.json | 12 +-
.../GetModelInformation_MaximumSet_Gen.json | 16 +++
.../GetModelInformation_MinimumSet_Gen.json | 16 +++
.../ai/ModelClient/models/model_info.tsp | 36 ++++++
specification/ai/ModelClient/routes.tsp | 7 ++
.../GetChatCompletions_MaximumSet_Gen.json | 34 +++---
.../GetChatCompletions_MinimumSet_Gen.json | 20 ++--
.../GetEmbeddings_MaximumSet_Gen.json | 24 ++--
.../GetEmbeddings_MinimumSet_Gen.json | 20 ++--
.../GetImageGenerations_MaximumSet_Gen.json | 22 ++--
.../GetImageGenerations_MinimumSet_Gen.json | 12 +-
.../GetModelInformation_MaximumSet_Gen.json | 16 +++
.../GetModelInformation_MinimumSet_Gen.json | 16 +++
.../preview/2024-04-01-preview/openapi.json | 110 +++++++++++++++++-
19 files changed, 343 insertions(+), 138 deletions(-)
create mode 100644 specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MaximumSet_Gen.json
create mode 100644 specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MinimumSet_Gen.json
create mode 100644 specification/ai/ModelClient/models/model_info.tsp
create mode 100644 specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MaximumSet_Gen.json
create mode 100644 specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MinimumSet_Gen.json
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index 9f8260b8a08b..bce63eb7c86d 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -1,21 +1,21 @@
{
- "title": "maximum set chat completion",
+ "title": "GetChatCompletions_MaximumSet_Gen - generated by [MaximumSet] rule",
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
"extra-parameters": "error",
- "azureml-model-deployment": "zbobisswkcotdgbbwiurhrhml",
+ "azureml-model-deployment": "azimtdabpjdflaypzbgytmkwoqqb",
"body": {
"extras": {
- "key4651": "snfmcizlbmqsfhshejzxbruor"
+ "key3925": "lymrbnvmm"
},
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": 0,
- "presence_penalty": 0,
+ "frequency_penalty": -1,
+ "presence_penalty": 1,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
@@ -23,7 +23,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "dqiuvgjcylbhsfznlrxtpzad"
+ "ml"
],
"stream": true,
"tools": [
@@ -31,33 +31,33 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 26
+ "seed": 19
}
},
"responses": {
"200": {
"body": {
- "id": "nzohkobbjocneadrqnk",
- "object": "fdmrqc",
- "created": 19,
- "model": "gjgkvrs",
+ "id": "cayolp",
+ "object": "bkazrtmqqd",
+ "created": 15,
+ "model": "ilrofrphi",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 7,
- "prompt_tokens": 21,
- "total_tokens": 10
+ "completion_tokens": 4,
+ "prompt_tokens": 28,
+ "total_tokens": 27
},
"choices": [
{
- "index": 4,
+ "index": 11,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "trwdvopeymycscxgrqtvimdhycmgem",
+ "content": "h",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "boesquowsgsssaoiefbh"
+ "id": "vkvngkngdkwhzninlisebxx"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index ecc1d1aace55..66263180d5e0 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -1,5 +1,5 @@
{
- "title": "minimum set chat completion",
+ "title": "GetChatCompletions_MaximumSet_Gen - generated by [MinimumSet] rule",
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "nzohkobbjocneadrqnk",
- "object": "fdmrqc",
- "created": 19,
- "model": "gjgkvrs",
+ "id": "cayolp",
+ "object": "bkazrtmqqd",
+ "created": 15,
+ "model": "ilrofrphi",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 7,
- "prompt_tokens": 21,
- "total_tokens": 10
+ "completion_tokens": 4,
+ "prompt_tokens": 28,
+ "total_tokens": 27
},
"choices": [
{
- "index": 4,
+ "index": 11,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "trwdvopeymycscxgrqtvimdhycmgem"
+ "content": "h"
}
}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index d86b7ae7c763..670dc556bfe4 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -1,16 +1,16 @@
{
- "title": "maximum set embeddings",
+ "title": "GetEmbeddings_MaximumSet_Gen - generated by [MaximumSet] rule",
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
"extra-parameters": "error",
- "azureml-model-deployment": "guycbryz",
+ "azureml-model-deployment": "fcruwuln",
"body": {
"extras": {
- "key9223": "ektbeb"
+ "key1695": "moqwfsditimjjgbi"
},
"input": [
- "xphznudteahxyjjbuq"
+ "icxscvychtbwuijbitoktieoa"
],
"input_type": "text"
}
@@ -18,24 +18,24 @@
"responses": {
"200": {
"body": {
- "id": "ppyeteghxlkoqpoyapsf",
+ "id": "bugdoymlinklzttjiwbapbt",
"data": [
{
"embedding": [
- 12
+ 6
],
"index": 23,
- "object": "dcptrnsxqyfdidbqanw"
+ "object": "scbznjgln"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 23,
- "prompt_tokens": 2,
- "total_tokens": 29
+ "input_tokens": 19,
+ "prompt_tokens": 25,
+ "total_tokens": 7
},
- "object": "pzeciowfdjqmnhdjvuopzb",
- "model": "nknfvafwgd"
+ "object": "d",
+ "model": "bvjkc"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index fbee83c571f2..13402051ed63 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -1,35 +1,35 @@
{
- "title": "minimum set embeddings",
+ "title": "GetEmbeddings_MaximumSet_Gen - generated by [MinimumSet] rule",
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "tlrvjs"
+ "hjopbwybqrmcgtorpb"
]
}
},
"responses": {
"200": {
"body": {
- "id": "ppyeteghxlkoqpoyapsf",
+ "id": "bugdoymlinklzttjiwbapbt",
"data": [
{
"embedding": [
- 12
+ 6
],
"index": 23,
- "object": "dcptrnsxqyfdidbqanw"
+ "object": "scbznjgln"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 23,
- "prompt_tokens": 2,
- "total_tokens": 29
+ "input_tokens": 19,
+ "prompt_tokens": 25,
+ "total_tokens": 7
},
- "object": "pzeciowfdjqmnhdjvuopzb",
- "model": "nknfvafwgd"
+ "object": "d",
+ "model": "bvjkc"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
index f090bb19c8fb..45c32a2547d4 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
@@ -1,31 +1,31 @@
{
- "title": "maximum set image generation",
+ "title": "GetImageGenerations_MaximumSet_Gen - generated by [MaximumSet] rule",
"operationId": "GetImageGenerations",
"parameters": {
"api-version": "2024-04-01-preview",
"extra-parameters": "error",
- "azureml-model-deployment": "lhibwaecjxaemspygcijgtqgjc",
+ "azureml-model-deployment": "rycvycz",
"body": {
"extras": {
- "key7781": "qet"
+ "key3837": "pjqpyrlnndtwpidn"
},
- "prompt": "itqynwbspxteegkzukgl",
- "size": "zplsbfstdrwficzdc",
+ "prompt": "tqborqvwtmvebb",
+ "size": "hnbllq",
"quality": "standard",
"response_format": "url",
- "seed": 19
+ "seed": 21
}
},
"responses": {
"200": {
"body": {
- "id": "dbuhzrudyuoiecpbiinhtopsm",
- "created": 16,
- "model": "vbswrxus",
+ "id": "irmxxwflyjxylijuongqc",
+ "created": 18,
+ "model": "dtjznkhucamp",
"data": [
{
- "url": "https://microsoft.com/a",
- "b64_json": "qtvmtunfognznex"
+ "url": "https://microsoft.com/ayeb",
+ "b64_json": "bhqafrsrtgvlvmwhbxrp"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
index 2b2947510f1c..eb61f841e536 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
@@ -1,19 +1,19 @@
{
- "title": "minimum set image generation",
+ "title": "GetImageGenerations_MaximumSet_Gen - generated by [MinimumSet] rule",
"operationId": "GetImageGenerations",
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "kqostymhvq",
- "size": "wxflieizgipflr"
+ "prompt": "ahatelmwtxzcbamvbqsz",
+ "size": "viyaps"
}
},
"responses": {
"200": {
"body": {
- "id": "dbuhzrudyuoiecpbiinhtopsm",
- "created": 16,
- "model": "vbswrxus",
+ "id": "irmxxwflyjxylijuongqc",
+ "created": 18,
+ "model": "dtjznkhucamp",
"data": [
{}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MaximumSet_Gen.json
new file mode 100644
index 000000000000..32aa2477e47c
--- /dev/null
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MaximumSet_Gen.json
@@ -0,0 +1,16 @@
+{
+ "title": "GetModelInformation_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "GetModelInformation",
+ "parameters": {
+ "api-version": "2024-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "model_type": "embeddings",
+ "model_provider": "frysrdaa",
+ "model_name": "jjrcmatptdlqqdg"
+ }
+ }
+ }
+}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MinimumSet_Gen.json
new file mode 100644
index 000000000000..bbd0bd30729d
--- /dev/null
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MinimumSet_Gen.json
@@ -0,0 +1,16 @@
+{
+ "title": "GetModelInformation_MaximumSet_Gen - generated by [MinimumSet] rule",
+ "operationId": "GetModelInformation",
+ "parameters": {
+ "api-version": "2024-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "model_type": "embeddings",
+ "model_provider": "frysrdaa",
+ "model_name": "jjrcmatptdlqqdg"
+ }
+ }
+ }
+}
diff --git a/specification/ai/ModelClient/models/model_info.tsp b/specification/ai/ModelClient/models/model_info.tsp
new file mode 100644
index 000000000000..7184cc4c1f07
--- /dev/null
+++ b/specification/ai/ModelClient/models/model_info.tsp
@@ -0,0 +1,36 @@
+import "@typespec/rest";
+import "@typespec/http";
+
+using TypeSpec.Rest;
+using TypeSpec.Http;
+
+namespace ModelClient;
+
+@doc("Represents some basic information about the AI model.")
+model ModelInformation {
+ @doc("The type of the AI model.")
+ model_type: ModelType;
+
+ @doc("The model provider.")
+ model_provider: string;
+
+ @doc("The name of the AI model.")
+ model_name: string;
+}
+
+@doc("The type of AI model")
+union ModelType {
+ string,
+
+ @doc("Embeddings.")
+ embeddings: "embeddings",
+
+ @doc("Custom model.")
+ custom: "custom",
+
+ @doc("Chat completions")
+ chat: "chat",
+
+ @doc("Image generation")
+ image_generation: "image_generation",
+}
diff --git a/specification/ai/ModelClient/routes.tsp b/specification/ai/ModelClient/routes.tsp
index 1d7015f77943..46ee0c63c287 100644
--- a/specification/ai/ModelClient/routes.tsp
+++ b/specification/ai/ModelClient/routes.tsp
@@ -7,6 +7,7 @@ import "./models/common.tsp";
import "./models/chat_completions.tsp";
import "./models/embeddings.tsp";
import "./models/image_generation.tsp";
+import "./models/model_info.tsp";
using TypeSpec.Rest;
using TypeSpec.Http;
@@ -51,3 +52,9 @@ op getImageGenerations is Azure.Core.RpcOperation<
},
ImageGenerations
>;
+
+@doc("Returns information about the AI model.")
+@actionSeparator("/")
+@route("info")
+@get
+op getModelInformation is Azure.Core.RpcOperation<{}, ModelInformation>;
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index 9f8260b8a08b..bce63eb7c86d 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -1,21 +1,21 @@
{
- "title": "maximum set chat completion",
+ "title": "GetChatCompletions_MaximumSet_Gen - generated by [MaximumSet] rule",
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
"extra-parameters": "error",
- "azureml-model-deployment": "zbobisswkcotdgbbwiurhrhml",
+ "azureml-model-deployment": "azimtdabpjdflaypzbgytmkwoqqb",
"body": {
"extras": {
- "key4651": "snfmcizlbmqsfhshejzxbruor"
+ "key3925": "lymrbnvmm"
},
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": 0,
- "presence_penalty": 0,
+ "frequency_penalty": -1,
+ "presence_penalty": 1,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
@@ -23,7 +23,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "dqiuvgjcylbhsfznlrxtpzad"
+ "ml"
],
"stream": true,
"tools": [
@@ -31,33 +31,33 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 26
+ "seed": 19
}
},
"responses": {
"200": {
"body": {
- "id": "nzohkobbjocneadrqnk",
- "object": "fdmrqc",
- "created": 19,
- "model": "gjgkvrs",
+ "id": "cayolp",
+ "object": "bkazrtmqqd",
+ "created": 15,
+ "model": "ilrofrphi",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 7,
- "prompt_tokens": 21,
- "total_tokens": 10
+ "completion_tokens": 4,
+ "prompt_tokens": 28,
+ "total_tokens": 27
},
"choices": [
{
- "index": 4,
+ "index": 11,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "trwdvopeymycscxgrqtvimdhycmgem",
+ "content": "h",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "boesquowsgsssaoiefbh"
+ "id": "vkvngkngdkwhzninlisebxx"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index ecc1d1aace55..66263180d5e0 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -1,5 +1,5 @@
{
- "title": "minimum set chat completion",
+ "title": "GetChatCompletions_MaximumSet_Gen - generated by [MinimumSet] rule",
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "nzohkobbjocneadrqnk",
- "object": "fdmrqc",
- "created": 19,
- "model": "gjgkvrs",
+ "id": "cayolp",
+ "object": "bkazrtmqqd",
+ "created": 15,
+ "model": "ilrofrphi",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 7,
- "prompt_tokens": 21,
- "total_tokens": 10
+ "completion_tokens": 4,
+ "prompt_tokens": 28,
+ "total_tokens": 27
},
"choices": [
{
- "index": 4,
+ "index": 11,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "trwdvopeymycscxgrqtvimdhycmgem"
+ "content": "h"
}
}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index d86b7ae7c763..670dc556bfe4 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -1,16 +1,16 @@
{
- "title": "maximum set embeddings",
+ "title": "GetEmbeddings_MaximumSet_Gen - generated by [MaximumSet] rule",
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
"extra-parameters": "error",
- "azureml-model-deployment": "guycbryz",
+ "azureml-model-deployment": "fcruwuln",
"body": {
"extras": {
- "key9223": "ektbeb"
+ "key1695": "moqwfsditimjjgbi"
},
"input": [
- "xphznudteahxyjjbuq"
+ "icxscvychtbwuijbitoktieoa"
],
"input_type": "text"
}
@@ -18,24 +18,24 @@
"responses": {
"200": {
"body": {
- "id": "ppyeteghxlkoqpoyapsf",
+ "id": "bugdoymlinklzttjiwbapbt",
"data": [
{
"embedding": [
- 12
+ 6
],
"index": 23,
- "object": "dcptrnsxqyfdidbqanw"
+ "object": "scbznjgln"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 23,
- "prompt_tokens": 2,
- "total_tokens": 29
+ "input_tokens": 19,
+ "prompt_tokens": 25,
+ "total_tokens": 7
},
- "object": "pzeciowfdjqmnhdjvuopzb",
- "model": "nknfvafwgd"
+ "object": "d",
+ "model": "bvjkc"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index fbee83c571f2..13402051ed63 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -1,35 +1,35 @@
{
- "title": "minimum set embeddings",
+ "title": "GetEmbeddings_MaximumSet_Gen - generated by [MinimumSet] rule",
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "tlrvjs"
+ "hjopbwybqrmcgtorpb"
]
}
},
"responses": {
"200": {
"body": {
- "id": "ppyeteghxlkoqpoyapsf",
+ "id": "bugdoymlinklzttjiwbapbt",
"data": [
{
"embedding": [
- 12
+ 6
],
"index": 23,
- "object": "dcptrnsxqyfdidbqanw"
+ "object": "scbznjgln"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 23,
- "prompt_tokens": 2,
- "total_tokens": 29
+ "input_tokens": 19,
+ "prompt_tokens": 25,
+ "total_tokens": 7
},
- "object": "pzeciowfdjqmnhdjvuopzb",
- "model": "nknfvafwgd"
+ "object": "d",
+ "model": "bvjkc"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
index f090bb19c8fb..45c32a2547d4 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
@@ -1,31 +1,31 @@
{
- "title": "maximum set image generation",
+ "title": "GetImageGenerations_MaximumSet_Gen - generated by [MaximumSet] rule",
"operationId": "GetImageGenerations",
"parameters": {
"api-version": "2024-04-01-preview",
"extra-parameters": "error",
- "azureml-model-deployment": "lhibwaecjxaemspygcijgtqgjc",
+ "azureml-model-deployment": "rycvycz",
"body": {
"extras": {
- "key7781": "qet"
+ "key3837": "pjqpyrlnndtwpidn"
},
- "prompt": "itqynwbspxteegkzukgl",
- "size": "zplsbfstdrwficzdc",
+ "prompt": "tqborqvwtmvebb",
+ "size": "hnbllq",
"quality": "standard",
"response_format": "url",
- "seed": 19
+ "seed": 21
}
},
"responses": {
"200": {
"body": {
- "id": "dbuhzrudyuoiecpbiinhtopsm",
- "created": 16,
- "model": "vbswrxus",
+ "id": "irmxxwflyjxylijuongqc",
+ "created": 18,
+ "model": "dtjznkhucamp",
"data": [
{
- "url": "https://microsoft.com/a",
- "b64_json": "qtvmtunfognznex"
+ "url": "https://microsoft.com/ayeb",
+ "b64_json": "bhqafrsrtgvlvmwhbxrp"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
index 2b2947510f1c..eb61f841e536 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
@@ -1,19 +1,19 @@
{
- "title": "minimum set image generation",
+ "title": "GetImageGenerations_MaximumSet_Gen - generated by [MinimumSet] rule",
"operationId": "GetImageGenerations",
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "kqostymhvq",
- "size": "wxflieizgipflr"
+ "prompt": "ahatelmwtxzcbamvbqsz",
+ "size": "viyaps"
}
},
"responses": {
"200": {
"body": {
- "id": "dbuhzrudyuoiecpbiinhtopsm",
- "created": 16,
- "model": "vbswrxus",
+ "id": "irmxxwflyjxylijuongqc",
+ "created": 18,
+ "model": "dtjznkhucamp",
"data": [
{}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MaximumSet_Gen.json
new file mode 100644
index 000000000000..32aa2477e47c
--- /dev/null
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MaximumSet_Gen.json
@@ -0,0 +1,16 @@
+{
+ "title": "GetModelInformation_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "GetModelInformation",
+ "parameters": {
+ "api-version": "2024-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "model_type": "embeddings",
+ "model_provider": "frysrdaa",
+ "model_name": "jjrcmatptdlqqdg"
+ }
+ }
+ }
+}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MinimumSet_Gen.json
new file mode 100644
index 000000000000..bbd0bd30729d
--- /dev/null
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MinimumSet_Gen.json
@@ -0,0 +1,16 @@
+{
+ "title": "GetModelInformation_MaximumSet_Gen - generated by [MinimumSet] rule",
+ "operationId": "GetModelInformation",
+ "parameters": {
+ "api-version": "2024-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "model_type": "embeddings",
+ "model_provider": "frysrdaa",
+ "model_name": "jjrcmatptdlqqdg"
+ }
+ }
+ }
+}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index 394d597ec678..f7a48104a2b1 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -155,15 +155,54 @@
}
},
"x-ms-examples": {
- "maximum set image generation": {
+ "GetImageGenerations_MaximumSet_Gen - generated by [MaximumSet] rule": {
"$ref": "./examples/GetImageGenerations_MaximumSet_Gen.json"
},
- "minimum set image generation": {
+ "GetImageGenerations_MaximumSet_Gen - generated by [MinimumSet] rule": {
"$ref": "./examples/GetImageGenerations_MinimumSet_Gen.json"
}
}
}
},
+ "/info": {
+ "get": {
+ "operationId": "GetModelInformation",
+ "description": "Returns information about the AI model.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ModelInformation"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse"
+ },
+ "headers": {
+ "x-ms-error-code": {
+ "type": "string",
+ "description": "String error code indicating what went wrong."
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetModelInformation_MaximumSet_Gen - generated by [MaximumSet] rule": {
+ "$ref": "./examples/GetModelInformation_MaximumSet_Gen.json"
+ },
+ "GetModelInformation_MaximumSet_Gen - generated by [MinimumSet] rule": {
+ "$ref": "./examples/GetModelInformation_MinimumSet_Gen.json"
+ }
+ }
+ }
+ },
"/v1/chat/completions": {
"post": {
"operationId": "GetChatCompletions",
@@ -338,10 +377,10 @@
}
},
"x-ms-examples": {
- "maximum set chat completion": {
+ "GetChatCompletions_MaximumSet_Gen - generated by [MaximumSet] rule": {
"$ref": "./examples/GetChatCompletions_MaximumSet_Gen.json"
},
- "minimum set chat completion": {
+ "GetChatCompletions_MaximumSet_Gen - generated by [MinimumSet] rule": {
"$ref": "./examples/GetChatCompletions_MinimumSet_Gen.json"
}
}
@@ -450,10 +489,10 @@
}
},
"x-ms-examples": {
- "maximum set embeddings": {
+ "GetEmbeddings_MaximumSet_Gen - generated by [MaximumSet] rule": {
"$ref": "./examples/GetEmbeddings_MaximumSet_Gen.json"
},
- "minimum set embeddings": {
+ "GetEmbeddings_MaximumSet_Gen - generated by [MinimumSet] rule": {
"$ref": "./examples/GetEmbeddings_MinimumSet_Gen.json"
}
}
@@ -1339,6 +1378,65 @@
"data"
]
},
+ "ModelInformation": {
+ "type": "object",
+ "description": "Represents some basic information about the AI model.",
+ "properties": {
+ "model_type": {
+ "$ref": "#/definitions/ModelType",
+ "description": "The type of the AI model."
+ },
+ "model_provider": {
+ "type": "string",
+ "description": "The model provider."
+ },
+ "model_name": {
+ "type": "string",
+ "description": "The name of the AI model."
+ }
+ },
+ "required": [
+ "model_type",
+ "model_provider",
+ "model_name"
+ ]
+ },
+ "ModelType": {
+ "type": "string",
+ "description": "The type of AI model",
+ "enum": [
+ "embeddings",
+ "custom",
+ "chat",
+ "image_generation"
+ ],
+ "x-ms-enum": {
+ "name": "ModelType",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "embeddings",
+ "value": "embeddings",
+ "description": "Embeddings."
+ },
+ {
+ "name": "custom",
+ "value": "custom",
+ "description": "Custom model."
+ },
+ {
+ "name": "chat",
+ "value": "chat",
+ "description": "Chat completions"
+ },
+ {
+ "name": "image_generation",
+ "value": "image_generation",
+ "description": "Image generation"
+ }
+ ]
+ }
+ },
"Versions": {
"type": "string",
"description": "The ModelClient service versions.",
From a0228f4cd8e7797b889ee15f20ad341a5e9759ac Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 8 Apr 2024 08:29:06 -0700
Subject: [PATCH 048/343] Update to Record
---
specification/ai/ModelClient/models/common.tsp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/specification/ai/ModelClient/models/common.tsp b/specification/ai/ModelClient/models/common.tsp
index adb2e88988df..7f568f9b2b3c 100644
--- a/specification/ai/ModelClient/models/common.tsp
+++ b/specification/ai/ModelClient/models/common.tsp
@@ -56,5 +56,5 @@ alias ExtraRequestParameters = {
How the service handles these extra parameters depends on the value of the `extra-parameters`
HTTP request header.
""")
- extras?: Record;
+ extras?: Record;
};
From 2186f31ebe22c5b278396d76924452cdac6f3da1 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 8 Apr 2024 10:56:20 -0700
Subject: [PATCH 049/343] Try to define HTTP request header to deal with extra
parameters as a client constructor argument instead of operator argument
---
.../GetChatCompletions_MaximumSet_Gen.json | 31 ++--
.../GetChatCompletions_MinimumSet_Gen.json | 20 +--
.../GetEmbeddings_MaximumSet_Gen.json | 27 ++-
.../GetEmbeddings_MinimumSet_Gen.json | 22 +--
.../GetImageGenerations_MaximumSet_Gen.json | 23 ++-
.../GetImageGenerations_MinimumSet_Gen.json | 12 +-
.../GetModelInformation_MaximumSet_Gen.json | 6 +-
.../GetModelInformation_MinimumSet_Gen.json | 6 +-
specification/ai/ModelClient/main.tsp | 12 ++
.../ai/ModelClient/models/common.tsp | 6 +-
.../ai/ModelClient/models/model_info.tsp | 3 +
.../GetChatCompletions_MaximumSet_Gen.json | 31 ++--
.../GetChatCompletions_MinimumSet_Gen.json | 20 +--
.../GetEmbeddings_MaximumSet_Gen.json | 27 ++-
.../GetEmbeddings_MinimumSet_Gen.json | 22 +--
.../GetImageGenerations_MaximumSet_Gen.json | 23 ++-
.../GetImageGenerations_MinimumSet_Gen.json | 12 +-
.../GetModelInformation_MaximumSet_Gen.json | 6 +-
.../GetModelInformation_MinimumSet_Gen.json | 6 +-
.../preview/2024-04-01-preview/openapi.json | 170 +++++++-----------
20 files changed, 220 insertions(+), 265 deletions(-)
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index bce63eb7c86d..8c051e3ecf1c 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -1,13 +1,12 @@
{
- "title": "GetChatCompletions_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "title": "maximum set chat completion",
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "extra-parameters": "error",
- "azureml-model-deployment": "azimtdabpjdflaypzbgytmkwoqqb",
+ "azureml-model-deployment": "bvsezcowubjngusknyib",
"body": {
"extras": {
- "key3925": "lymrbnvmm"
+ "key2228": "tkqdnjypjmxfsquraxizilysq"
},
"messages": [
{
@@ -23,7 +22,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "ml"
+ "qsihlwl"
],
"stream": true,
"tools": [
@@ -31,33 +30,33 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 19
+ "seed": 9
}
},
"responses": {
"200": {
"body": {
- "id": "cayolp",
- "object": "bkazrtmqqd",
- "created": 15,
- "model": "ilrofrphi",
+ "id": "hqyheznbmuxwawu",
+ "object": "lmbgumzseoymleqwimdvzvwactpzv",
+ "created": 8,
+ "model": "qzfbxwepwzhuxchehssngb",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 4,
- "prompt_tokens": 28,
- "total_tokens": 27
+ "completion_tokens": 14,
+ "prompt_tokens": 1,
+ "total_tokens": 7
},
"choices": [
{
- "index": 11,
+ "index": 24,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "h",
+ "content": "jdmyrhruiqynrborpgjbkcim",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "vkvngkngdkwhzninlisebxx"
+ "id": "ipbmzovcarmhotczhtakzkrxgvpcr"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 66263180d5e0..3de24421911c 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -1,5 +1,5 @@
{
- "title": "GetChatCompletions_MaximumSet_Gen - generated by [MinimumSet] rule",
+ "title": "minimum set chat completion",
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "cayolp",
- "object": "bkazrtmqqd",
- "created": 15,
- "model": "ilrofrphi",
+ "id": "hqyheznbmuxwawu",
+ "object": "lmbgumzseoymleqwimdvzvwactpzv",
+ "created": 8,
+ "model": "qzfbxwepwzhuxchehssngb",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 4,
- "prompt_tokens": 28,
- "total_tokens": 27
+ "completion_tokens": 14,
+ "prompt_tokens": 1,
+ "total_tokens": 7
},
"choices": [
{
- "index": 11,
+ "index": 24,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "h"
+ "content": "jdmyrhruiqynrborpgjbkcim"
}
}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index 670dc556bfe4..eb383f21f525 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -1,16 +1,15 @@
{
- "title": "GetEmbeddings_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "title": "maximum set embeddings",
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "extra-parameters": "error",
- "azureml-model-deployment": "fcruwuln",
+ "azureml-model-deployment": "ijrpix",
"body": {
"extras": {
- "key1695": "moqwfsditimjjgbi"
+ "key9576": "ajjlesarwpmihluolaoryamqzk"
},
"input": [
- "icxscvychtbwuijbitoktieoa"
+ "pdtzermq"
],
"input_type": "text"
}
@@ -18,24 +17,24 @@
"responses": {
"200": {
"body": {
- "id": "bugdoymlinklzttjiwbapbt",
+ "id": "zajttbytyztuezzsslffdudbzjeliy",
"data": [
{
"embedding": [
- 6
+ 21
],
- "index": 23,
- "object": "scbznjgln"
+ "index": 12,
+ "object": "lwdhyaqdtoa"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 19,
- "prompt_tokens": 25,
- "total_tokens": 7
+ "input_tokens": 2,
+ "prompt_tokens": 10,
+ "total_tokens": 12
},
- "object": "d",
- "model": "bvjkc"
+ "object": "zqealwvitcfttjgzugqpvmsqhd",
+ "model": "irejnneucalzrrtikbnsabscvdvms"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index 13402051ed63..39b2e42dfba5 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -1,35 +1,35 @@
{
- "title": "GetEmbeddings_MaximumSet_Gen - generated by [MinimumSet] rule",
+ "title": "minimum set embeddings",
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "hjopbwybqrmcgtorpb"
+ "vmlsrvlkvzlitdbnifbvsomlhodjo"
]
}
},
"responses": {
"200": {
"body": {
- "id": "bugdoymlinklzttjiwbapbt",
+ "id": "zajttbytyztuezzsslffdudbzjeliy",
"data": [
{
"embedding": [
- 6
+ 21
],
- "index": 23,
- "object": "scbznjgln"
+ "index": 12,
+ "object": "lwdhyaqdtoa"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 19,
- "prompt_tokens": 25,
- "total_tokens": 7
+ "input_tokens": 2,
+ "prompt_tokens": 10,
+ "total_tokens": 12
},
- "object": "d",
- "model": "bvjkc"
+ "object": "zqealwvitcfttjgzugqpvmsqhd",
+ "model": "irejnneucalzrrtikbnsabscvdvms"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
index 45c32a2547d4..ade658b2c43d 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
@@ -1,31 +1,30 @@
{
- "title": "GetImageGenerations_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "title": "maximum set image generation",
"operationId": "GetImageGenerations",
"parameters": {
"api-version": "2024-04-01-preview",
- "extra-parameters": "error",
- "azureml-model-deployment": "rycvycz",
+ "azureml-model-deployment": "pfsaudkhqmtqwhzxuaxbpbk",
"body": {
"extras": {
- "key3837": "pjqpyrlnndtwpidn"
+ "key2287": "abjvumamrhnftlmmfiewmcpqep"
},
- "prompt": "tqborqvwtmvebb",
- "size": "hnbllq",
+ "prompt": "dzozjnvmqbwbqtecyg",
+ "size": "aixteeovqwxubpeetzezy",
"quality": "standard",
"response_format": "url",
- "seed": 21
+ "seed": 13
}
},
"responses": {
"200": {
"body": {
- "id": "irmxxwflyjxylijuongqc",
- "created": 18,
- "model": "dtjznkhucamp",
+ "id": "ghvxomcpjdraphlusvktejwrfxcfmi",
+ "created": 29,
+ "model": "seozcbdj",
"data": [
{
- "url": "https://microsoft.com/ayeb",
- "b64_json": "bhqafrsrtgvlvmwhbxrp"
+ "url": "https://microsoft.com/a",
+ "b64_json": "weivyzmgsujjrpbukvtj"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
index eb61f841e536..fccdef2ca6a8 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
@@ -1,19 +1,19 @@
{
- "title": "GetImageGenerations_MaximumSet_Gen - generated by [MinimumSet] rule",
+ "title": "minimum set image generation",
"operationId": "GetImageGenerations",
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "ahatelmwtxzcbamvbqsz",
- "size": "viyaps"
+ "prompt": "zav",
+ "size": "ojsrmildubrchpnyqwxkqvvzmnx"
}
},
"responses": {
"200": {
"body": {
- "id": "irmxxwflyjxylijuongqc",
- "created": 18,
- "model": "dtjznkhucamp",
+ "id": "ghvxomcpjdraphlusvktejwrfxcfmi",
+ "created": 29,
+ "model": "seozcbdj",
"data": [
{}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MaximumSet_Gen.json
index 32aa2477e47c..85ddfd5a4911 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MaximumSet_Gen.json
@@ -1,5 +1,5 @@
{
- "title": "GetModelInformation_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "title": "maximum set model information",
"operationId": "GetModelInformation",
"parameters": {
"api-version": "2024-04-01-preview"
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "frysrdaa",
- "model_name": "jjrcmatptdlqqdg"
+ "model_provider": "cjhrqypowpu",
+ "model_name": "bbfpstlifmufujjqleiovodgfseae"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MinimumSet_Gen.json
index bbd0bd30729d..a277c3357caa 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MinimumSet_Gen.json
@@ -1,5 +1,5 @@
{
- "title": "GetModelInformation_MaximumSet_Gen - generated by [MinimumSet] rule",
+ "title": "minimum set model information",
"operationId": "GetModelInformation",
"parameters": {
"api-version": "2024-04-01-preview"
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "frysrdaa",
- "model_name": "jjrcmatptdlqqdg"
+ "model_provider": "cjhrqypowpu",
+ "model_name": "bbfpstlifmufujjqleiovodgfseae"
}
}
}
diff --git a/specification/ai/ModelClient/main.tsp b/specification/ai/ModelClient/main.tsp
index cec7bc48489f..2596cb56178c 100644
--- a/specification/ai/ModelClient/main.tsp
+++ b/specification/ai/ModelClient/main.tsp
@@ -13,6 +13,18 @@ using Azure.Core;
@service({
title: "AI Model Inference",
})
+@server(
+ "{endpoint}",
+ "An AI endpoint that does chat completions, embeddings or image-generation",
+ {
+ @doc("The Document Intelligence service endpoint.")
+ endpoint: string,
+
+ @doc("Controls what happens if extra parameters are passed in the request payload.")
+ @header("extra-parameters")
+ extra_parameters?: ExtraParameters,
+ }
+)
@versioned(ModelClient.Versions)
namespace ModelClient;
diff --git a/specification/ai/ModelClient/models/common.tsp b/specification/ai/ModelClient/models/common.tsp
index 7f568f9b2b3c..7a9701942c16 100644
--- a/specification/ai/ModelClient/models/common.tsp
+++ b/specification/ai/ModelClient/models/common.tsp
@@ -21,10 +21,6 @@ union ExtraParameters {
}
alias AdditionalRequestHeaders = {
- @doc("Controls what happens if extra parameters are passed in the request payload.")
- @header("extra-parameters")
- extra_parameters?: ExtraParameters;
-
@doc("""
Name of the deployment to which you would like to route the request. Relevant only to Model-as-a-Platform (MaaP) deployments.
Typically used when you want to target a test environment instead of production environment.
@@ -56,5 +52,5 @@ alias ExtraRequestParameters = {
How the service handles these extra parameters depends on the value of the `extra-parameters`
HTTP request header.
""")
- extras?: Record;
+ extras?: Record;
};
diff --git a/specification/ai/ModelClient/models/model_info.tsp b/specification/ai/ModelClient/models/model_info.tsp
index 7184cc4c1f07..72362715e499 100644
--- a/specification/ai/ModelClient/models/model_info.tsp
+++ b/specification/ai/ModelClient/models/model_info.tsp
@@ -31,6 +31,9 @@ union ModelType {
@doc("Chat completions")
chat: "chat",
+ @doc("Text generation")
+ text_generation: "text_generation",
+
@doc("Image generation")
image_generation: "image_generation",
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index bce63eb7c86d..8c051e3ecf1c 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -1,13 +1,12 @@
{
- "title": "GetChatCompletions_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "title": "maximum set chat completion",
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "extra-parameters": "error",
- "azureml-model-deployment": "azimtdabpjdflaypzbgytmkwoqqb",
+ "azureml-model-deployment": "bvsezcowubjngusknyib",
"body": {
"extras": {
- "key3925": "lymrbnvmm"
+ "key2228": "tkqdnjypjmxfsquraxizilysq"
},
"messages": [
{
@@ -23,7 +22,7 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "ml"
+ "qsihlwl"
],
"stream": true,
"tools": [
@@ -31,33 +30,33 @@
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 19
+ "seed": 9
}
},
"responses": {
"200": {
"body": {
- "id": "cayolp",
- "object": "bkazrtmqqd",
- "created": 15,
- "model": "ilrofrphi",
+ "id": "hqyheznbmuxwawu",
+ "object": "lmbgumzseoymleqwimdvzvwactpzv",
+ "created": 8,
+ "model": "qzfbxwepwzhuxchehssngb",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 4,
- "prompt_tokens": 28,
- "total_tokens": 27
+ "completion_tokens": 14,
+ "prompt_tokens": 1,
+ "total_tokens": 7
},
"choices": [
{
- "index": 11,
+ "index": 24,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "h",
+ "content": "jdmyrhruiqynrborpgjbkcim",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "vkvngkngdkwhzninlisebxx"
+ "id": "ipbmzovcarmhotczhtakzkrxgvpcr"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 66263180d5e0..3de24421911c 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -1,5 +1,5 @@
{
- "title": "GetChatCompletions_MaximumSet_Gen - generated by [MinimumSet] rule",
+ "title": "minimum set chat completion",
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "cayolp",
- "object": "bkazrtmqqd",
- "created": 15,
- "model": "ilrofrphi",
+ "id": "hqyheznbmuxwawu",
+ "object": "lmbgumzseoymleqwimdvzvwactpzv",
+ "created": 8,
+ "model": "qzfbxwepwzhuxchehssngb",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 4,
- "prompt_tokens": 28,
- "total_tokens": 27
+ "completion_tokens": 14,
+ "prompt_tokens": 1,
+ "total_tokens": 7
},
"choices": [
{
- "index": 11,
+ "index": 24,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "h"
+ "content": "jdmyrhruiqynrborpgjbkcim"
}
}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index 670dc556bfe4..eb383f21f525 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -1,16 +1,15 @@
{
- "title": "GetEmbeddings_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "title": "maximum set embeddings",
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "extra-parameters": "error",
- "azureml-model-deployment": "fcruwuln",
+ "azureml-model-deployment": "ijrpix",
"body": {
"extras": {
- "key1695": "moqwfsditimjjgbi"
+ "key9576": "ajjlesarwpmihluolaoryamqzk"
},
"input": [
- "icxscvychtbwuijbitoktieoa"
+ "pdtzermq"
],
"input_type": "text"
}
@@ -18,24 +17,24 @@
"responses": {
"200": {
"body": {
- "id": "bugdoymlinklzttjiwbapbt",
+ "id": "zajttbytyztuezzsslffdudbzjeliy",
"data": [
{
"embedding": [
- 6
+ 21
],
- "index": 23,
- "object": "scbznjgln"
+ "index": 12,
+ "object": "lwdhyaqdtoa"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 19,
- "prompt_tokens": 25,
- "total_tokens": 7
+ "input_tokens": 2,
+ "prompt_tokens": 10,
+ "total_tokens": 12
},
- "object": "d",
- "model": "bvjkc"
+ "object": "zqealwvitcfttjgzugqpvmsqhd",
+ "model": "irejnneucalzrrtikbnsabscvdvms"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index 13402051ed63..39b2e42dfba5 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -1,35 +1,35 @@
{
- "title": "GetEmbeddings_MaximumSet_Gen - generated by [MinimumSet] rule",
+ "title": "minimum set embeddings",
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "hjopbwybqrmcgtorpb"
+ "vmlsrvlkvzlitdbnifbvsomlhodjo"
]
}
},
"responses": {
"200": {
"body": {
- "id": "bugdoymlinklzttjiwbapbt",
+ "id": "zajttbytyztuezzsslffdudbzjeliy",
"data": [
{
"embedding": [
- 6
+ 21
],
- "index": 23,
- "object": "scbznjgln"
+ "index": 12,
+ "object": "lwdhyaqdtoa"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 19,
- "prompt_tokens": 25,
- "total_tokens": 7
+ "input_tokens": 2,
+ "prompt_tokens": 10,
+ "total_tokens": 12
},
- "object": "d",
- "model": "bvjkc"
+ "object": "zqealwvitcfttjgzugqpvmsqhd",
+ "model": "irejnneucalzrrtikbnsabscvdvms"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
index 45c32a2547d4..ade658b2c43d 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
@@ -1,31 +1,30 @@
{
- "title": "GetImageGenerations_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "title": "maximum set image generation",
"operationId": "GetImageGenerations",
"parameters": {
"api-version": "2024-04-01-preview",
- "extra-parameters": "error",
- "azureml-model-deployment": "rycvycz",
+ "azureml-model-deployment": "pfsaudkhqmtqwhzxuaxbpbk",
"body": {
"extras": {
- "key3837": "pjqpyrlnndtwpidn"
+ "key2287": "abjvumamrhnftlmmfiewmcpqep"
},
- "prompt": "tqborqvwtmvebb",
- "size": "hnbllq",
+ "prompt": "dzozjnvmqbwbqtecyg",
+ "size": "aixteeovqwxubpeetzezy",
"quality": "standard",
"response_format": "url",
- "seed": 21
+ "seed": 13
}
},
"responses": {
"200": {
"body": {
- "id": "irmxxwflyjxylijuongqc",
- "created": 18,
- "model": "dtjznkhucamp",
+ "id": "ghvxomcpjdraphlusvktejwrfxcfmi",
+ "created": 29,
+ "model": "seozcbdj",
"data": [
{
- "url": "https://microsoft.com/ayeb",
- "b64_json": "bhqafrsrtgvlvmwhbxrp"
+ "url": "https://microsoft.com/a",
+ "b64_json": "weivyzmgsujjrpbukvtj"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
index eb61f841e536..fccdef2ca6a8 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
@@ -1,19 +1,19 @@
{
- "title": "GetImageGenerations_MaximumSet_Gen - generated by [MinimumSet] rule",
+ "title": "minimum set image generation",
"operationId": "GetImageGenerations",
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "ahatelmwtxzcbamvbqsz",
- "size": "viyaps"
+ "prompt": "zav",
+ "size": "ojsrmildubrchpnyqwxkqvvzmnx"
}
},
"responses": {
"200": {
"body": {
- "id": "irmxxwflyjxylijuongqc",
- "created": 18,
- "model": "dtjznkhucamp",
+ "id": "ghvxomcpjdraphlusvktejwrfxcfmi",
+ "created": 29,
+ "model": "seozcbdj",
"data": [
{}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MaximumSet_Gen.json
index 32aa2477e47c..85ddfd5a4911 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MaximumSet_Gen.json
@@ -1,5 +1,5 @@
{
- "title": "GetModelInformation_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "title": "maximum set model information",
"operationId": "GetModelInformation",
"parameters": {
"api-version": "2024-04-01-preview"
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "frysrdaa",
- "model_name": "jjrcmatptdlqqdg"
+ "model_provider": "cjhrqypowpu",
+ "model_name": "bbfpstlifmufujjqleiovodgfseae"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MinimumSet_Gen.json
index bbd0bd30729d..a277c3357caa 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MinimumSet_Gen.json
@@ -1,5 +1,5 @@
{
- "title": "GetModelInformation_MaximumSet_Gen - generated by [MinimumSet] rule",
+ "title": "minimum set model information",
"operationId": "GetModelInformation",
"parameters": {
"api-version": "2024-04-01-preview"
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "frysrdaa",
- "model_name": "jjrcmatptdlqqdg"
+ "model_provider": "cjhrqypowpu",
+ "model_name": "bbfpstlifmufujjqleiovodgfseae"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index f7a48104a2b1..11873e51f023 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -12,6 +12,52 @@
"schemes": [
"https"
],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "name": "endpoint",
+ "in": "path",
+ "description": "The Document Intelligence service endpoint.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "extra_parameters",
+ "in": "path",
+ "description": "Controls what happens if extra parameters are passed in the request payload.",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "error",
+ "ignore",
+ "allow"
+ ],
+ "x-ms-enum": {
+ "name": "ExtraParameters",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "error",
+ "value": "error",
+ "description": "The service should error when it sees extra parameters in the request payload. This is the default behavior if the service."
+ },
+ {
+ "name": "ignore",
+ "value": "ignore",
+ "description": "The service should ignore extra parameters in the request payload. They will not be passed to the back-end AI model."
+ },
+ {
+ "name": "allow",
+ "value": "allow",
+ "description": "The service should pass extra parameters to the back-end AI model."
+ }
+ ]
+ }
+ }
+ ]
+ },
"produces": [
"application/json"
],
@@ -28,40 +74,6 @@
{
"$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
},
- {
- "name": "extra-parameters",
- "in": "header",
- "description": "Controls what happens if extra parameters are passed in the request payload.",
- "required": false,
- "type": "string",
- "enum": [
- "error",
- "ignore",
- "allow"
- ],
- "x-ms-enum": {
- "name": "ExtraParameters",
- "modelAsString": true,
- "values": [
- {
- "name": "error",
- "value": "error",
- "description": "The service should error when it sees extra parameters in the request payload. This is the default behavior if the service."
- },
- {
- "name": "ignore",
- "value": "ignore",
- "description": "The service should ignore extra parameters in the request payload. They will not be passed to the back-end AI model."
- },
- {
- "name": "allow",
- "value": "allow",
- "description": "The service should pass extra parameters to the back-end AI model."
- }
- ]
- },
- "x-ms-client-name": "extra_parameters"
- },
{
"name": "azureml-model-deployment",
"in": "header",
@@ -155,10 +167,10 @@
}
},
"x-ms-examples": {
- "GetImageGenerations_MaximumSet_Gen - generated by [MaximumSet] rule": {
+ "maximum set image generation": {
"$ref": "./examples/GetImageGenerations_MaximumSet_Gen.json"
},
- "GetImageGenerations_MaximumSet_Gen - generated by [MinimumSet] rule": {
+ "minimum set image generation": {
"$ref": "./examples/GetImageGenerations_MinimumSet_Gen.json"
}
}
@@ -194,10 +206,10 @@
}
},
"x-ms-examples": {
- "GetModelInformation_MaximumSet_Gen - generated by [MaximumSet] rule": {
+ "maximum set model information": {
"$ref": "./examples/GetModelInformation_MaximumSet_Gen.json"
},
- "GetModelInformation_MaximumSet_Gen - generated by [MinimumSet] rule": {
+ "minimum set model information": {
"$ref": "./examples/GetModelInformation_MinimumSet_Gen.json"
}
}
@@ -211,40 +223,6 @@
{
"$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
},
- {
- "name": "extra-parameters",
- "in": "header",
- "description": "Controls what happens if extra parameters are passed in the request payload.",
- "required": false,
- "type": "string",
- "enum": [
- "error",
- "ignore",
- "allow"
- ],
- "x-ms-enum": {
- "name": "ExtraParameters",
- "modelAsString": true,
- "values": [
- {
- "name": "error",
- "value": "error",
- "description": "The service should error when it sees extra parameters in the request payload. This is the default behavior if the service."
- },
- {
- "name": "ignore",
- "value": "ignore",
- "description": "The service should ignore extra parameters in the request payload. They will not be passed to the back-end AI model."
- },
- {
- "name": "allow",
- "value": "allow",
- "description": "The service should pass extra parameters to the back-end AI model."
- }
- ]
- },
- "x-ms-client-name": "extra_parameters"
- },
{
"name": "azureml-model-deployment",
"in": "header",
@@ -377,10 +355,10 @@
}
},
"x-ms-examples": {
- "GetChatCompletions_MaximumSet_Gen - generated by [MaximumSet] rule": {
+ "maximum set chat completion": {
"$ref": "./examples/GetChatCompletions_MaximumSet_Gen.json"
},
- "GetChatCompletions_MaximumSet_Gen - generated by [MinimumSet] rule": {
+ "minimum set chat completion": {
"$ref": "./examples/GetChatCompletions_MinimumSet_Gen.json"
}
}
@@ -394,40 +372,6 @@
{
"$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
},
- {
- "name": "extra-parameters",
- "in": "header",
- "description": "Controls what happens if extra parameters are passed in the request payload.",
- "required": false,
- "type": "string",
- "enum": [
- "error",
- "ignore",
- "allow"
- ],
- "x-ms-enum": {
- "name": "ExtraParameters",
- "modelAsString": true,
- "values": [
- {
- "name": "error",
- "value": "error",
- "description": "The service should error when it sees extra parameters in the request payload. This is the default behavior if the service."
- },
- {
- "name": "ignore",
- "value": "ignore",
- "description": "The service should ignore extra parameters in the request payload. They will not be passed to the back-end AI model."
- },
- {
- "name": "allow",
- "value": "allow",
- "description": "The service should pass extra parameters to the back-end AI model."
- }
- ]
- },
- "x-ms-client-name": "extra_parameters"
- },
{
"name": "azureml-model-deployment",
"in": "header",
@@ -489,10 +433,10 @@
}
},
"x-ms-examples": {
- "GetEmbeddings_MaximumSet_Gen - generated by [MaximumSet] rule": {
+ "maximum set embeddings": {
"$ref": "./examples/GetEmbeddings_MaximumSet_Gen.json"
},
- "GetEmbeddings_MaximumSet_Gen - generated by [MinimumSet] rule": {
+ "minimum set embeddings": {
"$ref": "./examples/GetEmbeddings_MinimumSet_Gen.json"
}
}
@@ -1408,6 +1352,7 @@
"embeddings",
"custom",
"chat",
+ "text_generation",
"image_generation"
],
"x-ms-enum": {
@@ -1429,6 +1374,11 @@
"value": "chat",
"description": "Chat completions"
},
+ {
+ "name": "text_generation",
+ "value": "text_generation",
+ "description": "Text generation"
+ },
{
"name": "image_generation",
"value": "image_generation",
From b3d686fc38bec4615cc1230e144e55b14d57caa3 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 8 Apr 2024 11:14:34 -0700
Subject: [PATCH 050/343] Fix service title
---
specification/ai/ModelClient/main.tsp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/specification/ai/ModelClient/main.tsp b/specification/ai/ModelClient/main.tsp
index 2596cb56178c..a6e37e6720b9 100644
--- a/specification/ai/ModelClient/main.tsp
+++ b/specification/ai/ModelClient/main.tsp
@@ -17,7 +17,7 @@ using Azure.Core;
"{endpoint}",
"An AI endpoint that does chat completions, embeddings or image-generation",
{
- @doc("The Document Intelligence service endpoint.")
+ @doc("The AI model service endpoint.")
endpoint: string,
@doc("Controls what happens if extra parameters are passed in the request payload.")
From c02f3db37446a0fd701fa1327bfd100c752f4fde Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Tue, 9 Apr 2024 21:58:46 -0700
Subject: [PATCH 051/343] Remove 'stream' from chat completion options
---
.../GetChatCompletions_MaximumSet_Gen.json | 31 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 18 +++++------
.../GetEmbeddings_MaximumSet_Gen.json | 24 +++++++-------
.../GetEmbeddings_MinimumSet_Gen.json | 20 ++++++------
.../GetImageGenerations_MaximumSet_Gen.json | 16 +++++-----
.../GetImageGenerations_MinimumSet_Gen.json | 8 ++---
.../GetModelInformation_MaximumSet_Gen.json | 4 +--
.../GetModelInformation_MinimumSet_Gen.json | 4 +--
.../ModelClient/models/chat_completions.tsp | 5 ---
.../GetChatCompletions_MaximumSet_Gen.json | 31 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 18 +++++------
.../GetEmbeddings_MaximumSet_Gen.json | 24 +++++++-------
.../GetEmbeddings_MinimumSet_Gen.json | 20 ++++++------
.../GetImageGenerations_MaximumSet_Gen.json | 16 +++++-----
.../GetImageGenerations_MinimumSet_Gen.json | 8 ++---
.../GetModelInformation_MaximumSet_Gen.json | 4 +--
.../GetModelInformation_MinimumSet_Gen.json | 4 +--
.../preview/2024-04-01-preview/openapi.json | 7 +----
18 files changed, 125 insertions(+), 137 deletions(-)
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index 8c051e3ecf1c..b5818ffba200 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -3,17 +3,17 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "bvsezcowubjngusknyib",
+ "azureml-model-deployment": "xdcuvm",
"body": {
"extras": {
- "key2228": "tkqdnjypjmxfsquraxizilysq"
+ "key8044": "jwvwp"
},
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -1,
+ "frequency_penalty": -2,
"presence_penalty": 1,
"temperature": 0,
"top_p": 0,
@@ -22,41 +22,40 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "qsihlwl"
+ "mfchofxicdwayopm"
],
- "stream": true,
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 9
+ "seed": 1
}
},
"responses": {
"200": {
"body": {
- "id": "hqyheznbmuxwawu",
- "object": "lmbgumzseoymleqwimdvzvwactpzv",
- "created": 8,
- "model": "qzfbxwepwzhuxchehssngb",
+ "id": "tqfaprssitqequawdfniy",
+ "object": "jomwqfcoe",
+ "created": 27,
+ "model": "iv",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 14,
- "prompt_tokens": 1,
- "total_tokens": 7
+ "completion_tokens": 29,
+ "prompt_tokens": 8,
+ "total_tokens": 2
},
"choices": [
{
- "index": 24,
+ "index": 4,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "jdmyrhruiqynrborpgjbkcim",
+ "content": "durmwp",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "ipbmzovcarmhotczhtakzkrxgvpcr"
+ "id": "qubdbjztonbgsvxjyjie"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 3de24421911c..26a2ebcdd8fd 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "hqyheznbmuxwawu",
- "object": "lmbgumzseoymleqwimdvzvwactpzv",
- "created": 8,
- "model": "qzfbxwepwzhuxchehssngb",
+ "id": "tqfaprssitqequawdfniy",
+ "object": "jomwqfcoe",
+ "created": 27,
+ "model": "iv",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 14,
- "prompt_tokens": 1,
- "total_tokens": 7
+ "completion_tokens": 29,
+ "prompt_tokens": 8,
+ "total_tokens": 2
},
"choices": [
{
- "index": 24,
+ "index": 4,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "jdmyrhruiqynrborpgjbkcim"
+ "content": "durmwp"
}
}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index eb383f21f525..5b89ef8c84c6 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -3,13 +3,13 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "ijrpix",
+ "azureml-model-deployment": "twhpzepkvqokqlqsjnvusucwd",
"body": {
"extras": {
- "key9576": "ajjlesarwpmihluolaoryamqzk"
+ "key5076": "uitznbkdrbtkrusg"
},
"input": [
- "pdtzermq"
+ "xovbrzfh"
],
"input_type": "text"
}
@@ -17,24 +17,24 @@
"responses": {
"200": {
"body": {
- "id": "zajttbytyztuezzsslffdudbzjeliy",
+ "id": "ttwxucrdzaxzhihfvychvwa",
"data": [
{
"embedding": [
- 21
+ 22
],
- "index": 12,
- "object": "lwdhyaqdtoa"
+ "index": 16,
+ "object": "rkizkkmhy"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 2,
- "prompt_tokens": 10,
- "total_tokens": 12
+ "input_tokens": 8,
+ "prompt_tokens": 9,
+ "total_tokens": 6
},
- "object": "zqealwvitcfttjgzugqpvmsqhd",
- "model": "irejnneucalzrrtikbnsabscvdvms"
+ "object": "atintmxdvjceloboib",
+ "model": "gthzj"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index 39b2e42dfba5..3cc747a60cbd 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "vmlsrvlkvzlitdbnifbvsomlhodjo"
+ "rndmhsxvp"
]
}
},
"responses": {
"200": {
"body": {
- "id": "zajttbytyztuezzsslffdudbzjeliy",
+ "id": "ttwxucrdzaxzhihfvychvwa",
"data": [
{
"embedding": [
- 21
+ 22
],
- "index": 12,
- "object": "lwdhyaqdtoa"
+ "index": 16,
+ "object": "rkizkkmhy"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 2,
- "prompt_tokens": 10,
- "total_tokens": 12
+ "input_tokens": 8,
+ "prompt_tokens": 9,
+ "total_tokens": 6
},
- "object": "zqealwvitcfttjgzugqpvmsqhd",
- "model": "irejnneucalzrrtikbnsabscvdvms"
+ "object": "atintmxdvjceloboib",
+ "model": "gthzj"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
index ade658b2c43d..8d92153768fb 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
@@ -3,28 +3,28 @@
"operationId": "GetImageGenerations",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "pfsaudkhqmtqwhzxuaxbpbk",
+ "azureml-model-deployment": "ekhhlbr",
"body": {
"extras": {
- "key2287": "abjvumamrhnftlmmfiewmcpqep"
+ "key3687": "ptvrrzntdngxuch"
},
- "prompt": "dzozjnvmqbwbqtecyg",
- "size": "aixteeovqwxubpeetzezy",
+ "prompt": "fgdfetfkhdayfarouklcbmpwxztjn",
+ "size": "kugstw",
"quality": "standard",
"response_format": "url",
- "seed": 13
+ "seed": 28
}
},
"responses": {
"200": {
"body": {
- "id": "ghvxomcpjdraphlusvktejwrfxcfmi",
+ "id": "bvwuzp",
"created": 29,
- "model": "seozcbdj",
+ "model": "ayk",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "weivyzmgsujjrpbukvtj"
+ "b64_json": "ivvbzyylygvvciwzg"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
index fccdef2ca6a8..800053e0a123 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "zav",
- "size": "ojsrmildubrchpnyqwxkqvvzmnx"
+ "prompt": "luntgmmwbotsxfrfhhnj",
+ "size": "wcsbmiwodzmdrunxj"
}
},
"responses": {
"200": {
"body": {
- "id": "ghvxomcpjdraphlusvktejwrfxcfmi",
+ "id": "bvwuzp",
"created": 29,
- "model": "seozcbdj",
+ "model": "ayk",
"data": [
{}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MaximumSet_Gen.json
index 85ddfd5a4911..47edda41547b 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MaximumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "cjhrqypowpu",
- "model_name": "bbfpstlifmufujjqleiovodgfseae"
+ "model_provider": "rlwgwqzp",
+ "model_name": "wwp"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MinimumSet_Gen.json
index a277c3357caa..a932f27d3296 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MinimumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "cjhrqypowpu",
- "model_name": "bbfpstlifmufujjqleiovodgfseae"
+ "model_provider": "rlwgwqzp",
+ "model_name": "wwp"
}
}
}
diff --git a/specification/ai/ModelClient/models/chat_completions.tsp b/specification/ai/ModelClient/models/chat_completions.tsp
index 3a3e8e65e8ed..8eda1d2770a9 100644
--- a/specification/ai/ModelClient/models/chat_completions.tsp
+++ b/specification/ai/ModelClient/models/chat_completions.tsp
@@ -74,11 +74,6 @@ alias ChatCompletionsOptions = {
@minItems(1)
stop?: string[];
- @doc("""
- A value indicating whether chat completions should be streamed for this request.
- """)
- stream?: boolean = false;
-
@doc("The available tool definitions that the chat completions request can use, including caller-defined functions.")
@minItems(1)
tools?: ChatCompletionsToolDefinition[];
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index 8c051e3ecf1c..b5818ffba200 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -3,17 +3,17 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "bvsezcowubjngusknyib",
+ "azureml-model-deployment": "xdcuvm",
"body": {
"extras": {
- "key2228": "tkqdnjypjmxfsquraxizilysq"
+ "key8044": "jwvwp"
},
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -1,
+ "frequency_penalty": -2,
"presence_penalty": 1,
"temperature": 0,
"top_p": 0,
@@ -22,41 +22,40 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "qsihlwl"
+ "mfchofxicdwayopm"
],
- "stream": true,
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 9
+ "seed": 1
}
},
"responses": {
"200": {
"body": {
- "id": "hqyheznbmuxwawu",
- "object": "lmbgumzseoymleqwimdvzvwactpzv",
- "created": 8,
- "model": "qzfbxwepwzhuxchehssngb",
+ "id": "tqfaprssitqequawdfniy",
+ "object": "jomwqfcoe",
+ "created": 27,
+ "model": "iv",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 14,
- "prompt_tokens": 1,
- "total_tokens": 7
+ "completion_tokens": 29,
+ "prompt_tokens": 8,
+ "total_tokens": 2
},
"choices": [
{
- "index": 24,
+ "index": 4,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "jdmyrhruiqynrborpgjbkcim",
+ "content": "durmwp",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "ipbmzovcarmhotczhtakzkrxgvpcr"
+ "id": "qubdbjztonbgsvxjyjie"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 3de24421911c..26a2ebcdd8fd 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "hqyheznbmuxwawu",
- "object": "lmbgumzseoymleqwimdvzvwactpzv",
- "created": 8,
- "model": "qzfbxwepwzhuxchehssngb",
+ "id": "tqfaprssitqequawdfniy",
+ "object": "jomwqfcoe",
+ "created": 27,
+ "model": "iv",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 14,
- "prompt_tokens": 1,
- "total_tokens": 7
+ "completion_tokens": 29,
+ "prompt_tokens": 8,
+ "total_tokens": 2
},
"choices": [
{
- "index": 24,
+ "index": 4,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "jdmyrhruiqynrborpgjbkcim"
+ "content": "durmwp"
}
}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index eb383f21f525..5b89ef8c84c6 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -3,13 +3,13 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "ijrpix",
+ "azureml-model-deployment": "twhpzepkvqokqlqsjnvusucwd",
"body": {
"extras": {
- "key9576": "ajjlesarwpmihluolaoryamqzk"
+ "key5076": "uitznbkdrbtkrusg"
},
"input": [
- "pdtzermq"
+ "xovbrzfh"
],
"input_type": "text"
}
@@ -17,24 +17,24 @@
"responses": {
"200": {
"body": {
- "id": "zajttbytyztuezzsslffdudbzjeliy",
+ "id": "ttwxucrdzaxzhihfvychvwa",
"data": [
{
"embedding": [
- 21
+ 22
],
- "index": 12,
- "object": "lwdhyaqdtoa"
+ "index": 16,
+ "object": "rkizkkmhy"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 2,
- "prompt_tokens": 10,
- "total_tokens": 12
+ "input_tokens": 8,
+ "prompt_tokens": 9,
+ "total_tokens": 6
},
- "object": "zqealwvitcfttjgzugqpvmsqhd",
- "model": "irejnneucalzrrtikbnsabscvdvms"
+ "object": "atintmxdvjceloboib",
+ "model": "gthzj"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index 39b2e42dfba5..3cc747a60cbd 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "vmlsrvlkvzlitdbnifbvsomlhodjo"
+ "rndmhsxvp"
]
}
},
"responses": {
"200": {
"body": {
- "id": "zajttbytyztuezzsslffdudbzjeliy",
+ "id": "ttwxucrdzaxzhihfvychvwa",
"data": [
{
"embedding": [
- 21
+ 22
],
- "index": 12,
- "object": "lwdhyaqdtoa"
+ "index": 16,
+ "object": "rkizkkmhy"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 2,
- "prompt_tokens": 10,
- "total_tokens": 12
+ "input_tokens": 8,
+ "prompt_tokens": 9,
+ "total_tokens": 6
},
- "object": "zqealwvitcfttjgzugqpvmsqhd",
- "model": "irejnneucalzrrtikbnsabscvdvms"
+ "object": "atintmxdvjceloboib",
+ "model": "gthzj"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
index ade658b2c43d..8d92153768fb 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
@@ -3,28 +3,28 @@
"operationId": "GetImageGenerations",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "pfsaudkhqmtqwhzxuaxbpbk",
+ "azureml-model-deployment": "ekhhlbr",
"body": {
"extras": {
- "key2287": "abjvumamrhnftlmmfiewmcpqep"
+ "key3687": "ptvrrzntdngxuch"
},
- "prompt": "dzozjnvmqbwbqtecyg",
- "size": "aixteeovqwxubpeetzezy",
+ "prompt": "fgdfetfkhdayfarouklcbmpwxztjn",
+ "size": "kugstw",
"quality": "standard",
"response_format": "url",
- "seed": 13
+ "seed": 28
}
},
"responses": {
"200": {
"body": {
- "id": "ghvxomcpjdraphlusvktejwrfxcfmi",
+ "id": "bvwuzp",
"created": 29,
- "model": "seozcbdj",
+ "model": "ayk",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "weivyzmgsujjrpbukvtj"
+ "b64_json": "ivvbzyylygvvciwzg"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
index fccdef2ca6a8..800053e0a123 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "zav",
- "size": "ojsrmildubrchpnyqwxkqvvzmnx"
+ "prompt": "luntgmmwbotsxfrfhhnj",
+ "size": "wcsbmiwodzmdrunxj"
}
},
"responses": {
"200": {
"body": {
- "id": "ghvxomcpjdraphlusvktejwrfxcfmi",
+ "id": "bvwuzp",
"created": 29,
- "model": "seozcbdj",
+ "model": "ayk",
"data": [
{}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MaximumSet_Gen.json
index 85ddfd5a4911..47edda41547b 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MaximumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "cjhrqypowpu",
- "model_name": "bbfpstlifmufujjqleiovodgfseae"
+ "model_provider": "rlwgwqzp",
+ "model_name": "wwp"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MinimumSet_Gen.json
index a277c3357caa..a932f27d3296 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MinimumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "cjhrqypowpu",
- "model_name": "bbfpstlifmufujjqleiovodgfseae"
+ "model_provider": "rlwgwqzp",
+ "model_name": "wwp"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index 11873e51f023..8ad767c4148a 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -19,7 +19,7 @@
{
"name": "endpoint",
"in": "path",
- "description": "The Document Intelligence service endpoint.",
+ "description": "The AI model service endpoint.",
"required": true,
"type": "string"
},
@@ -304,11 +304,6 @@
"type": "string"
}
},
- "stream": {
- "type": "boolean",
- "description": "A value indicating whether chat completions should be streamed for this request.",
- "default": false
- },
"tools": {
"type": "array",
"description": "The available tool definitions that the chat completions request can use, including caller-defined functions.",
From 27eb2a5146502d091041fcbfb19aa035725dbda5 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Wed, 10 Apr 2024 08:01:36 -0700
Subject: [PATCH 052/343] Disable 'extra_parameters' for now
---
specification/ai/ModelClient/main.tsp | 25 +++++++++++++------------
1 file changed, 13 insertions(+), 12 deletions(-)
diff --git a/specification/ai/ModelClient/main.tsp b/specification/ai/ModelClient/main.tsp
index a6e37e6720b9..14597e02fa1a 100644
--- a/specification/ai/ModelClient/main.tsp
+++ b/specification/ai/ModelClient/main.tsp
@@ -13,18 +13,19 @@ using Azure.Core;
@service({
title: "AI Model Inference",
})
-@server(
- "{endpoint}",
- "An AI endpoint that does chat completions, embeddings or image-generation",
- {
- @doc("The AI model service endpoint.")
- endpoint: string,
-
- @doc("Controls what happens if extra parameters are passed in the request payload.")
- @header("extra-parameters")
- extra_parameters?: ExtraParameters,
- }
-)
+// Is this the right way to do this? This results in an error in the emitted Python code.
+// @server(
+// "{endpoint}",
+// "An AI endpoint that does chat completions, embeddings or image-generation",
+// {
+// @doc("The AI model service endpoint.")
+// endpoint: string,
+//
+// @doc("Controls what happens if extra parameters are passed in the request payload.")
+// @header("extra-parameters")
+// extra_parameters?: ExtraParameters,
+// }
+// )
@versioned(ModelClient.Versions)
namespace ModelClient;
From 178c216eabb49f96cf6eabbd8e34f3d026757208 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Wed, 10 Apr 2024 08:03:43 -0700
Subject: [PATCH 053/343] Refresh examples
---
.../GetChatCompletions_MaximumSet_Gen.json | 32 ++++++-------
.../GetChatCompletions_MinimumSet_Gen.json | 18 ++++----
.../GetEmbeddings_MaximumSet_Gen.json | 24 +++++-----
.../GetEmbeddings_MinimumSet_Gen.json | 20 ++++----
.../GetImageGenerations_MaximumSet_Gen.json | 18 ++++----
.../GetImageGenerations_MinimumSet_Gen.json | 10 ++--
.../GetModelInformation_MaximumSet_Gen.json | 4 +-
.../GetModelInformation_MinimumSet_Gen.json | 4 +-
.../GetChatCompletions_MaximumSet_Gen.json | 32 ++++++-------
.../GetChatCompletions_MinimumSet_Gen.json | 18 ++++----
.../GetEmbeddings_MaximumSet_Gen.json | 24 +++++-----
.../GetEmbeddings_MinimumSet_Gen.json | 20 ++++----
.../GetImageGenerations_MaximumSet_Gen.json | 18 ++++----
.../GetImageGenerations_MinimumSet_Gen.json | 10 ++--
.../GetModelInformation_MaximumSet_Gen.json | 4 +-
.../GetModelInformation_MinimumSet_Gen.json | 4 +-
.../preview/2024-04-01-preview/openapi.json | 46 -------------------
17 files changed, 130 insertions(+), 176 deletions(-)
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index b5818ffba200..0b235dd802cd 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -3,18 +3,18 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "xdcuvm",
+ "azureml-model-deployment": "arjeawalykuwefcg",
"body": {
"extras": {
- "key8044": "jwvwp"
+ "key5815": "cvhukjkybbunvzj"
},
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -2,
- "presence_penalty": 1,
+ "frequency_penalty": -1,
+ "presence_penalty": -1,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
@@ -22,40 +22,40 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "mfchofxicdwayopm"
+ "dxrbzgcs"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 1
+ "seed": 20
}
},
"responses": {
"200": {
"body": {
- "id": "tqfaprssitqequawdfniy",
- "object": "jomwqfcoe",
- "created": 27,
- "model": "iv",
+ "id": "zxvaywagaxbgovdcidylzyagy",
+ "object": "gswuglohgrqdzqtezkgofidotdn",
+ "created": 7,
+ "model": "ct",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 29,
- "prompt_tokens": 8,
- "total_tokens": 2
+ "completion_tokens": 8,
+ "prompt_tokens": 25,
+ "total_tokens": 25
},
"choices": [
{
- "index": 4,
+ "index": 7,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "durmwp",
+ "content": "kmsqvkwll",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "qubdbjztonbgsvxjyjie"
+ "id": "ahmjyckhthizppmb"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 26a2ebcdd8fd..c5613db258e9 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "tqfaprssitqequawdfniy",
- "object": "jomwqfcoe",
- "created": 27,
- "model": "iv",
+ "id": "zxvaywagaxbgovdcidylzyagy",
+ "object": "gswuglohgrqdzqtezkgofidotdn",
+ "created": 7,
+ "model": "ct",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 29,
- "prompt_tokens": 8,
- "total_tokens": 2
+ "completion_tokens": 8,
+ "prompt_tokens": 25,
+ "total_tokens": 25
},
"choices": [
{
- "index": 4,
+ "index": 7,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "durmwp"
+ "content": "kmsqvkwll"
}
}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index 5b89ef8c84c6..34756ab337ee 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -3,13 +3,13 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "twhpzepkvqokqlqsjnvusucwd",
+ "azureml-model-deployment": "yrjgqrtitmgcpfwvinzdzrqsd",
"body": {
"extras": {
- "key5076": "uitznbkdrbtkrusg"
+ "key5695": "wxrhwosmgecvefo"
},
"input": [
- "xovbrzfh"
+ "vdldkfelrg"
],
"input_type": "text"
}
@@ -17,24 +17,24 @@
"responses": {
"200": {
"body": {
- "id": "ttwxucrdzaxzhihfvychvwa",
+ "id": "xgjpijtcydnuqix",
"data": [
{
"embedding": [
- 22
+ 6
],
- "index": 16,
- "object": "rkizkkmhy"
+ "index": 20,
+ "object": "jccngbtzssnximgybewzqjpe"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 8,
- "prompt_tokens": 9,
- "total_tokens": 6
+ "input_tokens": 11,
+ "prompt_tokens": 13,
+ "total_tokens": 4
},
- "object": "atintmxdvjceloboib",
- "model": "gthzj"
+ "object": "joiplxffmfzhxkpwxzteqho",
+ "model": "mlstapssr"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index 3cc747a60cbd..7421b61236e3 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "rndmhsxvp"
+ "xclsloueu"
]
}
},
"responses": {
"200": {
"body": {
- "id": "ttwxucrdzaxzhihfvychvwa",
+ "id": "xgjpijtcydnuqix",
"data": [
{
"embedding": [
- 22
+ 6
],
- "index": 16,
- "object": "rkizkkmhy"
+ "index": 20,
+ "object": "jccngbtzssnximgybewzqjpe"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 8,
- "prompt_tokens": 9,
- "total_tokens": 6
+ "input_tokens": 11,
+ "prompt_tokens": 13,
+ "total_tokens": 4
},
- "object": "atintmxdvjceloboib",
- "model": "gthzj"
+ "object": "joiplxffmfzhxkpwxzteqho",
+ "model": "mlstapssr"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
index 8d92153768fb..3abe3d47d4e8 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
@@ -3,28 +3,28 @@
"operationId": "GetImageGenerations",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "ekhhlbr",
+ "azureml-model-deployment": "sncngpxinfjmynfuzh",
"body": {
"extras": {
- "key3687": "ptvrrzntdngxuch"
+ "key4581": "gkzvup"
},
- "prompt": "fgdfetfkhdayfarouklcbmpwxztjn",
- "size": "kugstw",
+ "prompt": "pxkthxkra",
+ "size": "xabphlagaoxdfaaj",
"quality": "standard",
"response_format": "url",
- "seed": 28
+ "seed": 25
}
},
"responses": {
"200": {
"body": {
- "id": "bvwuzp",
- "created": 29,
- "model": "ayk",
+ "id": "tjgzxczrixiiugyccsaby",
+ "created": 24,
+ "model": "byrkqow",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "ivvbzyylygvvciwzg"
+ "b64_json": "v"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
index 800053e0a123..4e4adeb56f12 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "luntgmmwbotsxfrfhhnj",
- "size": "wcsbmiwodzmdrunxj"
+ "prompt": "udhueailreqfsltbskypgogaivzev",
+ "size": "i"
}
},
"responses": {
"200": {
"body": {
- "id": "bvwuzp",
- "created": 29,
- "model": "ayk",
+ "id": "tjgzxczrixiiugyccsaby",
+ "created": 24,
+ "model": "byrkqow",
"data": [
{}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MaximumSet_Gen.json
index 47edda41547b..3fdd03f02dbb 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MaximumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "rlwgwqzp",
- "model_name": "wwp"
+ "model_provider": "glfrarmshuxkgslpbieunqyh",
+ "model_name": "wlcddyfcmgjaz"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MinimumSet_Gen.json
index a932f27d3296..030246d44184 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MinimumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "rlwgwqzp",
- "model_name": "wwp"
+ "model_provider": "glfrarmshuxkgslpbieunqyh",
+ "model_name": "wlcddyfcmgjaz"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index b5818ffba200..0b235dd802cd 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -3,18 +3,18 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "xdcuvm",
+ "azureml-model-deployment": "arjeawalykuwefcg",
"body": {
"extras": {
- "key8044": "jwvwp"
+ "key5815": "cvhukjkybbunvzj"
},
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -2,
- "presence_penalty": 1,
+ "frequency_penalty": -1,
+ "presence_penalty": -1,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
@@ -22,40 +22,40 @@
"type": "ChatCompletionsResponseFormat"
},
"stop": [
- "mfchofxicdwayopm"
+ "dxrbzgcs"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 1
+ "seed": 20
}
},
"responses": {
"200": {
"body": {
- "id": "tqfaprssitqequawdfniy",
- "object": "jomwqfcoe",
- "created": 27,
- "model": "iv",
+ "id": "zxvaywagaxbgovdcidylzyagy",
+ "object": "gswuglohgrqdzqtezkgofidotdn",
+ "created": 7,
+ "model": "ct",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 29,
- "prompt_tokens": 8,
- "total_tokens": 2
+ "completion_tokens": 8,
+ "prompt_tokens": 25,
+ "total_tokens": 25
},
"choices": [
{
- "index": 4,
+ "index": 7,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "durmwp",
+ "content": "kmsqvkwll",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "qubdbjztonbgsvxjyjie"
+ "id": "ahmjyckhthizppmb"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 26a2ebcdd8fd..c5613db258e9 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "tqfaprssitqequawdfniy",
- "object": "jomwqfcoe",
- "created": 27,
- "model": "iv",
+ "id": "zxvaywagaxbgovdcidylzyagy",
+ "object": "gswuglohgrqdzqtezkgofidotdn",
+ "created": 7,
+ "model": "ct",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 29,
- "prompt_tokens": 8,
- "total_tokens": 2
+ "completion_tokens": 8,
+ "prompt_tokens": 25,
+ "total_tokens": 25
},
"choices": [
{
- "index": 4,
+ "index": 7,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "durmwp"
+ "content": "kmsqvkwll"
}
}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index 5b89ef8c84c6..34756ab337ee 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -3,13 +3,13 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "twhpzepkvqokqlqsjnvusucwd",
+ "azureml-model-deployment": "yrjgqrtitmgcpfwvinzdzrqsd",
"body": {
"extras": {
- "key5076": "uitznbkdrbtkrusg"
+ "key5695": "wxrhwosmgecvefo"
},
"input": [
- "xovbrzfh"
+ "vdldkfelrg"
],
"input_type": "text"
}
@@ -17,24 +17,24 @@
"responses": {
"200": {
"body": {
- "id": "ttwxucrdzaxzhihfvychvwa",
+ "id": "xgjpijtcydnuqix",
"data": [
{
"embedding": [
- 22
+ 6
],
- "index": 16,
- "object": "rkizkkmhy"
+ "index": 20,
+ "object": "jccngbtzssnximgybewzqjpe"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 8,
- "prompt_tokens": 9,
- "total_tokens": 6
+ "input_tokens": 11,
+ "prompt_tokens": 13,
+ "total_tokens": 4
},
- "object": "atintmxdvjceloboib",
- "model": "gthzj"
+ "object": "joiplxffmfzhxkpwxzteqho",
+ "model": "mlstapssr"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index 3cc747a60cbd..7421b61236e3 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "rndmhsxvp"
+ "xclsloueu"
]
}
},
"responses": {
"200": {
"body": {
- "id": "ttwxucrdzaxzhihfvychvwa",
+ "id": "xgjpijtcydnuqix",
"data": [
{
"embedding": [
- 22
+ 6
],
- "index": 16,
- "object": "rkizkkmhy"
+ "index": 20,
+ "object": "jccngbtzssnximgybewzqjpe"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 8,
- "prompt_tokens": 9,
- "total_tokens": 6
+ "input_tokens": 11,
+ "prompt_tokens": 13,
+ "total_tokens": 4
},
- "object": "atintmxdvjceloboib",
- "model": "gthzj"
+ "object": "joiplxffmfzhxkpwxzteqho",
+ "model": "mlstapssr"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
index 8d92153768fb..3abe3d47d4e8 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
@@ -3,28 +3,28 @@
"operationId": "GetImageGenerations",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "ekhhlbr",
+ "azureml-model-deployment": "sncngpxinfjmynfuzh",
"body": {
"extras": {
- "key3687": "ptvrrzntdngxuch"
+ "key4581": "gkzvup"
},
- "prompt": "fgdfetfkhdayfarouklcbmpwxztjn",
- "size": "kugstw",
+ "prompt": "pxkthxkra",
+ "size": "xabphlagaoxdfaaj",
"quality": "standard",
"response_format": "url",
- "seed": 28
+ "seed": 25
}
},
"responses": {
"200": {
"body": {
- "id": "bvwuzp",
- "created": 29,
- "model": "ayk",
+ "id": "tjgzxczrixiiugyccsaby",
+ "created": 24,
+ "model": "byrkqow",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "ivvbzyylygvvciwzg"
+ "b64_json": "v"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
index 800053e0a123..4e4adeb56f12 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "luntgmmwbotsxfrfhhnj",
- "size": "wcsbmiwodzmdrunxj"
+ "prompt": "udhueailreqfsltbskypgogaivzev",
+ "size": "i"
}
},
"responses": {
"200": {
"body": {
- "id": "bvwuzp",
- "created": 29,
- "model": "ayk",
+ "id": "tjgzxczrixiiugyccsaby",
+ "created": 24,
+ "model": "byrkqow",
"data": [
{}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MaximumSet_Gen.json
index 47edda41547b..3fdd03f02dbb 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MaximumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "rlwgwqzp",
- "model_name": "wwp"
+ "model_provider": "glfrarmshuxkgslpbieunqyh",
+ "model_name": "wlcddyfcmgjaz"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MinimumSet_Gen.json
index a932f27d3296..030246d44184 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MinimumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "rlwgwqzp",
- "model_name": "wwp"
+ "model_provider": "glfrarmshuxkgslpbieunqyh",
+ "model_name": "wlcddyfcmgjaz"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index 8ad767c4148a..c30a53192269 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -12,52 +12,6 @@
"schemes": [
"https"
],
- "x-ms-parameterized-host": {
- "hostTemplate": "{endpoint}",
- "useSchemePrefix": false,
- "parameters": [
- {
- "name": "endpoint",
- "in": "path",
- "description": "The AI model service endpoint.",
- "required": true,
- "type": "string"
- },
- {
- "name": "extra_parameters",
- "in": "path",
- "description": "Controls what happens if extra parameters are passed in the request payload.",
- "required": false,
- "type": "string",
- "enum": [
- "error",
- "ignore",
- "allow"
- ],
- "x-ms-enum": {
- "name": "ExtraParameters",
- "modelAsString": true,
- "values": [
- {
- "name": "error",
- "value": "error",
- "description": "The service should error when it sees extra parameters in the request payload. This is the default behavior if the service."
- },
- {
- "name": "ignore",
- "value": "ignore",
- "description": "The service should ignore extra parameters in the request payload. They will not be passed to the back-end AI model."
- },
- {
- "name": "allow",
- "value": "allow",
- "description": "The service should pass extra parameters to the back-end AI model."
- }
- ]
- }
- }
- ]
- },
"produces": [
"application/json"
],
From 72ddb1ab4a60c67859dc60d4675fd14ff5106d7d Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Thu, 11 Apr 2024 23:09:45 -0700
Subject: [PATCH 054/343] First set of changes following SDK review
---
specification/ai/ModelClient/client.tsp | 10 +-
...son => GenerateImages_MaximumSet_Gen.json} | 20 +-
...son => GenerateImages_MinimumSet_Gen.json} | 12 +-
.../GetChatCompletions_MaximumSet_Gen.json | 36 +-
.../GetChatCompletions_MinimumSet_Gen.json | 18 +-
.../GetEmbeddings_MaximumSet_Gen.json | 24 +-
.../GetEmbeddings_MinimumSet_Gen.json | 20 +-
.../GetModelInfo_MaximumSet_Gen.json} | 6 +-
.../GetModelInfo_MinimumSet_Gen.json} | 6 +-
.../ModelClient/models/chat_completions.tsp | 46 ++-
specification/ai/ModelClient/routes.tsp | 4 +-
...son => GenerateImages_MaximumSet_Gen.json} | 20 +-
...son => GenerateImages_MinimumSet_Gen.json} | 12 +-
.../GetChatCompletions_MaximumSet_Gen.json | 36 +-
.../GetChatCompletions_MinimumSet_Gen.json | 18 +-
.../GetEmbeddings_MaximumSet_Gen.json | 24 +-
.../GetEmbeddings_MinimumSet_Gen.json | 20 +-
.../GetModelInfo_MaximumSet_Gen.json} | 6 +-
.../GetModelInfo_MinimumSet_Gen.json} | 6 +-
.../preview/2024-04-01-preview/openapi.json | 308 +++++++++---------
20 files changed, 315 insertions(+), 337 deletions(-)
rename specification/ai/ModelClient/examples/2024-04-01-preview/{GetImageGenerations_MaximumSet_Gen.json => GenerateImages_MaximumSet_Gen.json} (52%)
rename specification/ai/ModelClient/examples/2024-04-01-preview/{GetImageGenerations_MinimumSet_Gen.json => GenerateImages_MinimumSet_Gen.json} (53%)
rename specification/ai/{data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MaximumSet_Gen.json => ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json} (59%)
rename specification/ai/{data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MinimumSet_Gen.json => ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json} (59%)
rename specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/{GetImageGenerations_MaximumSet_Gen.json => GenerateImages_MaximumSet_Gen.json} (52%)
rename specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/{GetImageGenerations_MinimumSet_Gen.json => GenerateImages_MinimumSet_Gen.json} (53%)
rename specification/ai/{ModelClient/examples/2024-04-01-preview/GetModelInformation_MaximumSet_Gen.json => data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json} (59%)
rename specification/ai/{ModelClient/examples/2024-04-01-preview/GetModelInformation_MinimumSet_Gen.json => data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json} (59%)
diff --git a/specification/ai/ModelClient/client.tsp b/specification/ai/ModelClient/client.tsp
index 38b7387b3098..56cd2cfed8c8 100644
--- a/specification/ai/ModelClient/client.tsp
+++ b/specification/ai/ModelClient/client.tsp
@@ -4,9 +4,9 @@ import "./main.tsp";
using Azure.ClientGenerator.Core;
-// The "Delta" models are used by the hand-written operation method that supports streaming.
+// The "Update" models are used by the hand-written operation method that supports streaming.
// We need to declare their usage and public access, otherwise they won't be emited in the generated code.
-@@access(ModelClient.ChatCompletionsDelta, Access.public);
-@@usage(ModelClient.ChatCompletionsDelta, Usage.output);
-@@access(ModelClient.ChatChoiceDelta, Access.public);
-@@usage(ModelClient.ChatChoiceDelta, Usage.output);
+@@access(ModelClient.ChatCompletionsUpdate, Access.public);
+@@usage(ModelClient.ChatCompletionsUpdate, Usage.output);
+@@access(ModelClient.ChatChoiceUpdate, Access.public);
+@@usage(ModelClient.ChatChoiceUpdate, Usage.output);
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
similarity index 52%
rename from specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
rename to specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
index 3abe3d47d4e8..3834ef979194 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
@@ -1,30 +1,30 @@
{
"title": "maximum set image generation",
- "operationId": "GetImageGenerations",
+ "operationId": "GenerateImages",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "sncngpxinfjmynfuzh",
+ "azureml-model-deployment": "njtnglmdxkmvackygi",
"body": {
"extras": {
- "key4581": "gkzvup"
+ "key8167": "ynvtwkqhvplksdvgpvdlzrifbhkyxh"
},
- "prompt": "pxkthxkra",
- "size": "xabphlagaoxdfaaj",
+ "prompt": "cz",
+ "size": "hsdiiicbq",
"quality": "standard",
"response_format": "url",
- "seed": 25
+ "seed": 15
}
},
"responses": {
"200": {
"body": {
- "id": "tjgzxczrixiiugyccsaby",
- "created": 24,
- "model": "byrkqow",
+ "id": "uxttljr",
+ "created": 13,
+ "model": "begitgujngratbxhkravzlpttvmz",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "v"
+ "b64_json": "rdipydnucijiqd"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
similarity index 53%
rename from specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
rename to specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
index 4e4adeb56f12..10eb5caf4256 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetImageGenerations_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
@@ -1,19 +1,19 @@
{
"title": "minimum set image generation",
- "operationId": "GetImageGenerations",
+ "operationId": "GenerateImages",
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "udhueailreqfsltbskypgogaivzev",
- "size": "i"
+ "prompt": "imvemauweqfnyj",
+ "size": "zdwugwbtynqbmlvyncmij"
}
},
"responses": {
"200": {
"body": {
- "id": "tjgzxczrixiiugyccsaby",
- "created": 24,
- "model": "byrkqow",
+ "id": "uxttljr",
+ "created": 13,
+ "model": "begitgujngratbxhkravzlpttvmz",
"data": [
{}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index 0b235dd802cd..6e31dbe78237 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -3,59 +3,57 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "arjeawalykuwefcg",
+ "azureml-model-deployment": "udwzxzqvnsporlajx",
"body": {
"extras": {
- "key5815": "cvhukjkybbunvzj"
+ "key9114": "pbx"
},
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -1,
- "presence_penalty": -1,
+ "frequency_penalty": 0,
+ "presence_penalty": 0,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
- "response_format": {
- "type": "ChatCompletionsResponseFormat"
- },
+ "response_format": "text",
"stop": [
- "dxrbzgcs"
+ "yrejk"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 20
+ "seed": 3
}
},
"responses": {
"200": {
"body": {
- "id": "zxvaywagaxbgovdcidylzyagy",
- "object": "gswuglohgrqdzqtezkgofidotdn",
- "created": 7,
- "model": "ct",
+ "id": "qolgsfuprlsagpnquxez",
+ "object": "nudszoomjya",
+ "created": 23,
+ "model": "q",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 8,
- "prompt_tokens": 25,
- "total_tokens": 25
+ "completion_tokens": 3,
+ "prompt_tokens": 30,
+ "total_tokens": 23
},
"choices": [
{
- "index": 7,
+ "index": 22,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "kmsqvkwll",
+ "content": "mechuq",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "ahmjyckhthizppmb"
+ "id": "wzpgjqtjdpkwovo"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index c5613db258e9..7a35758e80a9 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "zxvaywagaxbgovdcidylzyagy",
- "object": "gswuglohgrqdzqtezkgofidotdn",
- "created": 7,
- "model": "ct",
+ "id": "qolgsfuprlsagpnquxez",
+ "object": "nudszoomjya",
+ "created": 23,
+ "model": "q",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 8,
- "prompt_tokens": 25,
- "total_tokens": 25
+ "completion_tokens": 3,
+ "prompt_tokens": 30,
+ "total_tokens": 23
},
"choices": [
{
- "index": 7,
+ "index": 22,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "kmsqvkwll"
+ "content": "mechuq"
}
}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index 34756ab337ee..9773759ffdc5 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -3,13 +3,13 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "yrjgqrtitmgcpfwvinzdzrqsd",
+ "azureml-model-deployment": "awzdgxncarxhkvivafpmhde",
"body": {
"extras": {
- "key5695": "wxrhwosmgecvefo"
+ "key8446": "ejosmkleisupnx"
},
"input": [
- "vdldkfelrg"
+ "cjnwlxpkteeawbxwqeptix"
],
"input_type": "text"
}
@@ -17,24 +17,24 @@
"responses": {
"200": {
"body": {
- "id": "xgjpijtcydnuqix",
+ "id": "bzwrh",
"data": [
{
"embedding": [
- 6
+ 16
],
- "index": 20,
- "object": "jccngbtzssnximgybewzqjpe"
+ "index": 6,
+ "object": "waxubsltefsfymbkowprrv"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 11,
- "prompt_tokens": 13,
- "total_tokens": 4
+ "input_tokens": 6,
+ "prompt_tokens": 3,
+ "total_tokens": 5
},
- "object": "joiplxffmfzhxkpwxzteqho",
- "model": "mlstapssr"
+ "object": "bkyqqqugdugngw",
+ "model": "mcnikaorrsysltpjjv"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index 7421b61236e3..051f44b91957 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "xclsloueu"
+ "lzdjeyxfb"
]
}
},
"responses": {
"200": {
"body": {
- "id": "xgjpijtcydnuqix",
+ "id": "bzwrh",
"data": [
{
"embedding": [
- 6
+ 16
],
- "index": 20,
- "object": "jccngbtzssnximgybewzqjpe"
+ "index": 6,
+ "object": "waxubsltefsfymbkowprrv"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 11,
- "prompt_tokens": 13,
- "total_tokens": 4
+ "input_tokens": 6,
+ "prompt_tokens": 3,
+ "total_tokens": 5
},
- "object": "joiplxffmfzhxkpwxzteqho",
- "model": "mlstapssr"
+ "object": "bkyqqqugdugngw",
+ "model": "mcnikaorrsysltpjjv"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
similarity index 59%
rename from specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MaximumSet_Gen.json
rename to specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
index 3fdd03f02dbb..679623884c9f 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
@@ -1,6 +1,6 @@
{
"title": "maximum set model information",
- "operationId": "GetModelInformation",
+ "operationId": "GetModelInfo",
"parameters": {
"api-version": "2024-04-01-preview"
},
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "glfrarmshuxkgslpbieunqyh",
- "model_name": "wlcddyfcmgjaz"
+ "model_provider": "apwodtbnvecfbblkhjjfhkoi",
+ "model_name": "kegyzpmuwuzgxzicwslhnjrfymunz"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
similarity index 59%
rename from specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MinimumSet_Gen.json
rename to specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
index 030246d44184..1e701478bb8c 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInformation_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
@@ -1,6 +1,6 @@
{
"title": "minimum set model information",
- "operationId": "GetModelInformation",
+ "operationId": "GetModelInfo",
"parameters": {
"api-version": "2024-04-01-preview"
},
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "glfrarmshuxkgslpbieunqyh",
- "model_name": "wlcddyfcmgjaz"
+ "model_provider": "apwodtbnvecfbblkhjjfhkoi",
+ "model_name": "kegyzpmuwuzgxzicwslhnjrfymunz"
}
}
}
diff --git a/specification/ai/ModelClient/models/chat_completions.tsp b/specification/ai/ModelClient/models/chat_completions.tsp
index 8eda1d2770a9..85b1ea677e05 100644
--- a/specification/ai/ModelClient/models/chat_completions.tsp
+++ b/specification/ai/ModelClient/models/chat_completions.tsp
@@ -137,7 +137,7 @@ using Server Sent Events (SSE).
Completions support a wide variety of tasks and generate text that continues from or "completes"
provided prompt data.
""")
-model ChatCompletionsDelta {
+model ChatCompletionsUpdate {
...ChatCompletionsCommon;
@doc("""
@@ -146,7 +146,7 @@ model ChatCompletionsDelta {
Token limits and other settings may limit the number of choices generated.
""")
@minItems(1)
- choices: ChatChoiceDelta[];
+ choices: ChatChoiceUpdate[];
}
@doc("""
@@ -204,30 +204,22 @@ union ChatRole {
}
@doc("""
-An abstract representation of a response format configuration usable by Chat Completions. Can be used to enable JSON
+An representation of a response format configuration usable by Chat Completions. Can be used to enable JSON
mode.
""")
-@discriminator("type")
-model ChatCompletionsResponseFormat {
- @doc("The discriminated type for the response format.")
- type: string;
-}
+union ChatCompletionsResponseFormat {
+ string,
-@doc("""
-The standard Chat Completions response format that can freely generate text and is not guaranteed to produce response
-content that adheres to a specific schema.
-""")
-model ChatCompletionsTextResponseFormat extends ChatCompletionsResponseFormat {
- @doc("The discriminated object type, which is always 'text' for this format.")
- type: "text";
-}
+ @doc("""
+ The standard Chat Completions response format that can freely generate text and is not guaranteed to produce response
+ content that adheres to a specific schema.
+ """)
+ text: "text",
-@doc("""
-A response format for Chat Completions that restricts responses to emitting valid JSON objects.
-""")
-model ChatCompletionsJsonResponseFormat extends ChatCompletionsResponseFormat {
- @doc("The discriminated object type, which is always 'json_object' for this format.")
- type: "json_object";
+ @doc("""
+ A response format for Chat Completions that restricts responses to emitting valid JSON objects.
+ """)
+ json_object: "json_object",
}
alias ChatChoiceCommon = {
@@ -258,7 +250,7 @@ using Server Sent Events (SSE).
Generally, `n` choices are generated per provided prompt with a default value of 1.
Token limits and other settings may limit the number of choices generated.
""")
-model ChatChoiceDelta {
+model ChatChoiceUpdate {
...ChatChoiceCommon;
@doc("An update to the chat message for a given chat completions prompt.")
@@ -276,7 +268,7 @@ model ChatRequestMessage {
A request chat message containing system instructions that influence how the model will generate a chat completions
response.
""")
-model ChatRequestSystemMessage extends ChatRequestMessage {
+model SystemMessage extends ChatRequestMessage {
@doc("The chat role associated with this message, which is always 'system' for system messages.")
role: ChatRole.system;
@@ -285,7 +277,7 @@ model ChatRequestSystemMessage extends ChatRequestMessage {
}
@doc("A request chat message representing user input to the assistant.")
-model ChatRequestUserMessage extends ChatRequestMessage {
+model UserMessage extends ChatRequestMessage {
@doc("The chat role associated with this message, which is always 'user' for user messages.")
role: ChatRole.user;
@@ -294,7 +286,7 @@ model ChatRequestUserMessage extends ChatRequestMessage {
}
@doc("A request chat message representing response or action from the assistant.")
-model ChatRequestAssistantMessage extends ChatRequestMessage {
+model AssistantMessage extends ChatRequestMessage {
@doc("The chat role associated with this message, which is always 'assistant' for assistant messages.")
role: ChatRole.assistant;
@@ -304,7 +296,7 @@ model ChatRequestAssistantMessage extends ChatRequestMessage {
}
@doc("A request chat message representing requested output from a configured tool.")
-model ChatRequestToolMessage extends ChatRequestMessage {
+model ToolMessage extends ChatRequestMessage {
@doc("The chat role associated with this message, which is always 'tool' for tool messages.")
role: ChatRole.tool;
diff --git a/specification/ai/ModelClient/routes.tsp b/specification/ai/ModelClient/routes.tsp
index 46ee0c63c287..687e311c06a1 100644
--- a/specification/ai/ModelClient/routes.tsp
+++ b/specification/ai/ModelClient/routes.tsp
@@ -45,7 +45,7 @@ op getEmbeddings is Azure.Core.RpcOperation<
@doc("Creates images given a prompt.")
@actionSeparator("/")
@route("images/generations")
-op getImageGenerations is Azure.Core.RpcOperation<
+op generateImages is Azure.Core.RpcOperation<
{
...ImageGenerationOptions;
...AdditionalRequestHeaders;
@@ -57,4 +57,4 @@ op getImageGenerations is Azure.Core.RpcOperation<
@actionSeparator("/")
@route("info")
@get
-op getModelInformation is Azure.Core.RpcOperation<{}, ModelInformation>;
+op getModelInfo is Azure.Core.RpcOperation<{}, ModelInformation>;
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json
similarity index 52%
rename from specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
rename to specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json
index 3abe3d47d4e8..3834ef979194 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json
@@ -1,30 +1,30 @@
{
"title": "maximum set image generation",
- "operationId": "GetImageGenerations",
+ "operationId": "GenerateImages",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "sncngpxinfjmynfuzh",
+ "azureml-model-deployment": "njtnglmdxkmvackygi",
"body": {
"extras": {
- "key4581": "gkzvup"
+ "key8167": "ynvtwkqhvplksdvgpvdlzrifbhkyxh"
},
- "prompt": "pxkthxkra",
- "size": "xabphlagaoxdfaaj",
+ "prompt": "cz",
+ "size": "hsdiiicbq",
"quality": "standard",
"response_format": "url",
- "seed": 25
+ "seed": 15
}
},
"responses": {
"200": {
"body": {
- "id": "tjgzxczrixiiugyccsaby",
- "created": 24,
- "model": "byrkqow",
+ "id": "uxttljr",
+ "created": 13,
+ "model": "begitgujngratbxhkravzlpttvmz",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "v"
+ "b64_json": "rdipydnucijiqd"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json
similarity index 53%
rename from specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
rename to specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json
index 4e4adeb56f12..10eb5caf4256 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetImageGenerations_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json
@@ -1,19 +1,19 @@
{
"title": "minimum set image generation",
- "operationId": "GetImageGenerations",
+ "operationId": "GenerateImages",
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "udhueailreqfsltbskypgogaivzev",
- "size": "i"
+ "prompt": "imvemauweqfnyj",
+ "size": "zdwugwbtynqbmlvyncmij"
}
},
"responses": {
"200": {
"body": {
- "id": "tjgzxczrixiiugyccsaby",
- "created": 24,
- "model": "byrkqow",
+ "id": "uxttljr",
+ "created": 13,
+ "model": "begitgujngratbxhkravzlpttvmz",
"data": [
{}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index 0b235dd802cd..6e31dbe78237 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -3,59 +3,57 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "arjeawalykuwefcg",
+ "azureml-model-deployment": "udwzxzqvnsporlajx",
"body": {
"extras": {
- "key5815": "cvhukjkybbunvzj"
+ "key9114": "pbx"
},
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -1,
- "presence_penalty": -1,
+ "frequency_penalty": 0,
+ "presence_penalty": 0,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
- "response_format": {
- "type": "ChatCompletionsResponseFormat"
- },
+ "response_format": "text",
"stop": [
- "dxrbzgcs"
+ "yrejk"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 20
+ "seed": 3
}
},
"responses": {
"200": {
"body": {
- "id": "zxvaywagaxbgovdcidylzyagy",
- "object": "gswuglohgrqdzqtezkgofidotdn",
- "created": 7,
- "model": "ct",
+ "id": "qolgsfuprlsagpnquxez",
+ "object": "nudszoomjya",
+ "created": 23,
+ "model": "q",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 8,
- "prompt_tokens": 25,
- "total_tokens": 25
+ "completion_tokens": 3,
+ "prompt_tokens": 30,
+ "total_tokens": 23
},
"choices": [
{
- "index": 7,
+ "index": 22,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "kmsqvkwll",
+ "content": "mechuq",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "ahmjyckhthizppmb"
+ "id": "wzpgjqtjdpkwovo"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index c5613db258e9..7a35758e80a9 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "zxvaywagaxbgovdcidylzyagy",
- "object": "gswuglohgrqdzqtezkgofidotdn",
- "created": 7,
- "model": "ct",
+ "id": "qolgsfuprlsagpnquxez",
+ "object": "nudszoomjya",
+ "created": 23,
+ "model": "q",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 8,
- "prompt_tokens": 25,
- "total_tokens": 25
+ "completion_tokens": 3,
+ "prompt_tokens": 30,
+ "total_tokens": 23
},
"choices": [
{
- "index": 7,
+ "index": 22,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "kmsqvkwll"
+ "content": "mechuq"
}
}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index 34756ab337ee..9773759ffdc5 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -3,13 +3,13 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "yrjgqrtitmgcpfwvinzdzrqsd",
+ "azureml-model-deployment": "awzdgxncarxhkvivafpmhde",
"body": {
"extras": {
- "key5695": "wxrhwosmgecvefo"
+ "key8446": "ejosmkleisupnx"
},
"input": [
- "vdldkfelrg"
+ "cjnwlxpkteeawbxwqeptix"
],
"input_type": "text"
}
@@ -17,24 +17,24 @@
"responses": {
"200": {
"body": {
- "id": "xgjpijtcydnuqix",
+ "id": "bzwrh",
"data": [
{
"embedding": [
- 6
+ 16
],
- "index": 20,
- "object": "jccngbtzssnximgybewzqjpe"
+ "index": 6,
+ "object": "waxubsltefsfymbkowprrv"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 11,
- "prompt_tokens": 13,
- "total_tokens": 4
+ "input_tokens": 6,
+ "prompt_tokens": 3,
+ "total_tokens": 5
},
- "object": "joiplxffmfzhxkpwxzteqho",
- "model": "mlstapssr"
+ "object": "bkyqqqugdugngw",
+ "model": "mcnikaorrsysltpjjv"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index 7421b61236e3..051f44b91957 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "xclsloueu"
+ "lzdjeyxfb"
]
}
},
"responses": {
"200": {
"body": {
- "id": "xgjpijtcydnuqix",
+ "id": "bzwrh",
"data": [
{
"embedding": [
- 6
+ 16
],
- "index": 20,
- "object": "jccngbtzssnximgybewzqjpe"
+ "index": 6,
+ "object": "waxubsltefsfymbkowprrv"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 11,
- "prompt_tokens": 13,
- "total_tokens": 4
+ "input_tokens": 6,
+ "prompt_tokens": 3,
+ "total_tokens": 5
},
- "object": "joiplxffmfzhxkpwxzteqho",
- "model": "mlstapssr"
+ "object": "bkyqqqugdugngw",
+ "model": "mcnikaorrsysltpjjv"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
similarity index 59%
rename from specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MaximumSet_Gen.json
rename to specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
index 3fdd03f02dbb..679623884c9f 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
@@ -1,6 +1,6 @@
{
"title": "maximum set model information",
- "operationId": "GetModelInformation",
+ "operationId": "GetModelInfo",
"parameters": {
"api-version": "2024-04-01-preview"
},
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "glfrarmshuxkgslpbieunqyh",
- "model_name": "wlcddyfcmgjaz"
+ "model_provider": "apwodtbnvecfbblkhjjfhkoi",
+ "model_name": "kegyzpmuwuzgxzicwslhnjrfymunz"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
similarity index 59%
rename from specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MinimumSet_Gen.json
rename to specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
index 030246d44184..1e701478bb8c 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInformation_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
@@ -1,6 +1,6 @@
{
"title": "minimum set model information",
- "operationId": "GetModelInformation",
+ "operationId": "GetModelInfo",
"parameters": {
"api-version": "2024-04-01-preview"
},
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "glfrarmshuxkgslpbieunqyh",
- "model_name": "wlcddyfcmgjaz"
+ "model_provider": "apwodtbnvecfbblkhjjfhkoi",
+ "model_name": "kegyzpmuwuzgxzicwslhnjrfymunz"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index c30a53192269..8cba62eb0eaf 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -22,7 +22,7 @@
"paths": {
"/images/generations": {
"post": {
- "operationId": "GetImageGenerations",
+ "operationId": "GenerateImages",
"description": "Creates images given a prompt.",
"parameters": [
{
@@ -122,17 +122,17 @@
},
"x-ms-examples": {
"maximum set image generation": {
- "$ref": "./examples/GetImageGenerations_MaximumSet_Gen.json"
+ "$ref": "./examples/GenerateImages_MaximumSet_Gen.json"
},
"minimum set image generation": {
- "$ref": "./examples/GetImageGenerations_MinimumSet_Gen.json"
+ "$ref": "./examples/GenerateImages_MinimumSet_Gen.json"
}
}
}
},
"/info": {
"get": {
- "operationId": "GetModelInformation",
+ "operationId": "GetModelInfo",
"description": "Returns information about the AI model.",
"parameters": [
{
@@ -161,10 +161,10 @@
},
"x-ms-examples": {
"maximum set model information": {
- "$ref": "./examples/GetModelInformation_MaximumSet_Gen.json"
+ "$ref": "./examples/GetModelInfo_MaximumSet_Gen.json"
},
"minimum set model information": {
- "$ref": "./examples/GetModelInformation_MinimumSet_Gen.json"
+ "$ref": "./examples/GetModelInfo_MinimumSet_Gen.json"
}
}
}
@@ -393,6 +393,26 @@
}
},
"definitions": {
+ "AssistantMessage": {
+ "type": "object",
+ "description": "A request chat message representing response or action from the assistant.",
+ "properties": {
+ "content": {
+ "type": "string",
+ "description": "The content of the message.",
+ "x-nullable": true
+ }
+ },
+ "required": [
+ "content"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatRequestMessage"
+ }
+ ],
+ "x-ms-discriminator-value": "assistant"
+ },
"Azure.Core.Foundations.Error": {
"type": "object",
"description": "The error object.",
@@ -503,7 +523,7 @@
"message"
]
},
- "ChatChoiceDelta": {
+ "ChatChoiceUpdate": {
"type": "object",
"description": "Represents an update to a single prompt completion when the service is streaming updates \nusing Server Sent Events (SSE).\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.",
"properties": {
@@ -572,50 +592,6 @@
"choices"
]
},
- "ChatCompletionsDelta": {
- "type": "object",
- "description": "Represents a response update to a chat completions request, when the service is streaming updates \nusing Server Sent Events (SSE).\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.",
- "properties": {
- "id": {
- "type": "string",
- "description": "A unique identifier associated with this chat completions response."
- },
- "object": {
- "type": "string",
- "description": "The response object type, which is always `chat.completion`."
- },
- "created": {
- "type": "integer",
- "format": "unixtime",
- "description": "The first timestamp associated with generation activity for this completions response,\nrepresented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970."
- },
- "model": {
- "type": "string",
- "description": "The model used for the chat completion."
- },
- "usage": {
- "$ref": "#/definitions/CompletionsUsage",
- "description": "Usage information for tokens processed and generated as part of this completions operation."
- },
- "choices": {
- "type": "array",
- "description": "An update to the collection of completion choices associated with this completions response.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.",
- "minItems": 1,
- "items": {
- "$ref": "#/definitions/ChatChoiceDelta"
- },
- "x-ms-identifiers": []
- }
- },
- "required": [
- "id",
- "object",
- "created",
- "model",
- "usage",
- "choices"
- ]
- },
"ChatCompletionsFunctionToolCall": {
"type": "object",
"description": "A tool call to a function tool, issued by the model in evaluation of a configured function tool, that represents\na function invocation needed for a subsequent chat completions request to resolve.",
@@ -654,16 +630,6 @@
],
"x-ms-discriminator-value": "function"
},
- "ChatCompletionsJsonResponseFormat": {
- "type": "object",
- "description": "A response format for Chat Completions that restricts responses to emitting valid JSON objects.",
- "allOf": [
- {
- "$ref": "#/definitions/ChatCompletionsResponseFormat"
- }
- ],
- "x-ms-discriminator-value": "json_object"
- },
"ChatCompletionsNamedToolSelection": {
"type": "object",
"description": "An abstract representation of an explicit, named tool selection to use for a chat completions request.",
@@ -679,28 +645,28 @@
]
},
"ChatCompletionsResponseFormat": {
- "type": "object",
- "description": "An abstract representation of a response format configuration usable by Chat Completions. Can be used to enable JSON\nmode.",
- "properties": {
- "type": {
- "type": "string",
- "description": "The discriminated type for the response format."
- }
- },
- "discriminator": "type",
- "required": [
- "type"
- ]
- },
- "ChatCompletionsTextResponseFormat": {
- "type": "object",
- "description": "The standard Chat Completions response format that can freely generate text and is not guaranteed to produce response\ncontent that adheres to a specific schema.",
- "allOf": [
- {
- "$ref": "#/definitions/ChatCompletionsResponseFormat"
- }
+ "type": "string",
+ "description": "An representation of a response format configuration usable by Chat Completions. Can be used to enable JSON\nmode.",
+ "enum": [
+ "text",
+ "json_object"
],
- "x-ms-discriminator-value": "text"
+ "x-ms-enum": {
+ "name": "ChatCompletionsResponseFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "text",
+ "value": "text",
+ "description": "The standard Chat Completions response format that can freely generate text and is not guaranteed to produce response\ncontent that adheres to a specific schema."
+ },
+ {
+ "name": "json_object",
+ "value": "json_object",
+ "description": "A response format for Chat Completions that restricts responses to emitting valid JSON objects."
+ }
+ ]
+ }
},
"ChatCompletionsToolCall": {
"type": "object",
@@ -759,25 +725,49 @@
]
}
},
- "ChatRequestAssistantMessage": {
+ "ChatCompletionsUpdate": {
"type": "object",
- "description": "A request chat message representing response or action from the assistant.",
+ "description": "Represents a response update to a chat completions request, when the service is streaming updates \nusing Server Sent Events (SSE).\nCompletions support a wide variety of tasks and generate text that continues from or \"completes\"\nprovided prompt data.",
"properties": {
- "content": {
+ "id": {
"type": "string",
- "description": "The content of the message.",
- "x-nullable": true
+ "description": "A unique identifier associated with this chat completions response."
+ },
+ "object": {
+ "type": "string",
+ "description": "The response object type, which is always `chat.completion`."
+ },
+ "created": {
+ "type": "integer",
+ "format": "unixtime",
+ "description": "The first timestamp associated with generation activity for this completions response,\nrepresented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970."
+ },
+ "model": {
+ "type": "string",
+ "description": "The model used for the chat completion."
+ },
+ "usage": {
+ "$ref": "#/definitions/CompletionsUsage",
+ "description": "Usage information for tokens processed and generated as part of this completions operation."
+ },
+ "choices": {
+ "type": "array",
+ "description": "An update to the collection of completion choices associated with this completions response.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.",
+ "minItems": 1,
+ "items": {
+ "$ref": "#/definitions/ChatChoiceUpdate"
+ },
+ "x-ms-identifiers": []
}
},
"required": [
- "content"
- ],
- "allOf": [
- {
- "$ref": "#/definitions/ChatRequestMessage"
- }
- ],
- "x-ms-discriminator-value": "assistant"
+ "id",
+ "object",
+ "created",
+ "model",
+ "usage",
+ "choices"
+ ]
},
"ChatRequestMessage": {
"type": "object",
@@ -793,70 +783,6 @@
"role"
]
},
- "ChatRequestSystemMessage": {
- "type": "object",
- "description": "A request chat message containing system instructions that influence how the model will generate a chat completions\nresponse.",
- "properties": {
- "content": {
- "type": "string",
- "description": "The contents of the system message."
- }
- },
- "required": [
- "content"
- ],
- "allOf": [
- {
- "$ref": "#/definitions/ChatRequestMessage"
- }
- ],
- "x-ms-discriminator-value": "system"
- },
- "ChatRequestToolMessage": {
- "type": "object",
- "description": "A request chat message representing requested output from a configured tool.",
- "properties": {
- "content": {
- "type": "string",
- "description": "The content of the message.",
- "x-nullable": true
- },
- "tool_call_id": {
- "type": "string",
- "description": "The ID of the tool call resolved by the provided content.",
- "x-ms-client-name": "toolCallId"
- }
- },
- "required": [
- "content",
- "tool_call_id"
- ],
- "allOf": [
- {
- "$ref": "#/definitions/ChatRequestMessage"
- }
- ],
- "x-ms-discriminator-value": "tool"
- },
- "ChatRequestUserMessage": {
- "type": "object",
- "description": "A request chat message representing user input to the assistant.",
- "properties": {
- "content": {
- "type": "string",
- "description": "The contents of the user message, with available input types varying by selected model."
- }
- },
- "required": [
- "content"
- ],
- "allOf": [
- {
- "$ref": "#/definitions/ChatRequestMessage"
- }
- ],
- "x-ms-discriminator-value": "user"
- },
"ChatResponseMessage": {
"type": "object",
"description": "A representation of a chat message as received in a response.",
@@ -1336,6 +1262,70 @@
]
}
},
+ "SystemMessage": {
+ "type": "object",
+ "description": "A request chat message containing system instructions that influence how the model will generate a chat completions\nresponse.",
+ "properties": {
+ "content": {
+ "type": "string",
+ "description": "The contents of the system message."
+ }
+ },
+ "required": [
+ "content"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatRequestMessage"
+ }
+ ],
+ "x-ms-discriminator-value": "system"
+ },
+ "ToolMessage": {
+ "type": "object",
+ "description": "A request chat message representing requested output from a configured tool.",
+ "properties": {
+ "content": {
+ "type": "string",
+ "description": "The content of the message.",
+ "x-nullable": true
+ },
+ "tool_call_id": {
+ "type": "string",
+ "description": "The ID of the tool call resolved by the provided content.",
+ "x-ms-client-name": "toolCallId"
+ }
+ },
+ "required": [
+ "content",
+ "tool_call_id"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatRequestMessage"
+ }
+ ],
+ "x-ms-discriminator-value": "tool"
+ },
+ "UserMessage": {
+ "type": "object",
+ "description": "A request chat message representing user input to the assistant.",
+ "properties": {
+ "content": {
+ "type": "string",
+ "description": "The contents of the user message, with available input types varying by selected model."
+ }
+ },
+ "required": [
+ "content"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatRequestMessage"
+ }
+ ],
+ "x-ms-discriminator-value": "user"
+ },
"Versions": {
"type": "string",
"description": "The ModelClient service versions.",
From 00b1841e43d2bbf5b100128ae8c2faff520ba7e2 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Fri, 12 Apr 2024 00:43:27 -0700
Subject: [PATCH 055/343] Attempt to create seperate clients
---
specification/ai/ModelClient/client.tsp | 36 +++++++++++++++++++
.../GenerateImages_MaximumSet_Gen.json | 18 +++++-----
.../GenerateImages_MinimumSet_Gen.json | 10 +++---
.../GetChatCompletions_MaximumSet_Gen.json | 30 ++++++++--------
.../GetChatCompletions_MinimumSet_Gen.json | 18 +++++-----
.../GetEmbeddings_MaximumSet_Gen.json | 22 ++++++------
.../GetEmbeddings_MinimumSet_Gen.json | 18 +++++-----
.../GetModelInfo_MaximumSet_Gen.json | 4 +--
.../GetModelInfo_MinimumSet_Gen.json | 4 +--
.../GenerateImages_MaximumSet_Gen.json | 18 +++++-----
.../GenerateImages_MinimumSet_Gen.json | 10 +++---
.../GetChatCompletions_MaximumSet_Gen.json | 30 ++++++++--------
.../GetChatCompletions_MinimumSet_Gen.json | 18 +++++-----
.../GetEmbeddings_MaximumSet_Gen.json | 22 ++++++------
.../GetEmbeddings_MinimumSet_Gen.json | 18 +++++-----
.../examples/GetModelInfo_MaximumSet_Gen.json | 4 +--
.../examples/GetModelInfo_MinimumSet_Gen.json | 4 +--
17 files changed, 160 insertions(+), 124 deletions(-)
diff --git a/specification/ai/ModelClient/client.tsp b/specification/ai/ModelClient/client.tsp
index 56cd2cfed8c8..67d7292d9e34 100644
--- a/specification/ai/ModelClient/client.tsp
+++ b/specification/ai/ModelClient/client.tsp
@@ -3,6 +3,10 @@ import "@azure-tools/typespec-client-generator-core";
import "./main.tsp";
using Azure.ClientGenerator.Core;
+using TypeSpec.Versioning;
+
+@useDependency(ModelClient.Versions.v2024_04_01_Preview)
+namespace Customizations; // The actual name here doesn't matter and is here for organization purposes only
// The "Update" models are used by the hand-written operation method that supports streaming.
// We need to declare their usage and public access, otherwise they won't be emited in the generated code.
@@ -10,3 +14,35 @@ using Azure.ClientGenerator.Core;
@@usage(ModelClient.ChatCompletionsUpdate, Usage.output);
@@access(ModelClient.ChatChoiceUpdate, Access.public);
@@usage(ModelClient.ChatChoiceUpdate, Usage.output);
+
+@client({
+ name: "ChatClient",
+ service: ModelClient,
+})
+interface Client1 {
+ getChatCompletions is ModelClient.getChatCompletions;
+}
+
+@client({
+ name: "EmbeddingsClient",
+ service: ModelClient,
+})
+interface Client2 {
+ getEmbeddings is ModelClient.getEmbeddings;
+}
+
+@client({
+ name: "ImageGenerationClient",
+ service: ModelClient,
+})
+interface Client3 {
+ generateImages is ModelClient.generateImages;
+}
+
+@client({
+ name: "ModelInfoClient",
+ service: ModelClient,
+})
+interface Client4 {
+ getModelInfo is ModelClient.getModelInfo;
+}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
index 3834ef979194..3bc306a84cc0 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
@@ -3,28 +3,28 @@
"operationId": "GenerateImages",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "njtnglmdxkmvackygi",
+ "azureml-model-deployment": "elvjzhpk",
"body": {
"extras": {
- "key8167": "ynvtwkqhvplksdvgpvdlzrifbhkyxh"
+ "key9110": "jnbrlxbnwhpfflmuwtxkpqprkpp"
},
- "prompt": "cz",
- "size": "hsdiiicbq",
+ "prompt": "tqtkdd",
+ "size": "ccquloztcoeg",
"quality": "standard",
"response_format": "url",
- "seed": 15
+ "seed": 9
}
},
"responses": {
"200": {
"body": {
- "id": "uxttljr",
- "created": 13,
- "model": "begitgujngratbxhkravzlpttvmz",
+ "id": "ypgvadyo",
+ "created": 4,
+ "model": "v",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "rdipydnucijiqd"
+ "b64_json": "unevzy"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
index 10eb5caf4256..d4eac58f9399 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "imvemauweqfnyj",
- "size": "zdwugwbtynqbmlvyncmij"
+ "prompt": "qofkbjhzv",
+ "size": "ioppyisosgmq"
}
},
"responses": {
"200": {
"body": {
- "id": "uxttljr",
- "created": 13,
- "model": "begitgujngratbxhkravzlpttvmz",
+ "id": "ypgvadyo",
+ "created": 4,
+ "model": "v",
"data": [
{}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index 6e31dbe78237..2881301e7376 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -3,10 +3,10 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "udwzxzqvnsporlajx",
+ "azureml-model-deployment": "lbgientqkzdvtzcktekmhl",
"body": {
"extras": {
- "key9114": "pbx"
+ "key6817": "pfjxtjuafvjwphkecztbogqerdajko"
},
"messages": [
{
@@ -14,46 +14,46 @@
}
],
"frequency_penalty": 0,
- "presence_penalty": 0,
+ "presence_penalty": -2,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
"response_format": "text",
"stop": [
- "yrejk"
+ "awpcxsdpwn"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 3
+ "seed": 17
}
},
"responses": {
"200": {
"body": {
- "id": "qolgsfuprlsagpnquxez",
- "object": "nudszoomjya",
- "created": 23,
- "model": "q",
+ "id": "bdjzk",
+ "object": "ydorz",
+ "created": 17,
+ "model": "arpizakusszhfbsdb",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 3,
- "prompt_tokens": 30,
- "total_tokens": 23
+ "completion_tokens": 6,
+ "prompt_tokens": 29,
+ "total_tokens": 7
},
"choices": [
{
- "index": 22,
+ "index": 18,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "mechuq",
+ "content": "lzgyduetyz",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "wzpgjqtjdpkwovo"
+ "id": "nf"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 7a35758e80a9..6efcb2e01672 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "qolgsfuprlsagpnquxez",
- "object": "nudszoomjya",
- "created": 23,
- "model": "q",
+ "id": "bdjzk",
+ "object": "ydorz",
+ "created": 17,
+ "model": "arpizakusszhfbsdb",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 3,
- "prompt_tokens": 30,
- "total_tokens": 23
+ "completion_tokens": 6,
+ "prompt_tokens": 29,
+ "total_tokens": 7
},
"choices": [
{
- "index": 22,
+ "index": 18,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "mechuq"
+ "content": "lzgyduetyz"
}
}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index 9773759ffdc5..fc6973f1abe7 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -3,13 +3,13 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "awzdgxncarxhkvivafpmhde",
+ "azureml-model-deployment": "ofcfpeocrezfhatkvxgpdbycll",
"body": {
"extras": {
- "key8446": "ejosmkleisupnx"
+ "key4322": "diknxqmagdnain"
},
"input": [
- "cjnwlxpkteeawbxwqeptix"
+ "mfmmdxrywtijvg"
],
"input_type": "text"
}
@@ -17,24 +17,24 @@
"responses": {
"200": {
"body": {
- "id": "bzwrh",
+ "id": "sgmozzeaojqle",
"data": [
{
"embedding": [
16
],
- "index": 6,
- "object": "waxubsltefsfymbkowprrv"
+ "index": 26,
+ "object": "zwtzkagmvtx"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 6,
- "prompt_tokens": 3,
- "total_tokens": 5
+ "input_tokens": 9,
+ "prompt_tokens": 10,
+ "total_tokens": 7
},
- "object": "bkyqqqugdugngw",
- "model": "mcnikaorrsysltpjjv"
+ "object": "ygzyqxyjgnguzvgermxhpihg",
+ "model": "omvfcbhawdjiwnz"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index 051f44b91957..4c071b67ae9a 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "lzdjeyxfb"
+ "zngawpxlb"
]
}
},
"responses": {
"200": {
"body": {
- "id": "bzwrh",
+ "id": "sgmozzeaojqle",
"data": [
{
"embedding": [
16
],
- "index": 6,
- "object": "waxubsltefsfymbkowprrv"
+ "index": 26,
+ "object": "zwtzkagmvtx"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 6,
- "prompt_tokens": 3,
- "total_tokens": 5
+ "input_tokens": 9,
+ "prompt_tokens": 10,
+ "total_tokens": 7
},
- "object": "bkyqqqugdugngw",
- "model": "mcnikaorrsysltpjjv"
+ "object": "ygzyqxyjgnguzvgermxhpihg",
+ "model": "omvfcbhawdjiwnz"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
index 679623884c9f..9c1a4822edb1 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "apwodtbnvecfbblkhjjfhkoi",
- "model_name": "kegyzpmuwuzgxzicwslhnjrfymunz"
+ "model_provider": "zmgrlxirgyemio",
+ "model_name": "oqwrneptvuvyfipjwxhpt"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
index 1e701478bb8c..6be38bdd3bdd 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "apwodtbnvecfbblkhjjfhkoi",
- "model_name": "kegyzpmuwuzgxzicwslhnjrfymunz"
+ "model_provider": "zmgrlxirgyemio",
+ "model_name": "oqwrneptvuvyfipjwxhpt"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json
index 3834ef979194..3bc306a84cc0 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json
@@ -3,28 +3,28 @@
"operationId": "GenerateImages",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "njtnglmdxkmvackygi",
+ "azureml-model-deployment": "elvjzhpk",
"body": {
"extras": {
- "key8167": "ynvtwkqhvplksdvgpvdlzrifbhkyxh"
+ "key9110": "jnbrlxbnwhpfflmuwtxkpqprkpp"
},
- "prompt": "cz",
- "size": "hsdiiicbq",
+ "prompt": "tqtkdd",
+ "size": "ccquloztcoeg",
"quality": "standard",
"response_format": "url",
- "seed": 15
+ "seed": 9
}
},
"responses": {
"200": {
"body": {
- "id": "uxttljr",
- "created": 13,
- "model": "begitgujngratbxhkravzlpttvmz",
+ "id": "ypgvadyo",
+ "created": 4,
+ "model": "v",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "rdipydnucijiqd"
+ "b64_json": "unevzy"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json
index 10eb5caf4256..d4eac58f9399 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "imvemauweqfnyj",
- "size": "zdwugwbtynqbmlvyncmij"
+ "prompt": "qofkbjhzv",
+ "size": "ioppyisosgmq"
}
},
"responses": {
"200": {
"body": {
- "id": "uxttljr",
- "created": 13,
- "model": "begitgujngratbxhkravzlpttvmz",
+ "id": "ypgvadyo",
+ "created": 4,
+ "model": "v",
"data": [
{}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index 6e31dbe78237..2881301e7376 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -3,10 +3,10 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "udwzxzqvnsporlajx",
+ "azureml-model-deployment": "lbgientqkzdvtzcktekmhl",
"body": {
"extras": {
- "key9114": "pbx"
+ "key6817": "pfjxtjuafvjwphkecztbogqerdajko"
},
"messages": [
{
@@ -14,46 +14,46 @@
}
],
"frequency_penalty": 0,
- "presence_penalty": 0,
+ "presence_penalty": -2,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
"response_format": "text",
"stop": [
- "yrejk"
+ "awpcxsdpwn"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 3
+ "seed": 17
}
},
"responses": {
"200": {
"body": {
- "id": "qolgsfuprlsagpnquxez",
- "object": "nudszoomjya",
- "created": 23,
- "model": "q",
+ "id": "bdjzk",
+ "object": "ydorz",
+ "created": 17,
+ "model": "arpizakusszhfbsdb",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 3,
- "prompt_tokens": 30,
- "total_tokens": 23
+ "completion_tokens": 6,
+ "prompt_tokens": 29,
+ "total_tokens": 7
},
"choices": [
{
- "index": 22,
+ "index": 18,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "mechuq",
+ "content": "lzgyduetyz",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "wzpgjqtjdpkwovo"
+ "id": "nf"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 7a35758e80a9..6efcb2e01672 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "qolgsfuprlsagpnquxez",
- "object": "nudszoomjya",
- "created": 23,
- "model": "q",
+ "id": "bdjzk",
+ "object": "ydorz",
+ "created": 17,
+ "model": "arpizakusszhfbsdb",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 3,
- "prompt_tokens": 30,
- "total_tokens": 23
+ "completion_tokens": 6,
+ "prompt_tokens": 29,
+ "total_tokens": 7
},
"choices": [
{
- "index": 22,
+ "index": 18,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "mechuq"
+ "content": "lzgyduetyz"
}
}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index 9773759ffdc5..fc6973f1abe7 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -3,13 +3,13 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "awzdgxncarxhkvivafpmhde",
+ "azureml-model-deployment": "ofcfpeocrezfhatkvxgpdbycll",
"body": {
"extras": {
- "key8446": "ejosmkleisupnx"
+ "key4322": "diknxqmagdnain"
},
"input": [
- "cjnwlxpkteeawbxwqeptix"
+ "mfmmdxrywtijvg"
],
"input_type": "text"
}
@@ -17,24 +17,24 @@
"responses": {
"200": {
"body": {
- "id": "bzwrh",
+ "id": "sgmozzeaojqle",
"data": [
{
"embedding": [
16
],
- "index": 6,
- "object": "waxubsltefsfymbkowprrv"
+ "index": 26,
+ "object": "zwtzkagmvtx"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 6,
- "prompt_tokens": 3,
- "total_tokens": 5
+ "input_tokens": 9,
+ "prompt_tokens": 10,
+ "total_tokens": 7
},
- "object": "bkyqqqugdugngw",
- "model": "mcnikaorrsysltpjjv"
+ "object": "ygzyqxyjgnguzvgermxhpihg",
+ "model": "omvfcbhawdjiwnz"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index 051f44b91957..4c071b67ae9a 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "lzdjeyxfb"
+ "zngawpxlb"
]
}
},
"responses": {
"200": {
"body": {
- "id": "bzwrh",
+ "id": "sgmozzeaojqle",
"data": [
{
"embedding": [
16
],
- "index": 6,
- "object": "waxubsltefsfymbkowprrv"
+ "index": 26,
+ "object": "zwtzkagmvtx"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 6,
- "prompt_tokens": 3,
- "total_tokens": 5
+ "input_tokens": 9,
+ "prompt_tokens": 10,
+ "total_tokens": 7
},
- "object": "bkyqqqugdugngw",
- "model": "mcnikaorrsysltpjjv"
+ "object": "ygzyqxyjgnguzvgermxhpihg",
+ "model": "omvfcbhawdjiwnz"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
index 679623884c9f..9c1a4822edb1 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "apwodtbnvecfbblkhjjfhkoi",
- "model_name": "kegyzpmuwuzgxzicwslhnjrfymunz"
+ "model_provider": "zmgrlxirgyemio",
+ "model_name": "oqwrneptvuvyfipjwxhpt"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
index 1e701478bb8c..6be38bdd3bdd 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "apwodtbnvecfbblkhjjfhkoi",
- "model_name": "kegyzpmuwuzgxzicwslhnjrfymunz"
+ "model_provider": "zmgrlxirgyemio",
+ "model_name": "oqwrneptvuvyfipjwxhpt"
}
}
}
From 81608d0c0d2f6b2053342632cc372d96cbb13005 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Fri, 12 Apr 2024 01:02:08 -0700
Subject: [PATCH 056/343] Attempt to add getModelInfo to each client
---
specification/ai/ModelClient/client.tsp | 9 ++----
.../GenerateImages_MaximumSet_Gen.json | 18 +++++------
.../GenerateImages_MinimumSet_Gen.json | 10 +++---
.../GetChatCompletions_MaximumSet_Gen.json | 32 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 18 +++++------
.../GetEmbeddings_MaximumSet_Gen.json | 22 ++++++-------
.../GetEmbeddings_MinimumSet_Gen.json | 18 +++++------
.../GetModelInfo_MaximumSet_Gen.json | 4 +--
.../GetModelInfo_MinimumSet_Gen.json | 4 +--
.../GenerateImages_MaximumSet_Gen.json | 18 +++++------
.../GenerateImages_MinimumSet_Gen.json | 10 +++---
.../GetChatCompletions_MaximumSet_Gen.json | 32 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 18 +++++------
.../GetEmbeddings_MaximumSet_Gen.json | 22 ++++++-------
.../GetEmbeddings_MinimumSet_Gen.json | 18 +++++------
.../examples/GetModelInfo_MaximumSet_Gen.json | 4 +--
.../examples/GetModelInfo_MinimumSet_Gen.json | 4 +--
17 files changed, 128 insertions(+), 133 deletions(-)
diff --git a/specification/ai/ModelClient/client.tsp b/specification/ai/ModelClient/client.tsp
index 67d7292d9e34..10ab2d15632b 100644
--- a/specification/ai/ModelClient/client.tsp
+++ b/specification/ai/ModelClient/client.tsp
@@ -21,6 +21,7 @@ namespace Customizations; // The actual name here doesn't matter and is here for
})
interface Client1 {
getChatCompletions is ModelClient.getChatCompletions;
+ getModelInfo is ModelClient.getModelInfo;
}
@client({
@@ -29,6 +30,7 @@ interface Client1 {
})
interface Client2 {
getEmbeddings is ModelClient.getEmbeddings;
+ getModelInfo is ModelClient.getModelInfo;
}
@client({
@@ -37,12 +39,5 @@ interface Client2 {
})
interface Client3 {
generateImages is ModelClient.generateImages;
-}
-
-@client({
- name: "ModelInfoClient",
- service: ModelClient,
-})
-interface Client4 {
getModelInfo is ModelClient.getModelInfo;
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
index 3bc306a84cc0..59c49dd8768a 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
@@ -3,28 +3,28 @@
"operationId": "GenerateImages",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "elvjzhpk",
+ "azureml-model-deployment": "a",
"body": {
"extras": {
- "key9110": "jnbrlxbnwhpfflmuwtxkpqprkpp"
+ "key4311": "qiottmuixwaxzz"
},
- "prompt": "tqtkdd",
- "size": "ccquloztcoeg",
+ "prompt": "doa",
+ "size": "h",
"quality": "standard",
"response_format": "url",
- "seed": 9
+ "seed": 10
}
},
"responses": {
"200": {
"body": {
- "id": "ypgvadyo",
- "created": 4,
- "model": "v",
+ "id": "scamaur",
+ "created": 18,
+ "model": "asqiabox",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "unevzy"
+ "b64_json": "grkrkserylcapvhlp"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
index d4eac58f9399..e5360d2ffd80 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "qofkbjhzv",
- "size": "ioppyisosgmq"
+ "prompt": "zvmsxomixyqxivjrzabmpm",
+ "size": "eojzkdoiowpsywetzhthllm"
}
},
"responses": {
"200": {
"body": {
- "id": "ypgvadyo",
- "created": 4,
- "model": "v",
+ "id": "scamaur",
+ "created": 18,
+ "model": "asqiabox",
"data": [
{}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index 2881301e7376..1041e5003e62 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -3,57 +3,57 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "lbgientqkzdvtzcktekmhl",
+ "azureml-model-deployment": "nzecawdsuid",
"body": {
"extras": {
- "key6817": "pfjxtjuafvjwphkecztbogqerdajko"
+ "key3499": "kkyensjnmpdtqpqydbgkraozdwia"
},
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": 0,
- "presence_penalty": -2,
+ "frequency_penalty": -1,
+ "presence_penalty": -1,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
"response_format": "text",
"stop": [
- "awpcxsdpwn"
+ "tpdzxjn"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 17
+ "seed": 27
}
},
"responses": {
"200": {
"body": {
- "id": "bdjzk",
- "object": "ydorz",
- "created": 17,
- "model": "arpizakusszhfbsdb",
+ "id": "frqhszkvdckecquzayqxnzltatx",
+ "object": "wmhdjvndgpiejgpwirktwt",
+ "created": 30,
+ "model": "yrxbgp",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 6,
- "prompt_tokens": 29,
- "total_tokens": 7
+ "completion_tokens": 9,
+ "prompt_tokens": 3,
+ "total_tokens": 23
},
"choices": [
{
- "index": 18,
+ "index": 6,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "lzgyduetyz",
+ "content": "zmkrkidvd",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "nf"
+ "id": "dyqicoynxqexbhxbewef"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 6efcb2e01672..3473d42a1770 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "bdjzk",
- "object": "ydorz",
- "created": 17,
- "model": "arpizakusszhfbsdb",
+ "id": "frqhszkvdckecquzayqxnzltatx",
+ "object": "wmhdjvndgpiejgpwirktwt",
+ "created": 30,
+ "model": "yrxbgp",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 6,
- "prompt_tokens": 29,
- "total_tokens": 7
+ "completion_tokens": 9,
+ "prompt_tokens": 3,
+ "total_tokens": 23
},
"choices": [
{
- "index": 18,
+ "index": 6,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "lzgyduetyz"
+ "content": "zmkrkidvd"
}
}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index fc6973f1abe7..9a73db12bfc9 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -3,13 +3,13 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "ofcfpeocrezfhatkvxgpdbycll",
+ "azureml-model-deployment": "zioljzndmjrhwvpkgwinwgqwzlueva",
"body": {
"extras": {
- "key4322": "diknxqmagdnain"
+ "key2781": "sidjiheocvtczjolpqhsq"
},
"input": [
- "mfmmdxrywtijvg"
+ "dlxyrnfwdjdogkuitnrpw"
],
"input_type": "text"
}
@@ -17,24 +17,24 @@
"responses": {
"200": {
"body": {
- "id": "sgmozzeaojqle",
+ "id": "qgaqgvmdukdpddgcwi",
"data": [
{
"embedding": [
- 16
+ 12
],
"index": 26,
- "object": "zwtzkagmvtx"
+ "object": "oq"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 9,
- "prompt_tokens": 10,
- "total_tokens": 7
+ "input_tokens": 10,
+ "prompt_tokens": 7,
+ "total_tokens": 22
},
- "object": "ygzyqxyjgnguzvgermxhpihg",
- "model": "omvfcbhawdjiwnz"
+ "object": "djxlywtgjitzpvq",
+ "model": "kcnuiypqefgdpz"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index 4c071b67ae9a..b2b70f97f553 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "zngawpxlb"
+ "fkmbthb"
]
}
},
"responses": {
"200": {
"body": {
- "id": "sgmozzeaojqle",
+ "id": "qgaqgvmdukdpddgcwi",
"data": [
{
"embedding": [
- 16
+ 12
],
"index": 26,
- "object": "zwtzkagmvtx"
+ "object": "oq"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 9,
- "prompt_tokens": 10,
- "total_tokens": 7
+ "input_tokens": 10,
+ "prompt_tokens": 7,
+ "total_tokens": 22
},
- "object": "ygzyqxyjgnguzvgermxhpihg",
- "model": "omvfcbhawdjiwnz"
+ "object": "djxlywtgjitzpvq",
+ "model": "kcnuiypqefgdpz"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
index 9c1a4822edb1..4770d1a26616 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "zmgrlxirgyemio",
- "model_name": "oqwrneptvuvyfipjwxhpt"
+ "model_provider": "bplxhewopmyy",
+ "model_name": "xaxbtvkqixkakkgalxdnxpnoaf"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
index 6be38bdd3bdd..bec2c674c796 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "zmgrlxirgyemio",
- "model_name": "oqwrneptvuvyfipjwxhpt"
+ "model_provider": "bplxhewopmyy",
+ "model_name": "xaxbtvkqixkakkgalxdnxpnoaf"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json
index 3bc306a84cc0..59c49dd8768a 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json
@@ -3,28 +3,28 @@
"operationId": "GenerateImages",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "elvjzhpk",
+ "azureml-model-deployment": "a",
"body": {
"extras": {
- "key9110": "jnbrlxbnwhpfflmuwtxkpqprkpp"
+ "key4311": "qiottmuixwaxzz"
},
- "prompt": "tqtkdd",
- "size": "ccquloztcoeg",
+ "prompt": "doa",
+ "size": "h",
"quality": "standard",
"response_format": "url",
- "seed": 9
+ "seed": 10
}
},
"responses": {
"200": {
"body": {
- "id": "ypgvadyo",
- "created": 4,
- "model": "v",
+ "id": "scamaur",
+ "created": 18,
+ "model": "asqiabox",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "unevzy"
+ "b64_json": "grkrkserylcapvhlp"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json
index d4eac58f9399..e5360d2ffd80 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "qofkbjhzv",
- "size": "ioppyisosgmq"
+ "prompt": "zvmsxomixyqxivjrzabmpm",
+ "size": "eojzkdoiowpsywetzhthllm"
}
},
"responses": {
"200": {
"body": {
- "id": "ypgvadyo",
- "created": 4,
- "model": "v",
+ "id": "scamaur",
+ "created": 18,
+ "model": "asqiabox",
"data": [
{}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index 2881301e7376..1041e5003e62 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -3,57 +3,57 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "lbgientqkzdvtzcktekmhl",
+ "azureml-model-deployment": "nzecawdsuid",
"body": {
"extras": {
- "key6817": "pfjxtjuafvjwphkecztbogqerdajko"
+ "key3499": "kkyensjnmpdtqpqydbgkraozdwia"
},
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": 0,
- "presence_penalty": -2,
+ "frequency_penalty": -1,
+ "presence_penalty": -1,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
"response_format": "text",
"stop": [
- "awpcxsdpwn"
+ "tpdzxjn"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 17
+ "seed": 27
}
},
"responses": {
"200": {
"body": {
- "id": "bdjzk",
- "object": "ydorz",
- "created": 17,
- "model": "arpizakusszhfbsdb",
+ "id": "frqhszkvdckecquzayqxnzltatx",
+ "object": "wmhdjvndgpiejgpwirktwt",
+ "created": 30,
+ "model": "yrxbgp",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 6,
- "prompt_tokens": 29,
- "total_tokens": 7
+ "completion_tokens": 9,
+ "prompt_tokens": 3,
+ "total_tokens": 23
},
"choices": [
{
- "index": 18,
+ "index": 6,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "lzgyduetyz",
+ "content": "zmkrkidvd",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "nf"
+ "id": "dyqicoynxqexbhxbewef"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 6efcb2e01672..3473d42a1770 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "bdjzk",
- "object": "ydorz",
- "created": 17,
- "model": "arpizakusszhfbsdb",
+ "id": "frqhszkvdckecquzayqxnzltatx",
+ "object": "wmhdjvndgpiejgpwirktwt",
+ "created": 30,
+ "model": "yrxbgp",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 6,
- "prompt_tokens": 29,
- "total_tokens": 7
+ "completion_tokens": 9,
+ "prompt_tokens": 3,
+ "total_tokens": 23
},
"choices": [
{
- "index": 18,
+ "index": 6,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "lzgyduetyz"
+ "content": "zmkrkidvd"
}
}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index fc6973f1abe7..9a73db12bfc9 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -3,13 +3,13 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "ofcfpeocrezfhatkvxgpdbycll",
+ "azureml-model-deployment": "zioljzndmjrhwvpkgwinwgqwzlueva",
"body": {
"extras": {
- "key4322": "diknxqmagdnain"
+ "key2781": "sidjiheocvtczjolpqhsq"
},
"input": [
- "mfmmdxrywtijvg"
+ "dlxyrnfwdjdogkuitnrpw"
],
"input_type": "text"
}
@@ -17,24 +17,24 @@
"responses": {
"200": {
"body": {
- "id": "sgmozzeaojqle",
+ "id": "qgaqgvmdukdpddgcwi",
"data": [
{
"embedding": [
- 16
+ 12
],
"index": 26,
- "object": "zwtzkagmvtx"
+ "object": "oq"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 9,
- "prompt_tokens": 10,
- "total_tokens": 7
+ "input_tokens": 10,
+ "prompt_tokens": 7,
+ "total_tokens": 22
},
- "object": "ygzyqxyjgnguzvgermxhpihg",
- "model": "omvfcbhawdjiwnz"
+ "object": "djxlywtgjitzpvq",
+ "model": "kcnuiypqefgdpz"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index 4c071b67ae9a..b2b70f97f553 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "zngawpxlb"
+ "fkmbthb"
]
}
},
"responses": {
"200": {
"body": {
- "id": "sgmozzeaojqle",
+ "id": "qgaqgvmdukdpddgcwi",
"data": [
{
"embedding": [
- 16
+ 12
],
"index": 26,
- "object": "zwtzkagmvtx"
+ "object": "oq"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 9,
- "prompt_tokens": 10,
- "total_tokens": 7
+ "input_tokens": 10,
+ "prompt_tokens": 7,
+ "total_tokens": 22
},
- "object": "ygzyqxyjgnguzvgermxhpihg",
- "model": "omvfcbhawdjiwnz"
+ "object": "djxlywtgjitzpvq",
+ "model": "kcnuiypqefgdpz"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
index 9c1a4822edb1..4770d1a26616 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "zmgrlxirgyemio",
- "model_name": "oqwrneptvuvyfipjwxhpt"
+ "model_provider": "bplxhewopmyy",
+ "model_name": "xaxbtvkqixkakkgalxdnxpnoaf"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
index 6be38bdd3bdd..bec2c674c796 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "zmgrlxirgyemio",
- "model_name": "oqwrneptvuvyfipjwxhpt"
+ "model_provider": "bplxhewopmyy",
+ "model_name": "xaxbtvkqixkakkgalxdnxpnoaf"
}
}
}
From 09dca826e0d1e85d00400f1c5ab527e90c84167c Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Fri, 12 Apr 2024 01:33:59 -0700
Subject: [PATCH 057/343] Fix CapacityType
---
specification/ai/ModelClient/client.tsp | 2 +-
.../GenerateImages_MaximumSet_Gen.json | 18 +++++------
.../GenerateImages_MinimumSet_Gen.json | 10 +++----
.../GetChatCompletions_MaximumSet_Gen.json | 30 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 18 +++++------
.../GetEmbeddings_MaximumSet_Gen.json | 22 +++++++-------
.../GetEmbeddings_MinimumSet_Gen.json | 18 +++++------
.../GetModelInfo_MaximumSet_Gen.json | 4 +--
.../GetModelInfo_MinimumSet_Gen.json | 4 +--
.../ai/ModelClient/models/common.tsp | 4 +--
.../GenerateImages_MaximumSet_Gen.json | 18 +++++------
.../GenerateImages_MinimumSet_Gen.json | 10 +++----
.../GetChatCompletions_MaximumSet_Gen.json | 30 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 18 +++++------
.../GetEmbeddings_MaximumSet_Gen.json | 22 +++++++-------
.../GetEmbeddings_MinimumSet_Gen.json | 18 +++++------
.../examples/GetModelInfo_MaximumSet_Gen.json | 4 +--
.../examples/GetModelInfo_MinimumSet_Gen.json | 4 +--
.../preview/2024-04-01-preview/openapi.json | 4 +--
19 files changed, 129 insertions(+), 129 deletions(-)
diff --git a/specification/ai/ModelClient/client.tsp b/specification/ai/ModelClient/client.tsp
index 10ab2d15632b..dd8ddbb83b37 100644
--- a/specification/ai/ModelClient/client.tsp
+++ b/specification/ai/ModelClient/client.tsp
@@ -16,7 +16,7 @@ namespace Customizations; // The actual name here doesn't matter and is here for
@@usage(ModelClient.ChatChoiceUpdate, Usage.output);
@client({
- name: "ChatClient",
+ name: "ChatCompletionsClient",
service: ModelClient,
})
interface Client1 {
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
index 59c49dd8768a..e05b5003830b 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
@@ -3,28 +3,28 @@
"operationId": "GenerateImages",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "a",
+ "azureml-model-deployment": "htvqxydkekncnpymnhqsdelqgrszm",
"body": {
"extras": {
- "key4311": "qiottmuixwaxzz"
+ "key6365": "snsxhvtujtpjjgoqtz"
},
- "prompt": "doa",
- "size": "h",
+ "prompt": "dhjvogvnuftokj",
+ "size": "ibnfps",
"quality": "standard",
"response_format": "url",
- "seed": 10
+ "seed": 5
}
},
"responses": {
"200": {
"body": {
- "id": "scamaur",
- "created": 18,
- "model": "asqiabox",
+ "id": "tkkvudvgguol",
+ "created": 2,
+ "model": "fuemakla",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "grkrkserylcapvhlp"
+ "b64_json": "wdthgkpci"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
index e5360d2ffd80..3db1fc47c70d 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "zvmsxomixyqxivjrzabmpm",
- "size": "eojzkdoiowpsywetzhthllm"
+ "prompt": "nemueodnxxxa",
+ "size": "fvglnzh"
}
},
"responses": {
"200": {
"body": {
- "id": "scamaur",
- "created": 18,
- "model": "asqiabox",
+ "id": "tkkvudvgguol",
+ "created": 2,
+ "model": "fuemakla",
"data": [
{}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index 1041e5003e62..bd8ca8ed554f 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -3,57 +3,57 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "nzecawdsuid",
+ "azureml-model-deployment": "vgivbgwpqsdxbdfkkssnmeygifch",
"body": {
"extras": {
- "key3499": "kkyensjnmpdtqpqydbgkraozdwia"
+ "key4415": "yhbhukhnxzbybudhbmfwdwhxjyu"
},
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -1,
+ "frequency_penalty": -2,
"presence_penalty": -1,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
"response_format": "text",
"stop": [
- "tpdzxjn"
+ "fieqqklpzxuhfhwrxjfflq"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 27
+ "seed": 5
}
},
"responses": {
"200": {
"body": {
- "id": "frqhszkvdckecquzayqxnzltatx",
- "object": "wmhdjvndgpiejgpwirktwt",
- "created": 30,
- "model": "yrxbgp",
+ "id": "nyuhsogwugvfffagspvlkbctmhgy",
+ "object": "j",
+ "created": 20,
+ "model": "dwjgccoerov",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 9,
- "prompt_tokens": 3,
- "total_tokens": 23
+ "completion_tokens": 4,
+ "prompt_tokens": 29,
+ "total_tokens": 24
},
"choices": [
{
- "index": 6,
+ "index": 27,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "zmkrkidvd",
+ "content": "yhkwlhkgmhdzzlarhdllrwtdoov",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "dyqicoynxqexbhxbewef"
+ "id": "otfsiibjffhnnm"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 3473d42a1770..4fcd7adc02a4 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "frqhszkvdckecquzayqxnzltatx",
- "object": "wmhdjvndgpiejgpwirktwt",
- "created": 30,
- "model": "yrxbgp",
+ "id": "nyuhsogwugvfffagspvlkbctmhgy",
+ "object": "j",
+ "created": 20,
+ "model": "dwjgccoerov",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 9,
- "prompt_tokens": 3,
- "total_tokens": 23
+ "completion_tokens": 4,
+ "prompt_tokens": 29,
+ "total_tokens": 24
},
"choices": [
{
- "index": 6,
+ "index": 27,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "zmkrkidvd"
+ "content": "yhkwlhkgmhdzzlarhdllrwtdoov"
}
}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index 9a73db12bfc9..522e853351f8 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -3,13 +3,13 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "zioljzndmjrhwvpkgwinwgqwzlueva",
+ "azureml-model-deployment": "yhvqsxxmovwgud",
"body": {
"extras": {
- "key2781": "sidjiheocvtczjolpqhsq"
+ "key7699": "gtoiwmsixgnoqt"
},
"input": [
- "dlxyrnfwdjdogkuitnrpw"
+ "jqdzisnqggkwvnijrshupxgiumf"
],
"input_type": "text"
}
@@ -17,24 +17,24 @@
"responses": {
"200": {
"body": {
- "id": "qgaqgvmdukdpddgcwi",
+ "id": "hrnxhhuclykokrdkuli",
"data": [
{
"embedding": [
- 12
+ 13
],
- "index": 26,
- "object": "oq"
+ "index": 19,
+ "object": "upuylpsjuboekwxj"
}
],
"usage": {
"capacity_type": "usage",
"input_tokens": 10,
- "prompt_tokens": 7,
- "total_tokens": 22
+ "prompt_tokens": 27,
+ "total_tokens": 12
},
- "object": "djxlywtgjitzpvq",
- "model": "kcnuiypqefgdpz"
+ "object": "ur",
+ "model": "osqeawsibcjedoil"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index b2b70f97f553..7661e414e92e 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "fkmbthb"
+ "jcw"
]
}
},
"responses": {
"200": {
"body": {
- "id": "qgaqgvmdukdpddgcwi",
+ "id": "hrnxhhuclykokrdkuli",
"data": [
{
"embedding": [
- 12
+ 13
],
- "index": 26,
- "object": "oq"
+ "index": 19,
+ "object": "upuylpsjuboekwxj"
}
],
"usage": {
"capacity_type": "usage",
"input_tokens": 10,
- "prompt_tokens": 7,
- "total_tokens": 22
+ "prompt_tokens": 27,
+ "total_tokens": 12
},
- "object": "djxlywtgjitzpvq",
- "model": "kcnuiypqefgdpz"
+ "object": "ur",
+ "model": "osqeawsibcjedoil"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
index 4770d1a26616..fef8949b9f66 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "bplxhewopmyy",
- "model_name": "xaxbtvkqixkakkgalxdnxpnoaf"
+ "model_provider": "nkbelpkxpqsbgujjbiifxylf",
+ "model_name": "mzyolrapnadkkp"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
index bec2c674c796..68ec723eff75 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "bplxhewopmyy",
- "model_name": "xaxbtvkqixkakkgalxdnxpnoaf"
+ "model_provider": "nkbelpkxpqsbgujjbiifxylf",
+ "model_name": "mzyolrapnadkkp"
}
}
}
diff --git a/specification/ai/ModelClient/models/common.tsp b/specification/ai/ModelClient/models/common.tsp
index 7a9701942c16..18afdf711a67 100644
--- a/specification/ai/ModelClient/models/common.tsp
+++ b/specification/ai/ModelClient/models/common.tsp
@@ -39,10 +39,10 @@ union CapacityType {
string,
@doc("Your capacity has been affected by the usage amount (token count) reported here.")
- error: "usage",
+ usage: "usage",
@doc("Your capacity has not been affected by the usage amount (token count) reported here.")
- ignore: "fixed",
+ fixed: "fixed",
}
alias ExtraRequestParameters = {
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json
index 59c49dd8768a..e05b5003830b 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json
@@ -3,28 +3,28 @@
"operationId": "GenerateImages",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "a",
+ "azureml-model-deployment": "htvqxydkekncnpymnhqsdelqgrszm",
"body": {
"extras": {
- "key4311": "qiottmuixwaxzz"
+ "key6365": "snsxhvtujtpjjgoqtz"
},
- "prompt": "doa",
- "size": "h",
+ "prompt": "dhjvogvnuftokj",
+ "size": "ibnfps",
"quality": "standard",
"response_format": "url",
- "seed": 10
+ "seed": 5
}
},
"responses": {
"200": {
"body": {
- "id": "scamaur",
- "created": 18,
- "model": "asqiabox",
+ "id": "tkkvudvgguol",
+ "created": 2,
+ "model": "fuemakla",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "grkrkserylcapvhlp"
+ "b64_json": "wdthgkpci"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json
index e5360d2ffd80..3db1fc47c70d 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "zvmsxomixyqxivjrzabmpm",
- "size": "eojzkdoiowpsywetzhthllm"
+ "prompt": "nemueodnxxxa",
+ "size": "fvglnzh"
}
},
"responses": {
"200": {
"body": {
- "id": "scamaur",
- "created": 18,
- "model": "asqiabox",
+ "id": "tkkvudvgguol",
+ "created": 2,
+ "model": "fuemakla",
"data": [
{}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index 1041e5003e62..bd8ca8ed554f 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -3,57 +3,57 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "nzecawdsuid",
+ "azureml-model-deployment": "vgivbgwpqsdxbdfkkssnmeygifch",
"body": {
"extras": {
- "key3499": "kkyensjnmpdtqpqydbgkraozdwia"
+ "key4415": "yhbhukhnxzbybudhbmfwdwhxjyu"
},
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -1,
+ "frequency_penalty": -2,
"presence_penalty": -1,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
"response_format": "text",
"stop": [
- "tpdzxjn"
+ "fieqqklpzxuhfhwrxjfflq"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 27
+ "seed": 5
}
},
"responses": {
"200": {
"body": {
- "id": "frqhszkvdckecquzayqxnzltatx",
- "object": "wmhdjvndgpiejgpwirktwt",
- "created": 30,
- "model": "yrxbgp",
+ "id": "nyuhsogwugvfffagspvlkbctmhgy",
+ "object": "j",
+ "created": 20,
+ "model": "dwjgccoerov",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 9,
- "prompt_tokens": 3,
- "total_tokens": 23
+ "completion_tokens": 4,
+ "prompt_tokens": 29,
+ "total_tokens": 24
},
"choices": [
{
- "index": 6,
+ "index": 27,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "zmkrkidvd",
+ "content": "yhkwlhkgmhdzzlarhdllrwtdoov",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "dyqicoynxqexbhxbewef"
+ "id": "otfsiibjffhnnm"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 3473d42a1770..4fcd7adc02a4 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "frqhszkvdckecquzayqxnzltatx",
- "object": "wmhdjvndgpiejgpwirktwt",
- "created": 30,
- "model": "yrxbgp",
+ "id": "nyuhsogwugvfffagspvlkbctmhgy",
+ "object": "j",
+ "created": 20,
+ "model": "dwjgccoerov",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 9,
- "prompt_tokens": 3,
- "total_tokens": 23
+ "completion_tokens": 4,
+ "prompt_tokens": 29,
+ "total_tokens": 24
},
"choices": [
{
- "index": 6,
+ "index": 27,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "zmkrkidvd"
+ "content": "yhkwlhkgmhdzzlarhdllrwtdoov"
}
}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index 9a73db12bfc9..522e853351f8 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -3,13 +3,13 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "zioljzndmjrhwvpkgwinwgqwzlueva",
+ "azureml-model-deployment": "yhvqsxxmovwgud",
"body": {
"extras": {
- "key2781": "sidjiheocvtczjolpqhsq"
+ "key7699": "gtoiwmsixgnoqt"
},
"input": [
- "dlxyrnfwdjdogkuitnrpw"
+ "jqdzisnqggkwvnijrshupxgiumf"
],
"input_type": "text"
}
@@ -17,24 +17,24 @@
"responses": {
"200": {
"body": {
- "id": "qgaqgvmdukdpddgcwi",
+ "id": "hrnxhhuclykokrdkuli",
"data": [
{
"embedding": [
- 12
+ 13
],
- "index": 26,
- "object": "oq"
+ "index": 19,
+ "object": "upuylpsjuboekwxj"
}
],
"usage": {
"capacity_type": "usage",
"input_tokens": 10,
- "prompt_tokens": 7,
- "total_tokens": 22
+ "prompt_tokens": 27,
+ "total_tokens": 12
},
- "object": "djxlywtgjitzpvq",
- "model": "kcnuiypqefgdpz"
+ "object": "ur",
+ "model": "osqeawsibcjedoil"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index b2b70f97f553..7661e414e92e 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "fkmbthb"
+ "jcw"
]
}
},
"responses": {
"200": {
"body": {
- "id": "qgaqgvmdukdpddgcwi",
+ "id": "hrnxhhuclykokrdkuli",
"data": [
{
"embedding": [
- 12
+ 13
],
- "index": 26,
- "object": "oq"
+ "index": 19,
+ "object": "upuylpsjuboekwxj"
}
],
"usage": {
"capacity_type": "usage",
"input_tokens": 10,
- "prompt_tokens": 7,
- "total_tokens": 22
+ "prompt_tokens": 27,
+ "total_tokens": 12
},
- "object": "djxlywtgjitzpvq",
- "model": "kcnuiypqefgdpz"
+ "object": "ur",
+ "model": "osqeawsibcjedoil"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
index 4770d1a26616..fef8949b9f66 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "bplxhewopmyy",
- "model_name": "xaxbtvkqixkakkgalxdnxpnoaf"
+ "model_provider": "nkbelpkxpqsbgujjbiifxylf",
+ "model_name": "mzyolrapnadkkp"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
index bec2c674c796..68ec723eff75 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "bplxhewopmyy",
- "model_name": "xaxbtvkqixkakkgalxdnxpnoaf"
+ "model_provider": "nkbelpkxpqsbgujjbiifxylf",
+ "model_name": "mzyolrapnadkkp"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index 8cba62eb0eaf..c6c115043c24 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -486,12 +486,12 @@
"modelAsString": true,
"values": [
{
- "name": "error",
+ "name": "usage",
"value": "usage",
"description": "Your capacity has been affected by the usage amount (token count) reported here."
},
{
- "name": "ignore",
+ "name": "fixed",
"value": "fixed",
"description": "Your capacity has not been affected by the usage amount (token count) reported here."
}
From ba7fc3487151ec4216541717cd87c1d85f06c5fd Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Fri, 12 Apr 2024 10:49:37 -0700
Subject: [PATCH 058/343] Use 'client' as common operator name. Split models
into their own folders
---
.../chat_completions.tsp | 0
specification/ai/ModelClient/client.tsp | 6 +--
.../ModelClient/{models => common}/common.tsp | 32 +++++++++++++++
.../{models => embeddings}/embeddings.tsp | 0
.../GenerateImages_MaximumSet_Gen.json | 18 ++++-----
.../GenerateImages_MinimumSet_Gen.json | 10 ++---
.../GetChatCompletions_MaximumSet_Gen.json | 30 +++++++-------
.../GetChatCompletions_MinimumSet_Gen.json | 18 ++++-----
.../GetEmbeddings_MaximumSet_Gen.json | 24 ++++++------
.../GetEmbeddings_MinimumSet_Gen.json | 20 +++++-----
.../GetModelInfo_MaximumSet_Gen.json | 4 +-
.../GetModelInfo_MinimumSet_Gen.json | 4 +-
.../image_generation.tsp | 0
.../ai/ModelClient/models/model_info.tsp | 39 -------------------
specification/ai/ModelClient/routes.tsp | 9 ++---
.../GenerateImages_MaximumSet_Gen.json | 18 ++++-----
.../GenerateImages_MinimumSet_Gen.json | 10 ++---
.../GetChatCompletions_MaximumSet_Gen.json | 30 +++++++-------
.../GetChatCompletions_MinimumSet_Gen.json | 18 ++++-----
.../GetEmbeddings_MaximumSet_Gen.json | 24 ++++++------
.../GetEmbeddings_MinimumSet_Gen.json | 20 +++++-----
.../examples/GetModelInfo_MaximumSet_Gen.json | 4 +-
.../examples/GetModelInfo_MinimumSet_Gen.json | 4 +-
23 files changed, 167 insertions(+), 175 deletions(-)
rename specification/ai/ModelClient/{models => chat.completions}/chat_completions.tsp (100%)
rename specification/ai/ModelClient/{models => common}/common.tsp (76%)
rename specification/ai/ModelClient/{models => embeddings}/embeddings.tsp (100%)
rename specification/ai/ModelClient/{models => image.generation}/image_generation.tsp (100%)
delete mode 100644 specification/ai/ModelClient/models/model_info.tsp
diff --git a/specification/ai/ModelClient/models/chat_completions.tsp b/specification/ai/ModelClient/chat.completions/chat_completions.tsp
similarity index 100%
rename from specification/ai/ModelClient/models/chat_completions.tsp
rename to specification/ai/ModelClient/chat.completions/chat_completions.tsp
diff --git a/specification/ai/ModelClient/client.tsp b/specification/ai/ModelClient/client.tsp
index dd8ddbb83b37..75537db3c384 100644
--- a/specification/ai/ModelClient/client.tsp
+++ b/specification/ai/ModelClient/client.tsp
@@ -20,7 +20,7 @@ namespace Customizations; // The actual name here doesn't matter and is here for
service: ModelClient,
})
interface Client1 {
- getChatCompletions is ModelClient.getChatCompletions;
+ create is ModelClient.getChatCompletions;
getModelInfo is ModelClient.getModelInfo;
}
@@ -29,7 +29,7 @@ interface Client1 {
service: ModelClient,
})
interface Client2 {
- getEmbeddings is ModelClient.getEmbeddings;
+ create is ModelClient.getEmbeddings;
getModelInfo is ModelClient.getModelInfo;
}
@@ -38,6 +38,6 @@ interface Client2 {
service: ModelClient,
})
interface Client3 {
- generateImages is ModelClient.generateImages;
+ create is ModelClient.generateImages;
getModelInfo is ModelClient.getModelInfo;
}
diff --git a/specification/ai/ModelClient/models/common.tsp b/specification/ai/ModelClient/common/common.tsp
similarity index 76%
rename from specification/ai/ModelClient/models/common.tsp
rename to specification/ai/ModelClient/common/common.tsp
index 18afdf711a67..60b36a367bf1 100644
--- a/specification/ai/ModelClient/models/common.tsp
+++ b/specification/ai/ModelClient/common/common.tsp
@@ -6,6 +6,38 @@ using TypeSpec.Http;
namespace ModelClient;
+@doc("Represents some basic information about the AI model.")
+model ModelInformation {
+ @doc("The type of the AI model.")
+ model_type: ModelType;
+
+ @doc("The model provider.")
+ model_provider: string;
+
+ @doc("The name of the AI model.")
+ model_name: string;
+}
+
+@doc("The type of AI model")
+union ModelType {
+ string,
+
+ @doc("Embeddings.")
+ embeddings: "embeddings",
+
+ @doc("Custom model.")
+ custom: "custom",
+
+ @doc("Chat completions")
+ chat: "chat",
+
+ @doc("Text generation")
+ text_generation: "text_generation",
+
+ @doc("Image generation")
+ image_generation: "image_generation",
+}
+
@doc("Defines the service behavior when extra parameters are passed in the request payload.")
union ExtraParameters {
string,
diff --git a/specification/ai/ModelClient/models/embeddings.tsp b/specification/ai/ModelClient/embeddings/embeddings.tsp
similarity index 100%
rename from specification/ai/ModelClient/models/embeddings.tsp
rename to specification/ai/ModelClient/embeddings/embeddings.tsp
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
index e05b5003830b..63fa46e3e4a4 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
@@ -3,28 +3,28 @@
"operationId": "GenerateImages",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "htvqxydkekncnpymnhqsdelqgrszm",
+ "azureml-model-deployment": "pxmcfsjcxfzcvyyewxkqnsqpf",
"body": {
"extras": {
- "key6365": "snsxhvtujtpjjgoqtz"
+ "key321": "jwfslhuxb"
},
- "prompt": "dhjvogvnuftokj",
- "size": "ibnfps",
+ "prompt": "cjyxrtpwacngidhuqlzuv",
+ "size": "bbrlybbmjwluntrylmwtt",
"quality": "standard",
"response_format": "url",
- "seed": 5
+ "seed": 7
}
},
"responses": {
"200": {
"body": {
- "id": "tkkvudvgguol",
- "created": 2,
- "model": "fuemakla",
+ "id": "muckxbcmxcwjqrmxq",
+ "created": 30,
+ "model": "cgoewbpodd",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "wdthgkpci"
+ "b64_json": "xhfksftpjmfquluclpcgrkb"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
index 3db1fc47c70d..8fb3e087f579 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "nemueodnxxxa",
- "size": "fvglnzh"
+ "prompt": "cz",
+ "size": "qbipakgkikdhclywm"
}
},
"responses": {
"200": {
"body": {
- "id": "tkkvudvgguol",
- "created": 2,
- "model": "fuemakla",
+ "id": "muckxbcmxcwjqrmxq",
+ "created": 30,
+ "model": "cgoewbpodd",
"data": [
{}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index bd8ca8ed554f..8c4596838cd0 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -3,10 +3,10 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "vgivbgwpqsdxbdfkkssnmeygifch",
+ "azureml-model-deployment": "duedshvpgwqtfwblxrjmfqub",
"body": {
"extras": {
- "key4415": "yhbhukhnxzbybudhbmfwdwhxjyu"
+ "key7873": "qio"
},
"messages": [
{
@@ -14,46 +14,46 @@
}
],
"frequency_penalty": -2,
- "presence_penalty": -1,
+ "presence_penalty": -2,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
"response_format": "text",
"stop": [
- "fieqqklpzxuhfhwrxjfflq"
+ "ypudkhkwozhaefan"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 5
+ "seed": 8
}
},
"responses": {
"200": {
"body": {
- "id": "nyuhsogwugvfffagspvlkbctmhgy",
- "object": "j",
- "created": 20,
- "model": "dwjgccoerov",
+ "id": "g",
+ "object": "rwddsayntqhjhmmvnlbmialid",
+ "created": 7,
+ "model": "l",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 4,
- "prompt_tokens": 29,
- "total_tokens": 24
+ "completion_tokens": 24,
+ "prompt_tokens": 30,
+ "total_tokens": 27
},
"choices": [
{
- "index": 27,
+ "index": 18,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "yhkwlhkgmhdzzlarhdllrwtdoov",
+ "content": "tbjiwxsdnpvkhymgxtux",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "otfsiibjffhnnm"
+ "id": "wlkamr"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 4fcd7adc02a4..7e896b2eb842 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "nyuhsogwugvfffagspvlkbctmhgy",
- "object": "j",
- "created": 20,
- "model": "dwjgccoerov",
+ "id": "g",
+ "object": "rwddsayntqhjhmmvnlbmialid",
+ "created": 7,
+ "model": "l",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 4,
- "prompt_tokens": 29,
- "total_tokens": 24
+ "completion_tokens": 24,
+ "prompt_tokens": 30,
+ "total_tokens": 27
},
"choices": [
{
- "index": 27,
+ "index": 18,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "yhkwlhkgmhdzzlarhdllrwtdoov"
+ "content": "tbjiwxsdnpvkhymgxtux"
}
}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index 522e853351f8..3b92c1cbde55 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -3,13 +3,13 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "yhvqsxxmovwgud",
+ "azureml-model-deployment": "un",
"body": {
"extras": {
- "key7699": "gtoiwmsixgnoqt"
+ "key6027": "fqmhzpczqlhotdmwfzfwaiuqldptzn"
},
"input": [
- "jqdzisnqggkwvnijrshupxgiumf"
+ "wzsxcsxmnsqosvcpblqkatcvhmibk"
],
"input_type": "text"
}
@@ -17,24 +17,24 @@
"responses": {
"200": {
"body": {
- "id": "hrnxhhuclykokrdkuli",
+ "id": "gnsdnxipztsgfur",
"data": [
{
"embedding": [
- 13
+ 25
],
- "index": 19,
- "object": "upuylpsjuboekwxj"
+ "index": 8,
+ "object": "aubkfghzjnywzqrwphvqqjee"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 10,
- "prompt_tokens": 27,
- "total_tokens": 12
+ "input_tokens": 28,
+ "prompt_tokens": 10,
+ "total_tokens": 9
},
- "object": "ur",
- "model": "osqeawsibcjedoil"
+ "object": "nxullznlgjegnduap",
+ "model": "vb"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index 7661e414e92e..d079288ba431 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "jcw"
+ "aagjoqwxc"
]
}
},
"responses": {
"200": {
"body": {
- "id": "hrnxhhuclykokrdkuli",
+ "id": "gnsdnxipztsgfur",
"data": [
{
"embedding": [
- 13
+ 25
],
- "index": 19,
- "object": "upuylpsjuboekwxj"
+ "index": 8,
+ "object": "aubkfghzjnywzqrwphvqqjee"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 10,
- "prompt_tokens": 27,
- "total_tokens": 12
+ "input_tokens": 28,
+ "prompt_tokens": 10,
+ "total_tokens": 9
},
- "object": "ur",
- "model": "osqeawsibcjedoil"
+ "object": "nxullznlgjegnduap",
+ "model": "vb"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
index fef8949b9f66..edfc6382e478 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "nkbelpkxpqsbgujjbiifxylf",
- "model_name": "mzyolrapnadkkp"
+ "model_provider": "jopdezqephtlduqodmsyglq",
+ "model_name": "neeuviflfymkfczaauqgsffd"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
index 68ec723eff75..d2467414c5a7 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "nkbelpkxpqsbgujjbiifxylf",
- "model_name": "mzyolrapnadkkp"
+ "model_provider": "jopdezqephtlduqodmsyglq",
+ "model_name": "neeuviflfymkfczaauqgsffd"
}
}
}
diff --git a/specification/ai/ModelClient/models/image_generation.tsp b/specification/ai/ModelClient/image.generation/image_generation.tsp
similarity index 100%
rename from specification/ai/ModelClient/models/image_generation.tsp
rename to specification/ai/ModelClient/image.generation/image_generation.tsp
diff --git a/specification/ai/ModelClient/models/model_info.tsp b/specification/ai/ModelClient/models/model_info.tsp
deleted file mode 100644
index 72362715e499..000000000000
--- a/specification/ai/ModelClient/models/model_info.tsp
+++ /dev/null
@@ -1,39 +0,0 @@
-import "@typespec/rest";
-import "@typespec/http";
-
-using TypeSpec.Rest;
-using TypeSpec.Http;
-
-namespace ModelClient;
-
-@doc("Represents some basic information about the AI model.")
-model ModelInformation {
- @doc("The type of the AI model.")
- model_type: ModelType;
-
- @doc("The model provider.")
- model_provider: string;
-
- @doc("The name of the AI model.")
- model_name: string;
-}
-
-@doc("The type of AI model")
-union ModelType {
- string,
-
- @doc("Embeddings.")
- embeddings: "embeddings",
-
- @doc("Custom model.")
- custom: "custom",
-
- @doc("Chat completions")
- chat: "chat",
-
- @doc("Text generation")
- text_generation: "text_generation",
-
- @doc("Image generation")
- image_generation: "image_generation",
-}
diff --git a/specification/ai/ModelClient/routes.tsp b/specification/ai/ModelClient/routes.tsp
index 687e311c06a1..f48b6f4d8ba1 100644
--- a/specification/ai/ModelClient/routes.tsp
+++ b/specification/ai/ModelClient/routes.tsp
@@ -3,11 +3,10 @@ import "@typespec/rest";
import "@typespec/http";
import "@typespec/versioning";
-import "./models/common.tsp";
-import "./models/chat_completions.tsp";
-import "./models/embeddings.tsp";
-import "./models/image_generation.tsp";
-import "./models/model_info.tsp";
+import "./common/common.tsp";
+import "./chat.completions/chat_completions.tsp";
+import "./embeddings/embeddings.tsp";
+import "./image.generation/image_generation.tsp";
using TypeSpec.Rest;
using TypeSpec.Http;
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json
index e05b5003830b..63fa46e3e4a4 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json
@@ -3,28 +3,28 @@
"operationId": "GenerateImages",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "htvqxydkekncnpymnhqsdelqgrszm",
+ "azureml-model-deployment": "pxmcfsjcxfzcvyyewxkqnsqpf",
"body": {
"extras": {
- "key6365": "snsxhvtujtpjjgoqtz"
+ "key321": "jwfslhuxb"
},
- "prompt": "dhjvogvnuftokj",
- "size": "ibnfps",
+ "prompt": "cjyxrtpwacngidhuqlzuv",
+ "size": "bbrlybbmjwluntrylmwtt",
"quality": "standard",
"response_format": "url",
- "seed": 5
+ "seed": 7
}
},
"responses": {
"200": {
"body": {
- "id": "tkkvudvgguol",
- "created": 2,
- "model": "fuemakla",
+ "id": "muckxbcmxcwjqrmxq",
+ "created": 30,
+ "model": "cgoewbpodd",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "wdthgkpci"
+ "b64_json": "xhfksftpjmfquluclpcgrkb"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json
index 3db1fc47c70d..8fb3e087f579 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "nemueodnxxxa",
- "size": "fvglnzh"
+ "prompt": "cz",
+ "size": "qbipakgkikdhclywm"
}
},
"responses": {
"200": {
"body": {
- "id": "tkkvudvgguol",
- "created": 2,
- "model": "fuemakla",
+ "id": "muckxbcmxcwjqrmxq",
+ "created": 30,
+ "model": "cgoewbpodd",
"data": [
{}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index bd8ca8ed554f..8c4596838cd0 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -3,10 +3,10 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "vgivbgwpqsdxbdfkkssnmeygifch",
+ "azureml-model-deployment": "duedshvpgwqtfwblxrjmfqub",
"body": {
"extras": {
- "key4415": "yhbhukhnxzbybudhbmfwdwhxjyu"
+ "key7873": "qio"
},
"messages": [
{
@@ -14,46 +14,46 @@
}
],
"frequency_penalty": -2,
- "presence_penalty": -1,
+ "presence_penalty": -2,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
"response_format": "text",
"stop": [
- "fieqqklpzxuhfhwrxjfflq"
+ "ypudkhkwozhaefan"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 5
+ "seed": 8
}
},
"responses": {
"200": {
"body": {
- "id": "nyuhsogwugvfffagspvlkbctmhgy",
- "object": "j",
- "created": 20,
- "model": "dwjgccoerov",
+ "id": "g",
+ "object": "rwddsayntqhjhmmvnlbmialid",
+ "created": 7,
+ "model": "l",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 4,
- "prompt_tokens": 29,
- "total_tokens": 24
+ "completion_tokens": 24,
+ "prompt_tokens": 30,
+ "total_tokens": 27
},
"choices": [
{
- "index": 27,
+ "index": 18,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "yhkwlhkgmhdzzlarhdllrwtdoov",
+ "content": "tbjiwxsdnpvkhymgxtux",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "otfsiibjffhnnm"
+ "id": "wlkamr"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 4fcd7adc02a4..7e896b2eb842 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "nyuhsogwugvfffagspvlkbctmhgy",
- "object": "j",
- "created": 20,
- "model": "dwjgccoerov",
+ "id": "g",
+ "object": "rwddsayntqhjhmmvnlbmialid",
+ "created": 7,
+ "model": "l",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 4,
- "prompt_tokens": 29,
- "total_tokens": 24
+ "completion_tokens": 24,
+ "prompt_tokens": 30,
+ "total_tokens": 27
},
"choices": [
{
- "index": 27,
+ "index": 18,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "yhkwlhkgmhdzzlarhdllrwtdoov"
+ "content": "tbjiwxsdnpvkhymgxtux"
}
}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index 522e853351f8..3b92c1cbde55 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -3,13 +3,13 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "yhvqsxxmovwgud",
+ "azureml-model-deployment": "un",
"body": {
"extras": {
- "key7699": "gtoiwmsixgnoqt"
+ "key6027": "fqmhzpczqlhotdmwfzfwaiuqldptzn"
},
"input": [
- "jqdzisnqggkwvnijrshupxgiumf"
+ "wzsxcsxmnsqosvcpblqkatcvhmibk"
],
"input_type": "text"
}
@@ -17,24 +17,24 @@
"responses": {
"200": {
"body": {
- "id": "hrnxhhuclykokrdkuli",
+ "id": "gnsdnxipztsgfur",
"data": [
{
"embedding": [
- 13
+ 25
],
- "index": 19,
- "object": "upuylpsjuboekwxj"
+ "index": 8,
+ "object": "aubkfghzjnywzqrwphvqqjee"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 10,
- "prompt_tokens": 27,
- "total_tokens": 12
+ "input_tokens": 28,
+ "prompt_tokens": 10,
+ "total_tokens": 9
},
- "object": "ur",
- "model": "osqeawsibcjedoil"
+ "object": "nxullznlgjegnduap",
+ "model": "vb"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index 7661e414e92e..d079288ba431 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "jcw"
+ "aagjoqwxc"
]
}
},
"responses": {
"200": {
"body": {
- "id": "hrnxhhuclykokrdkuli",
+ "id": "gnsdnxipztsgfur",
"data": [
{
"embedding": [
- 13
+ 25
],
- "index": 19,
- "object": "upuylpsjuboekwxj"
+ "index": 8,
+ "object": "aubkfghzjnywzqrwphvqqjee"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 10,
- "prompt_tokens": 27,
- "total_tokens": 12
+ "input_tokens": 28,
+ "prompt_tokens": 10,
+ "total_tokens": 9
},
- "object": "ur",
- "model": "osqeawsibcjedoil"
+ "object": "nxullznlgjegnduap",
+ "model": "vb"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
index fef8949b9f66..edfc6382e478 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "nkbelpkxpqsbgujjbiifxylf",
- "model_name": "mzyolrapnadkkp"
+ "model_provider": "jopdezqephtlduqodmsyglq",
+ "model_name": "neeuviflfymkfczaauqgsffd"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
index 68ec723eff75..d2467414c5a7 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "nkbelpkxpqsbgujjbiifxylf",
- "model_name": "mzyolrapnadkkp"
+ "model_provider": "jopdezqephtlduqodmsyglq",
+ "model_name": "neeuviflfymkfczaauqgsffd"
}
}
}
From 511f2bfb9f71b5513bd7e8805f5caa259768b41a Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Fri, 12 Apr 2024 11:42:40 -0700
Subject: [PATCH 059/343] Try model folders without a dot
---
.../chat_completions.tsp | 0
.../GenerateImages_MaximumSet_Gen.json | 18 +++++------
.../GenerateImages_MinimumSet_Gen.json | 10 +++----
.../GetChatCompletions_MaximumSet_Gen.json | 30 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 16 +++++-----
.../GetEmbeddings_MaximumSet_Gen.json | 24 +++++++--------
.../GetEmbeddings_MinimumSet_Gen.json | 20 ++++++-------
.../GetModelInfo_MaximumSet_Gen.json | 4 +--
.../GetModelInfo_MinimumSet_Gen.json | 4 +--
.../image_generation.tsp | 0
specification/ai/ModelClient/routes.tsp | 4 +--
11 files changed, 65 insertions(+), 65 deletions(-)
rename specification/ai/ModelClient/{chat.completions => chat}/chat_completions.tsp (100%)
rename specification/ai/ModelClient/{image.generation => image}/image_generation.tsp (100%)
diff --git a/specification/ai/ModelClient/chat.completions/chat_completions.tsp b/specification/ai/ModelClient/chat/chat_completions.tsp
similarity index 100%
rename from specification/ai/ModelClient/chat.completions/chat_completions.tsp
rename to specification/ai/ModelClient/chat/chat_completions.tsp
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
index 63fa46e3e4a4..d5420aaffcc1 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
@@ -3,28 +3,28 @@
"operationId": "GenerateImages",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "pxmcfsjcxfzcvyyewxkqnsqpf",
+ "azureml-model-deployment": "xguti",
"body": {
"extras": {
- "key321": "jwfslhuxb"
+ "key1109": "srfumisjuxqumwzmscqa"
},
- "prompt": "cjyxrtpwacngidhuqlzuv",
- "size": "bbrlybbmjwluntrylmwtt",
+ "prompt": "fsntsifrbjpgciuhyyvrjdfpjalswh",
+ "size": "xkgsiclesfapmggylg",
"quality": "standard",
"response_format": "url",
- "seed": 7
+ "seed": 26
}
},
"responses": {
"200": {
"body": {
- "id": "muckxbcmxcwjqrmxq",
- "created": 30,
- "model": "cgoewbpodd",
+ "id": "mfwnswhimajvb",
+ "created": 6,
+ "model": "itswkx",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "xhfksftpjmfquluclpcgrkb"
+ "b64_json": "axd"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
index 8fb3e087f579..380225ca5406 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "cz",
- "size": "qbipakgkikdhclywm"
+ "prompt": "qoxre",
+ "size": "ld"
}
},
"responses": {
"200": {
"body": {
- "id": "muckxbcmxcwjqrmxq",
- "created": 30,
- "model": "cgoewbpodd",
+ "id": "mfwnswhimajvb",
+ "created": 6,
+ "model": "itswkx",
"data": [
{}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index 8c4596838cd0..03e7dc407aac 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -3,57 +3,57 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "duedshvpgwqtfwblxrjmfqub",
+ "azureml-model-deployment": "ogxzwbwbqxmhxzawlewjaifoqibrl",
"body": {
"extras": {
- "key7873": "qio"
+ "key8214": "ktkmtwksjy"
},
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -2,
- "presence_penalty": -2,
+ "frequency_penalty": -1,
+ "presence_penalty": 0,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
"response_format": "text",
"stop": [
- "ypudkhkwozhaefan"
+ "igfzbcmqrwfpcrrxoegcyavp"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 8
+ "seed": 7
}
},
"responses": {
"200": {
"body": {
- "id": "g",
- "object": "rwddsayntqhjhmmvnlbmialid",
- "created": 7,
- "model": "l",
+ "id": "mtdakybxqiompj",
+ "object": "viwdpmnvpuawqvmbx",
+ "created": 5,
+ "model": "cysrkwdqfxsipcxo",
"usage": {
"capacity_type": "usage",
"completion_tokens": 24,
- "prompt_tokens": 30,
- "total_tokens": 27
+ "prompt_tokens": 6,
+ "total_tokens": 20
},
"choices": [
{
- "index": 18,
+ "index": 12,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "tbjiwxsdnpvkhymgxtux",
+ "content": "mjptfjjwlrjzqqbymgiwhnziwt",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "wlkamr"
+ "id": "c"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 7e896b2eb842..6819293fcacd 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "g",
- "object": "rwddsayntqhjhmmvnlbmialid",
- "created": 7,
- "model": "l",
+ "id": "mtdakybxqiompj",
+ "object": "viwdpmnvpuawqvmbx",
+ "created": 5,
+ "model": "cysrkwdqfxsipcxo",
"usage": {
"capacity_type": "usage",
"completion_tokens": 24,
- "prompt_tokens": 30,
- "total_tokens": 27
+ "prompt_tokens": 6,
+ "total_tokens": 20
},
"choices": [
{
- "index": 18,
+ "index": 12,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "tbjiwxsdnpvkhymgxtux"
+ "content": "mjptfjjwlrjzqqbymgiwhnziwt"
}
}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index 3b92c1cbde55..145dc160c00c 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -3,13 +3,13 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "un",
+ "azureml-model-deployment": "djrdgxsueubqycsoqmjoungfsos",
"body": {
"extras": {
- "key6027": "fqmhzpczqlhotdmwfzfwaiuqldptzn"
+ "key5616": "rxbiq"
},
"input": [
- "wzsxcsxmnsqosvcpblqkatcvhmibk"
+ "knlcgpeunfmjbjtvdkzvjtm"
],
"input_type": "text"
}
@@ -17,24 +17,24 @@
"responses": {
"200": {
"body": {
- "id": "gnsdnxipztsgfur",
+ "id": "sjpxwu",
"data": [
{
"embedding": [
- 25
+ 21
],
- "index": 8,
- "object": "aubkfghzjnywzqrwphvqqjee"
+ "index": 3,
+ "object": "oyfxaoangnehu"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 28,
- "prompt_tokens": 10,
- "total_tokens": 9
+ "input_tokens": 16,
+ "prompt_tokens": 18,
+ "total_tokens": 15
},
- "object": "nxullznlgjegnduap",
- "model": "vb"
+ "object": "kkwiicznbj",
+ "model": "lyojlkvvapvymd"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index d079288ba431..7d4be700a0d6 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "aagjoqwxc"
+ "pqumsrbfxq"
]
}
},
"responses": {
"200": {
"body": {
- "id": "gnsdnxipztsgfur",
+ "id": "sjpxwu",
"data": [
{
"embedding": [
- 25
+ 21
],
- "index": 8,
- "object": "aubkfghzjnywzqrwphvqqjee"
+ "index": 3,
+ "object": "oyfxaoangnehu"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 28,
- "prompt_tokens": 10,
- "total_tokens": 9
+ "input_tokens": 16,
+ "prompt_tokens": 18,
+ "total_tokens": 15
},
- "object": "nxullznlgjegnduap",
- "model": "vb"
+ "object": "kkwiicznbj",
+ "model": "lyojlkvvapvymd"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
index edfc6382e478..667aae7bc22c 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "jopdezqephtlduqodmsyglq",
- "model_name": "neeuviflfymkfczaauqgsffd"
+ "model_provider": "xsgza",
+ "model_name": "ubqwngwiluncsjoudcrmohisjfavn"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
index d2467414c5a7..2f10a102e0dc 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "jopdezqephtlduqodmsyglq",
- "model_name": "neeuviflfymkfczaauqgsffd"
+ "model_provider": "xsgza",
+ "model_name": "ubqwngwiluncsjoudcrmohisjfavn"
}
}
}
diff --git a/specification/ai/ModelClient/image.generation/image_generation.tsp b/specification/ai/ModelClient/image/image_generation.tsp
similarity index 100%
rename from specification/ai/ModelClient/image.generation/image_generation.tsp
rename to specification/ai/ModelClient/image/image_generation.tsp
diff --git a/specification/ai/ModelClient/routes.tsp b/specification/ai/ModelClient/routes.tsp
index f48b6f4d8ba1..981c0f8dfe31 100644
--- a/specification/ai/ModelClient/routes.tsp
+++ b/specification/ai/ModelClient/routes.tsp
@@ -4,9 +4,9 @@ import "@typespec/http";
import "@typespec/versioning";
import "./common/common.tsp";
-import "./chat.completions/chat_completions.tsp";
+import "./chat/chat_completions.tsp";
import "./embeddings/embeddings.tsp";
-import "./image.generation/image_generation.tsp";
+import "./image/image_generation.tsp";
using TypeSpec.Rest;
using TypeSpec.Http;
From 78e7193dec65e6ee806ed71337064a5f334966c4 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Fri, 12 Apr 2024 13:06:40 -0700
Subject: [PATCH 060/343] Move models back into the models folder
---
.../GenerateImages_MaximumSet_Gen.json | 18 +++++------
.../GenerateImages_MinimumSet_Gen.json | 10 +++---
.../GetChatCompletions_MaximumSet_Gen.json | 26 +++++++--------
.../GetChatCompletions_MinimumSet_Gen.json | 16 +++++-----
.../GetEmbeddings_MaximumSet_Gen.json | 24 +++++++-------
.../GetEmbeddings_MinimumSet_Gen.json | 20 ++++++------
.../GetModelInfo_MaximumSet_Gen.json | 4 +--
.../GetModelInfo_MinimumSet_Gen.json | 4 +--
.../{chat => models}/chat_completions.tsp | 0
.../ModelClient/{common => models}/common.tsp | 0
.../{embeddings => models}/embeddings.tsp | 0
.../{image => models}/image_generation.tsp | 0
specification/ai/ModelClient/routes.tsp | 8 ++---
.../GenerateImages_MaximumSet_Gen.json | 18 +++++------
.../GenerateImages_MinimumSet_Gen.json | 10 +++---
.../GetChatCompletions_MaximumSet_Gen.json | 32 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 18 +++++------
.../GetEmbeddings_MaximumSet_Gen.json | 22 ++++++-------
.../GetEmbeddings_MinimumSet_Gen.json | 18 +++++------
.../examples/GetModelInfo_MaximumSet_Gen.json | 4 +--
.../examples/GetModelInfo_MinimumSet_Gen.json | 4 +--
21 files changed, 128 insertions(+), 128 deletions(-)
rename specification/ai/ModelClient/{chat => models}/chat_completions.tsp (100%)
rename specification/ai/ModelClient/{common => models}/common.tsp (100%)
rename specification/ai/ModelClient/{embeddings => models}/embeddings.tsp (100%)
rename specification/ai/ModelClient/{image => models}/image_generation.tsp (100%)
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
index d5420aaffcc1..5e82daa152f6 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MaximumSet_Gen.json
@@ -3,28 +3,28 @@
"operationId": "GenerateImages",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "xguti",
+ "azureml-model-deployment": "ksleredmpxxh",
"body": {
"extras": {
- "key1109": "srfumisjuxqumwzmscqa"
+ "key1229": "yvmhauqrswyvfg"
},
- "prompt": "fsntsifrbjpgciuhyyvrjdfpjalswh",
- "size": "xkgsiclesfapmggylg",
+ "prompt": "rjwzvwaukiavqeqnyuifvxftbinpbh",
+ "size": "agjbhdpgwhcofiixq",
"quality": "standard",
"response_format": "url",
- "seed": 26
+ "seed": 27
}
},
"responses": {
"200": {
"body": {
- "id": "mfwnswhimajvb",
- "created": 6,
- "model": "itswkx",
+ "id": "c",
+ "created": 28,
+ "model": "tybattpnvyhhusahurlfdaawt",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "axd"
+ "b64_json": "awjfdxadcurpzmapofopn"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
index 380225ca5406..ebd88ef57ea5 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GenerateImages_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "qoxre",
- "size": "ld"
+ "prompt": "rzosjkuhxnykplq",
+ "size": "wkbw"
}
},
"responses": {
"200": {
"body": {
- "id": "mfwnswhimajvb",
- "created": 6,
- "model": "itswkx",
+ "id": "c",
+ "created": 28,
+ "model": "tybattpnvyhhusahurlfdaawt",
"data": [
{}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
index 03e7dc407aac..b0899b98e068 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -3,10 +3,10 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "ogxzwbwbqxmhxzawlewjaifoqibrl",
+ "azureml-model-deployment": "muwjnj",
"body": {
"extras": {
- "key8214": "ktkmtwksjy"
+ "key6826": "niltykdjbwfkbnujcfypzffhtpx"
},
"messages": [
{
@@ -14,13 +14,13 @@
}
],
"frequency_penalty": -1,
- "presence_penalty": 0,
+ "presence_penalty": 1,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
"response_format": "text",
"stop": [
- "igfzbcmqrwfpcrrxoegcyavp"
+ "jntnucydlgvohzozgjq"
],
"tools": [
{
@@ -33,27 +33,27 @@
"responses": {
"200": {
"body": {
- "id": "mtdakybxqiompj",
- "object": "viwdpmnvpuawqvmbx",
- "created": 5,
- "model": "cysrkwdqfxsipcxo",
+ "id": "ssz",
+ "object": "ikerfo",
+ "created": 8,
+ "model": "x",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 24,
+ "completion_tokens": 7,
"prompt_tokens": 6,
- "total_tokens": 20
+ "total_tokens": 11
},
"choices": [
{
- "index": 12,
+ "index": 16,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "mjptfjjwlrjzqqbymgiwhnziwt",
+ "content": "nuqiefesdnlfhwo",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "c"
+ "id": "pbccsrumrhb"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 6819293fcacd..31158d4ae449 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "mtdakybxqiompj",
- "object": "viwdpmnvpuawqvmbx",
- "created": 5,
- "model": "cysrkwdqfxsipcxo",
+ "id": "ssz",
+ "object": "ikerfo",
+ "created": 8,
+ "model": "x",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 24,
+ "completion_tokens": 7,
"prompt_tokens": 6,
- "total_tokens": 20
+ "total_tokens": 11
},
"choices": [
{
- "index": 12,
+ "index": 16,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "mjptfjjwlrjzqqbymgiwhnziwt"
+ "content": "nuqiefesdnlfhwo"
}
}
]
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
index 145dc160c00c..dab618953f78 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -3,13 +3,13 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "djrdgxsueubqycsoqmjoungfsos",
+ "azureml-model-deployment": "ymunuuwoddcrfydwmzpgntuuqxwk",
"body": {
"extras": {
- "key5616": "rxbiq"
+ "key8593": "b"
},
"input": [
- "knlcgpeunfmjbjtvdkzvjtm"
+ "ysmhrgaavdoufdlkrccu"
],
"input_type": "text"
}
@@ -17,24 +17,24 @@
"responses": {
"200": {
"body": {
- "id": "sjpxwu",
+ "id": "bn",
"data": [
{
"embedding": [
- 21
+ 3
],
- "index": 3,
- "object": "oyfxaoangnehu"
+ "index": 15,
+ "object": "xuppwipfglvlykmpxkvf"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 16,
- "prompt_tokens": 18,
- "total_tokens": 15
+ "input_tokens": 14,
+ "prompt_tokens": 19,
+ "total_tokens": 9
},
- "object": "kkwiicznbj",
- "model": "lyojlkvvapvymd"
+ "object": "ff",
+ "model": "stjiawdlzl"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
index 7d4be700a0d6..27faa1cc5cd4 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "pqumsrbfxq"
+ "valclauxppvqrgdtykxizlmmhteo"
]
}
},
"responses": {
"200": {
"body": {
- "id": "sjpxwu",
+ "id": "bn",
"data": [
{
"embedding": [
- 21
+ 3
],
- "index": 3,
- "object": "oyfxaoangnehu"
+ "index": 15,
+ "object": "xuppwipfglvlykmpxkvf"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 16,
- "prompt_tokens": 18,
- "total_tokens": 15
+ "input_tokens": 14,
+ "prompt_tokens": 19,
+ "total_tokens": 9
},
- "object": "kkwiicznbj",
- "model": "lyojlkvvapvymd"
+ "object": "ff",
+ "model": "stjiawdlzl"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
index 667aae7bc22c..5988c3f1e6b4 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MaximumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "xsgza",
- "model_name": "ubqwngwiluncsjoudcrmohisjfavn"
+ "model_provider": "cvtoxkgb",
+ "model_name": "eblflvqrlwamgadqsl"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
index 2f10a102e0dc..e5fe84f6593d 100644
--- a/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-04-01-preview/GetModelInfo_MinimumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "xsgza",
- "model_name": "ubqwngwiluncsjoudcrmohisjfavn"
+ "model_provider": "cvtoxkgb",
+ "model_name": "eblflvqrlwamgadqsl"
}
}
}
diff --git a/specification/ai/ModelClient/chat/chat_completions.tsp b/specification/ai/ModelClient/models/chat_completions.tsp
similarity index 100%
rename from specification/ai/ModelClient/chat/chat_completions.tsp
rename to specification/ai/ModelClient/models/chat_completions.tsp
diff --git a/specification/ai/ModelClient/common/common.tsp b/specification/ai/ModelClient/models/common.tsp
similarity index 100%
rename from specification/ai/ModelClient/common/common.tsp
rename to specification/ai/ModelClient/models/common.tsp
diff --git a/specification/ai/ModelClient/embeddings/embeddings.tsp b/specification/ai/ModelClient/models/embeddings.tsp
similarity index 100%
rename from specification/ai/ModelClient/embeddings/embeddings.tsp
rename to specification/ai/ModelClient/models/embeddings.tsp
diff --git a/specification/ai/ModelClient/image/image_generation.tsp b/specification/ai/ModelClient/models/image_generation.tsp
similarity index 100%
rename from specification/ai/ModelClient/image/image_generation.tsp
rename to specification/ai/ModelClient/models/image_generation.tsp
diff --git a/specification/ai/ModelClient/routes.tsp b/specification/ai/ModelClient/routes.tsp
index 981c0f8dfe31..0eaad761d391 100644
--- a/specification/ai/ModelClient/routes.tsp
+++ b/specification/ai/ModelClient/routes.tsp
@@ -3,10 +3,10 @@ import "@typespec/rest";
import "@typespec/http";
import "@typespec/versioning";
-import "./common/common.tsp";
-import "./chat/chat_completions.tsp";
-import "./embeddings/embeddings.tsp";
-import "./image/image_generation.tsp";
+import "./models/common.tsp";
+import "./models/chat_completions.tsp";
+import "./models/image_generation.tsp";
+import "./models/embeddings.tsp";
using TypeSpec.Rest;
using TypeSpec.Http;
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json
index 63fa46e3e4a4..5e82daa152f6 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MaximumSet_Gen.json
@@ -3,28 +3,28 @@
"operationId": "GenerateImages",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "pxmcfsjcxfzcvyyewxkqnsqpf",
+ "azureml-model-deployment": "ksleredmpxxh",
"body": {
"extras": {
- "key321": "jwfslhuxb"
+ "key1229": "yvmhauqrswyvfg"
},
- "prompt": "cjyxrtpwacngidhuqlzuv",
- "size": "bbrlybbmjwluntrylmwtt",
+ "prompt": "rjwzvwaukiavqeqnyuifvxftbinpbh",
+ "size": "agjbhdpgwhcofiixq",
"quality": "standard",
"response_format": "url",
- "seed": 7
+ "seed": 27
}
},
"responses": {
"200": {
"body": {
- "id": "muckxbcmxcwjqrmxq",
- "created": 30,
- "model": "cgoewbpodd",
+ "id": "c",
+ "created": 28,
+ "model": "tybattpnvyhhusahurlfdaawt",
"data": [
{
"url": "https://microsoft.com/a",
- "b64_json": "xhfksftpjmfquluclpcgrkb"
+ "b64_json": "awjfdxadcurpzmapofopn"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json
index 8fb3e087f579..ebd88ef57ea5 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GenerateImages_MinimumSet_Gen.json
@@ -4,16 +4,16 @@
"parameters": {
"api-version": "2024-04-01-preview",
"body": {
- "prompt": "cz",
- "size": "qbipakgkikdhclywm"
+ "prompt": "rzosjkuhxnykplq",
+ "size": "wkbw"
}
},
"responses": {
"200": {
"body": {
- "id": "muckxbcmxcwjqrmxq",
- "created": 30,
- "model": "cgoewbpodd",
+ "id": "c",
+ "created": 28,
+ "model": "tybattpnvyhhusahurlfdaawt",
"data": [
{}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index 8c4596838cd0..b0899b98e068 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -3,57 +3,57 @@
"operationId": "GetChatCompletions",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "duedshvpgwqtfwblxrjmfqub",
+ "azureml-model-deployment": "muwjnj",
"body": {
"extras": {
- "key7873": "qio"
+ "key6826": "niltykdjbwfkbnujcfypzffhtpx"
},
"messages": [
{
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -2,
- "presence_penalty": -2,
+ "frequency_penalty": -1,
+ "presence_penalty": 1,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
"response_format": "text",
"stop": [
- "ypudkhkwozhaefan"
+ "jntnucydlgvohzozgjq"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 8
+ "seed": 7
}
},
"responses": {
"200": {
"body": {
- "id": "g",
- "object": "rwddsayntqhjhmmvnlbmialid",
- "created": 7,
- "model": "l",
+ "id": "ssz",
+ "object": "ikerfo",
+ "created": 8,
+ "model": "x",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 24,
- "prompt_tokens": 30,
- "total_tokens": 27
+ "completion_tokens": 7,
+ "prompt_tokens": 6,
+ "total_tokens": 11
},
"choices": [
{
- "index": 18,
+ "index": 16,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "tbjiwxsdnpvkhymgxtux",
+ "content": "nuqiefesdnlfhwo",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "wlkamr"
+ "id": "pbccsrumrhb"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 7e896b2eb842..31158d4ae449 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,23 +14,23 @@
"responses": {
"200": {
"body": {
- "id": "g",
- "object": "rwddsayntqhjhmmvnlbmialid",
- "created": 7,
- "model": "l",
+ "id": "ssz",
+ "object": "ikerfo",
+ "created": 8,
+ "model": "x",
"usage": {
"capacity_type": "usage",
- "completion_tokens": 24,
- "prompt_tokens": 30,
- "total_tokens": 27
+ "completion_tokens": 7,
+ "prompt_tokens": 6,
+ "total_tokens": 11
},
"choices": [
{
- "index": 18,
+ "index": 16,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "tbjiwxsdnpvkhymgxtux"
+ "content": "nuqiefesdnlfhwo"
}
}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index 3b92c1cbde55..dab618953f78 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -3,13 +3,13 @@
"operationId": "GetEmbeddings",
"parameters": {
"api-version": "2024-04-01-preview",
- "azureml-model-deployment": "un",
+ "azureml-model-deployment": "ymunuuwoddcrfydwmzpgntuuqxwk",
"body": {
"extras": {
- "key6027": "fqmhzpczqlhotdmwfzfwaiuqldptzn"
+ "key8593": "b"
},
"input": [
- "wzsxcsxmnsqosvcpblqkatcvhmibk"
+ "ysmhrgaavdoufdlkrccu"
],
"input_type": "text"
}
@@ -17,24 +17,24 @@
"responses": {
"200": {
"body": {
- "id": "gnsdnxipztsgfur",
+ "id": "bn",
"data": [
{
"embedding": [
- 25
+ 3
],
- "index": 8,
- "object": "aubkfghzjnywzqrwphvqqjee"
+ "index": 15,
+ "object": "xuppwipfglvlykmpxkvf"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 28,
- "prompt_tokens": 10,
+ "input_tokens": 14,
+ "prompt_tokens": 19,
"total_tokens": 9
},
- "object": "nxullznlgjegnduap",
- "model": "vb"
+ "object": "ff",
+ "model": "stjiawdlzl"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index d079288ba431..27faa1cc5cd4 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,31 +5,31 @@
"api-version": "2024-04-01-preview",
"body": {
"input": [
- "aagjoqwxc"
+ "valclauxppvqrgdtykxizlmmhteo"
]
}
},
"responses": {
"200": {
"body": {
- "id": "gnsdnxipztsgfur",
+ "id": "bn",
"data": [
{
"embedding": [
- 25
+ 3
],
- "index": 8,
- "object": "aubkfghzjnywzqrwphvqqjee"
+ "index": 15,
+ "object": "xuppwipfglvlykmpxkvf"
}
],
"usage": {
"capacity_type": "usage",
- "input_tokens": 28,
- "prompt_tokens": 10,
+ "input_tokens": 14,
+ "prompt_tokens": 19,
"total_tokens": 9
},
- "object": "nxullznlgjegnduap",
- "model": "vb"
+ "object": "ff",
+ "model": "stjiawdlzl"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
index edfc6382e478..5988c3f1e6b4 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "jopdezqephtlduqodmsyglq",
- "model_name": "neeuviflfymkfczaauqgsffd"
+ "model_provider": "cvtoxkgb",
+ "model_name": "eblflvqrlwamgadqsl"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
index d2467414c5a7..e5fe84f6593d 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
@@ -8,8 +8,8 @@
"200": {
"body": {
"model_type": "embeddings",
- "model_provider": "jopdezqephtlduqodmsyglq",
- "model_name": "neeuviflfymkfczaauqgsffd"
+ "model_provider": "cvtoxkgb",
+ "model_name": "eblflvqrlwamgadqsl"
}
}
}
From 5f6a8a4fa74662a0814774a54f3118c601857e0a Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 6 May 2024 15:09:51 -0700
Subject: [PATCH 061/343] Fix typo
---
specification/ai/ModelClient/models/embeddings.tsp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/specification/ai/ModelClient/models/embeddings.tsp b/specification/ai/ModelClient/models/embeddings.tsp
index 46481717b941..f536f7840408 100644
--- a/specification/ai/ModelClient/models/embeddings.tsp
+++ b/specification/ai/ModelClient/models/embeddings.tsp
@@ -75,7 +75,7 @@ model EmbeddingsUsage {
input_tokens: int32;
@doc("""
- Number of tokens used for the prompt sent to the AI model. Typically identical to`input_tokens`.
+ Number of tokens used for the prompt sent to the AI model. Typically identical to `input_tokens`.
However, certain AI models may add extra tokens to the input hence the number can be higher.
(for example when input_type="query").
""")
From bb3d704e0c28cfc61ec003f043df332c154f5146 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 6 May 2024 16:02:36 -0700
Subject: [PATCH 062/343] Fix openapi.json
---
.../ModelClient/preview/2024-04-01-preview/openapi.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
index c6c115043c24..6c10dda45d2e 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-04-01-preview/openapi.json
@@ -1018,7 +1018,7 @@
"prompt_tokens": {
"type": "integer",
"format": "int32",
- "description": "Number of tokens used for the prompt sent to the AI model. Typically identical to`input_tokens`.\nHowever, certain AI models may add extra tokens to the input hence the number can be higher.\n(for example when input_type=\"query\")."
+ "description": "Number of tokens used for the prompt sent to the AI model. Typically identical to `input_tokens`.\nHowever, certain AI models may add extra tokens to the input hence the number can be higher.\n(for example when input_type=\"query\")."
},
"total_tokens": {
"type": "integer",
From 85197a8ac03b83614b7265c1d7d087af267a91fd Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 6 May 2024 17:12:24 -0700
Subject: [PATCH 063/343] Suppress IntegerTypeMustHaveFormat
---
specification/ai/data-plane/ModelClient/readme.md | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/specification/ai/data-plane/ModelClient/readme.md b/specification/ai/data-plane/ModelClient/readme.md
index 8b0733d3bf71..8b8973b22e9f 100644
--- a/specification/ai/data-plane/ModelClient/readme.md
+++ b/specification/ai/data-plane/ModelClient/readme.md
@@ -37,6 +37,16 @@ These settings apply only when `--tag=package-2024-04-01-preview` is specified o
input-file:
- preview/2024-04-01-preview/openapi.json
```
+
+## Suppression
+
+``` yaml
+directive:
+ - suppress: IntegerTypeMustHaveFormat
+ from: openapi.json
+ reason: We are using the format "unixtime" which is not supported by linter at the moment.
+```
+
\r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiOperationTag.json
new file mode 100644
index 000000000000..066bacf9a0fc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiOperationTag.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "operationId": "59d6bb8f1f7fab13dc67ec9a",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiPolicy.json
new file mode 100644
index 000000000000..231e577f53bc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiPolicy.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "5600b59475ff190048040001",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b59475ff190048040001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n@{\r\n\tRandom Random = new Random();\r\n\t\t\t\tconst string Chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \"; \r\n return string.Join(\",\", DateTime.UtcNow, new string(\r\n Enumerable.Repeat(Chars, Random.Next(2150400))\r\n .Select(s => s[Random.Next(s.Length)])\r\n .ToArray()));\r\n } \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiRelease.json
new file mode 100644
index 000000000000..42e80bbf5131
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiRelease.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "a1",
+ "releaseId": "5a7cb545298324c53224a799"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/5a7cb545298324c53224a799",
+ "type": "Microsoft.ApiManagement/service/apis/releases",
+ "name": "5a7cb545298324c53224a799",
+ "properties": {
+ "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "createdDateTime": "2018-02-08T20:38:29.173Z",
+ "updatedDateTime": "2018-02-08T20:38:29.173Z",
+ "notes": "yahoo"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiRevision.json
new file mode 100644
index 000000000000..aaac0d655a04
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiRevision.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "echo-api;rev=3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=3",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echo-api;rev=3",
+ "properties": {
+ "displayName": "Service",
+ "apiRevision": "3",
+ "serviceUrl": "https://api.plexonline.com/DataSource/Service.asmx",
+ "path": "schulte",
+ "protocols": [
+ "https"
+ ],
+ "authenticationSettings": {
+ "oAuth2": {
+ "authorizationServerId": "authorizationServerId2283",
+ "scope": "oauth2scope2580"
+ },
+ "oAuth2AuthenticationSettings": [
+ {
+ "authorizationServerId": "authorizationServerId2283",
+ "scope": "oauth2scope2580"
+ },
+ {
+ "authorizationServerId": "authorizationServerId2284",
+ "scope": "oauth2scope2581"
+ }
+ ]
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "apiRevisionDescription": "fixed bug in contract"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiSchema.json
new file mode 100644
index 000000000000..48846cfacaba
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiSchema.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "schemaId": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/schemas/ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "type": "Microsoft.ApiManagement/service/apis/schemas",
+ "name": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "properties": {
+ "contentType": "application/vnd.ms-azure-apim.xsd+xml",
+ "document": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiTag.json
new file mode 100644
index 000000000000..3ebc6b9f08f5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiTag.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiTagDescription.json
new file mode 100644
index 000000000000..18f9839115a8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiTagDescription.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "tagDescriptionId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/tagDescriptions/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/apis/tagDescriptions",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "tagId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9",
+ "displayName": "tag1",
+ "description": null,
+ "externalDocsDescription": "some additional info",
+ "externalDocsUrl": "http://some_url.com"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiVersionSet.json
new file mode 100644
index 000000000000..bec4cb30047b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiVersionSet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "versionSetId": "vs1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/vs1",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "vs1",
+ "properties": {
+ "displayName": "Version Set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiWiki.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiWiki.json
new file mode 100644
index 000000000000..47306235837c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetApiWiki.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/wikis/default",
+ "type": "Microsoft.ApiManagement/service/apis/wikis",
+ "name": "default",
+ "properties": {
+ "documents": [
+ {
+ "documentationId": "docId1"
+ },
+ {
+ "documentationId": "docId2"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetAuthorization.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetAuthorization.json
new file mode 100644
index 000000000000..c9f3dcf188d8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetAuthorization.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "authorizationProviderId": "aadwithauthcode",
+ "authorizationId": "authz1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithauthcode/authorizations/authz1",
+ "type": "Microsoft.ApiManagement/service/authorizationProviders/authorizations",
+ "name": "authz1",
+ "properties": {
+ "authorizationType": "OAuth2",
+ "oauth2grantType": "AuthorizationCode",
+ "status": "Connected"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetAuthorizationAccessPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetAuthorizationAccessPolicy.json
new file mode 100644
index 000000000000..830e8a3d349b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetAuthorizationAccessPolicy.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "authorizationProviderId": "aadwithauthcode",
+ "authorizationId": "authz1",
+ "authorizationAccessPolicyId": "fe0bed83-631f-4149-bd0b-0464b1bc7cab"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithauthcode/authorizations/authz1/accessPolicies",
+ "type": "Microsoft.ApiManagement/service/authorizationProviders/authorizations/accessPolicies",
+ "name": "fe0bed83-631f-4149-bd0b-0464b1bc7cab",
+ "properties": {
+ "appIds": [
+ "d5f04bb0-ba78-4878-a43e-35a0b74fe315"
+ ],
+ "tenantId": "13932a0d-5c63-4d37-901d-1df9c97722ff",
+ "objectId": "fe0bed83-631f-4149-bd0b-0464b1bc7cab"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetAuthorizationLoginRequest.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetAuthorizationLoginRequest.json
new file mode 100644
index 000000000000..71aab04d8668
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetAuthorizationLoginRequest.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "authorizationProviderId": "aadwithauthcode",
+ "authorizationId": "authz1",
+ "parameters": {
+ "postLoginRedirectUrl": "https://www.bing.com/"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "loginLink": "https://authorization-manager.consent.azure-apim.net/redirect/apim/apimService1/login?data=eyJMb2dpbklkIjoiY2YtODNmYzQ5N2YyZWYxNDA4MzlmNDdjZDU3YWY3MmZmODctYW5nYW50aS1wcmV2aWV3X2FhZC1hdXRoY29kZV9vYXV0aDItY29kZV90b2tlbiIsIlNlc3Npb25JZCI6IiIsIkxvZ0Nvbm5lY3Rpb25JZCI6ImF1dGh6MiIsIkxvZ0Nvbm5lY3RvcklkIjoiYWFkLWF1dGhjb2RlIiwiTG9nRW52aXJvbm1lbnRJZCI6ImFuZ2FudGktcHJld"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetAuthorizationProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetAuthorizationProvider.json
new file mode 100644
index 000000000000..4848c41e70ce
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetAuthorizationProvider.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "authorizationProviderId": "aadwithauthcode"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithauthcode",
+ "type": "Microsoft.ApiManagement/service/authorizationProviders",
+ "name": "aadwithauthcode",
+ "properties": {
+ "displayName": "aadwithauthcode",
+ "identityProvider": "aad",
+ "oauth2": {
+ "redirectUrl": "https://authorization-manager.consent.azure-apim.net/redirect/apim/apimService1",
+ "grantTypes": {
+ "authorizationCode": {
+ "clientId": "53790825-fdd3-4b80-bc7a-4c3aaf25801d",
+ "scopes": "User.Read.All Group.Read.All",
+ "loginUri": "https://login.windows.net",
+ "resourceUri": "https://graph.microsoft.com",
+ "tenantId": "common"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetAuthorizationServer.json
new file mode 100644
index 000000000000..bfc481adb31c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetAuthorizationServer.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "authsid": "newauthServer2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer2",
+ "type": "Microsoft.ApiManagement/service/authorizationServers",
+ "name": "newauthServer2",
+ "properties": {
+ "displayName": "test3",
+ "useInTestConsole": false,
+ "useInApiDocumentation": true,
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "clientAuthenticationMethod": [
+ "Basic"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetBackend.json
new file mode 100644
index 000000000000..eb1f97c1b23f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetBackend.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "backendId": "sfbackend"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/sfbackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "sfbackend",
+ "properties": {
+ "description": "Service Fabric Test App 1",
+ "url": "fabric:/mytestapp/mytestservice",
+ "protocol": "http",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificateId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1",
+ "serverX509Names": [
+ {
+ "name": "ServerCommonName1",
+ "issuerCertificateThumbprint": "IssuerCertificateThumbprint1"
+ }
+ ],
+ "maxPartitionResolutionRetries": 5
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetCache.json
new file mode 100644
index 000000000000..2d6e41e63c19
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetCache.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "cacheId": "c1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/c1",
+ "type": "Microsoft.ApiManagement/service/caches",
+ "name": "c1",
+ "properties": {
+ "useFromLocation": "default",
+ "description": "Redis cache instances in West India",
+ "connectionString": "{{5f7fbca77a891a2200f3db38}}",
+ "resourceId": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetCertificate.json
new file mode 100644
index 000000000000..1d90cf8fecb5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetCertificate.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "certificateId": "templateCert1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCert1",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "templateCert1",
+ "properties": {
+ "subject": "CN=mutual-authcert",
+ "thumbprint": "EBA**********************8594A6",
+ "expirationDate": "2017-04-23T17:03:41Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetCertificateWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetCertificateWithKeyVault.json
new file mode 100644
index 000000000000..ef67ddb8bdad
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetCertificateWithKeyVault.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "certificateId": "templateCertkv"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "templateCertkv",
+ "properties": {
+ "subject": "CN=*.msitesting.net",
+ "thumbprint": "EA**********************9AD690",
+ "expirationDate": "2037-01-01T07:00:00Z",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-22T00:24:53.3191468Z"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetContentType.json
new file mode 100644
index 000000000000..6140bb9ead43
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetContentType.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "contentTypeId": "page"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/contentTypes/page",
+ "type": "Microsoft.ApiManagement/service/contentTypes",
+ "name": "page",
+ "properties": {
+ "name": "Page",
+ "description": "A regular page",
+ "schema": {
+ "properties": {
+ "en_us": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "Title",
+ "description": "Page title. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "description": {
+ "title": "Description",
+ "description": "Page description. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "keywords": {
+ "title": "Keywords",
+ "description": "Page keywords. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "permalink": {
+ "title": "Permalink",
+ "description": "Page permalink, e.g. '/about'.",
+ "type": "string",
+ "indexed": true
+ },
+ "documentId": {
+ "title": "Document ID",
+ "description": "Reference to page content document.",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "title",
+ "permalink",
+ "documentId"
+ ]
+ }
+ },
+ "additionalProperties": false
+ },
+ "version": "1.0.0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetContentTypeContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetContentTypeContentItem.json
new file mode 100644
index 000000000000..1096a810d80e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetContentTypeContentItem.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "contentTypeId": "page",
+ "contentItemId": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "type": "Microsoft.ApiManagement/service/contentTypes/contentItems",
+ "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "properties": {
+ "en_us": {
+ "title": "About",
+ "description": "Short story about the company.",
+ "keywords": "company, about",
+ "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "permalink": "/about"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetDeletedServiceByName.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetDeletedServiceByName.json
new file mode 100644
index 000000000000..338bd9938e55
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetDeletedServiceByName.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService3",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "westus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.ApiManagement/locations/westus/deletedservices/apimService3",
+ "name": "apimService3",
+ "type": "Microsoft.ApiManagement/deletedservices",
+ "location": "West US",
+ "properties": {
+ "serviceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService3",
+ "scheduledPurgeDate": "2017-05-27T15:33:55.5426123Z",
+ "deletionDate": "2017-05-27T15:33:55.5426123Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetDiagnostic.json
new file mode 100644
index 000000000000..17e9c397ad7f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetDiagnostic.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "diagnosticId": "applicationinsights"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ },
+ "frontend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetDocumentation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetDocumentation.json
new file mode 100644
index 000000000000..c948fe608faa
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetDocumentation.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "documentationId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/documentations/57d1f7558aa04f15146d9d8a",
+ "type": "Microsoft.ApiManagement/service/documentations",
+ "name": "57d1f7558aa04f15146d9d8a",
+ "properties": {
+ "title": "Title",
+ "content": "content"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGateway.json
new file mode 100644
index 000000000000..46db91e995db
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGateway.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "gatewayId": "gw1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1",
+ "type": "Microsoft.ApiManagement/service/gateways",
+ "name": "a1",
+ "properties": {
+ "description": "my gateway 1",
+ "locationData": {
+ "name": "my location"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGatewayCertificateAuthority.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGatewayCertificateAuthority.json
new file mode 100644
index 000000000000..e0a045885e00
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGatewayCertificateAuthority.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "gatewayId": "gw1",
+ "certificateId": "cert1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/certificateAuthorities/cert1",
+ "type": "Microsoft.ApiManagement/service/gateways/certificateAuthorities",
+ "name": "cert1",
+ "properties": {
+ "isTrusted": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGatewayConfigConnection.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGatewayConfigConnection.json
new file mode 100644
index 000000000000..5f3dec635217
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGatewayConfigConnection.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "gatewayName": "standard-gw-01",
+ "configConnectionName": "gcc-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/gateways/standard-gw-1/configConnections/gcc-1",
+ "name": "gcc-1",
+ "type": "Microsoft.ApiManagement/gateways/configConnections",
+ "etag": "AAAAAAAWN/4=",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/services/apim-service-1/workspaces/ws-001",
+ "defaultHostname": "gcc-1-amf2h5hpf7gafbeu.standard-gw-1.gateway.eastus.azure-api.net"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGatewayHostnameConfiguration.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGatewayHostnameConfiguration.json
new file mode 100644
index 000000000000..5490fa0081e9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGatewayHostnameConfiguration.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "gatewayId": "gw1",
+ "hcId": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/hostnameConfigurations/default",
+ "type": "Microsoft.ApiManagement/service/gateways/hostnameConfigurations",
+ "name": "default",
+ "properties": {
+ "hostname": "*",
+ "certificateId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1",
+ "negotiateClientCertificate": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGlobalSchema1.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGlobalSchema1.json
new file mode 100644
index 000000000000..40212becc172
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGlobalSchema1.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "schemaId": "schema1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema1",
+ "type": "Microsoft.ApiManagement/service/schemas",
+ "name": "schema1",
+ "properties": {
+ "description": "sample schema description",
+ "schemaType": "xml",
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGlobalSchema2.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGlobalSchema2.json
new file mode 100644
index 000000000000..9df63055f4ab
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGlobalSchema2.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "schemaId": "schema2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema2",
+ "type": "Microsoft.ApiManagement/service/schemas",
+ "name": "schema2",
+ "properties": {
+ "description": "sample schema description",
+ "schemaType": "json",
+ "document": {
+ "$id": "https://example.com/person.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Person",
+ "type": "object",
+ "properties": {
+ "firstName": {
+ "type": "string",
+ "description": "The person's first name."
+ },
+ "lastName": {
+ "type": "string",
+ "description": "The person's last name."
+ },
+ "age": {
+ "description": "Age in years which must be equal to or greater than zero.",
+ "type": "integer",
+ "minimum": 0
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGraphQLApiResolver.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGraphQLApiResolver.json
new file mode 100644
index 000000000000..64b8de6aac0c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGraphQLApiResolver.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "resolverId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/resolvers/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/resolvers",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "displayName": "Query Users",
+ "path": "Query/users",
+ "description": "A GraphQL Resolver example"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGraphQLApiResolverPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGraphQLApiResolverPolicy.json
new file mode 100644
index 000000000000..63d263d5117d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGraphQLApiResolverPolicy.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "5600b539c53f5b0062040001",
+ "resolverId": "5600b53ac53f5b0062080006",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b539c53f5b0062040001/resolvers/5600b53ac53f5b0062080006/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/resolvers/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n GET\r\n\r\n/api/users\r\n\r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGroup.json
new file mode 100644
index 000000000000..81b6a62d753c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetGroup.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "groupId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "AwesomeGroup (samiraad.onmicrosoft.com)",
+ "description": "awesome group of people",
+ "builtIn": false,
+ "type": "external",
+ "externalId": "aad://samiraad.onmicrosoft.com/groups/3773adf4-032e-4d25-9988-eaff9ca72eca"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetIdentityProvider.json
new file mode 100644
index 000000000000..ef225e74b78e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetIdentityProvider.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "identityProviderName": "aadB2C"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/AadB2C",
+ "type": "Microsoft.ApiManagement/service/identityProviders",
+ "name": "AadB2C",
+ "properties": {
+ "clientId": "f02dafe2-b8b8-48ec-a38e-27e5c16c51e5",
+ "type": "aadB2C",
+ "authority": "login.microsoftonline.com",
+ "signinTenant": "contosoaadb2c.onmicrosoft.com",
+ "allowedTenants": [
+ "contosoaadb2c.onmicrosoft.com",
+ "contoso2aadb2c.onmicrosoft.com"
+ ],
+ "signupPolicyName": "B2C_1_policy-signup",
+ "signinPolicyName": "B2C_1_policy-signin"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetIssue.json
new file mode 100644
index 000000000000..4942290a5318
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetIssue.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "issueId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetLogger.json
new file mode 100644
index 000000000000..e85d7752985a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetLogger.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "loggerId": "templateLogger"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/kloudapilogger1",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "kloudapilogger1",
+ "properties": {
+ "loggerType": "azureEventHub",
+ "description": "testeventhub3again",
+ "credentials": {
+ "name": "testeventhub4",
+ "connectionString": "Endpoint=sb://eventhubapim.servicebus.windows.net/;SharedAccessKeyName=Sender;SharedAccessKey=************"
+ },
+ "isBuffered": true,
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.EventHub/namespaces/eventhubapim"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetNamedValue.json
new file mode 100644
index 000000000000..18a63dffd478
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetNamedValue.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "namedValueId": "testarmTemplateproperties2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testarmTemplateproperties2",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "testarmTemplateproperties2",
+ "properties": {
+ "displayName": "propName",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetNamedValueWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetNamedValueWithKeyVault.json
new file mode 100644
index 000000000000..4a9ba5318ca1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetNamedValueWithKeyVault.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "namedValueId": "testprop6"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "testprop6",
+ "properties": {
+ "displayName": "prop6namekv",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "2d2df842-44d8-4885-8dec-77cc1a984a31",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-11T00:54:31.8024882Z"
+ }
+ },
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetNotification.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetNotification.json
new file mode 100644
index 000000000000..5f7a8db3c9c3
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetNotification.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "notificationName": "RequestPublisherNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "RequestPublisherNotificationMessage",
+ "properties": {
+ "title": "Subscription requests (requiring approval)",
+ "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/contoso@live.com",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/foobar!live",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/foobar@live.com"
+ ],
+ "users": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetOpenIdConnectProvider.json
new file mode 100644
index 000000000000..3f9362d7490f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetOpenIdConnectProvider.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "opid": "templateOpenIdConnect2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/openidConnectProviders/templateOpenIdConnect2",
+ "type": "Microsoft.ApiManagement/service/openidconnectproviders",
+ "name": "templateOpenIdConnect2",
+ "properties": {
+ "displayName": "templateoidprovider2",
+ "description": "open id provider template2",
+ "metadataEndpoint": "https://oidprovider-template2.net",
+ "clientId": "oidprovidertemplate2",
+ "useInTestConsole": false,
+ "useInApiDocumentation": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetOperationResult.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetOperationResult.json
new file mode 100644
index 000000000000..73a5971641c7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetOperationResult.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "operationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "location": "westus2"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ApiManagement/locations/westus2/operationResults/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx?api-version=2023-09-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetOperationStatus.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetOperationStatus.json
new file mode 100644
index 000000000000..8b5602cda538
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetOperationStatus.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "operationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "location": "testLocation"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "InProgress"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPolicy.json
new file mode 100644
index 000000000000..47684433be3f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPolicy.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policies/policy",
+ "type": "Microsoft.ApiManagement/service/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPolicyFormat.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPolicyFormat.json
new file mode 100644
index 000000000000..1f55da178ca7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPolicyFormat.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "policyId": "policy",
+ "format": "rawxml"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policies/policy",
+ "type": "Microsoft.ApiManagement/service/policies",
+ "name": "policy",
+ "properties": {
+ "format": "rawxml",
+ "value": "\r\n\r\n\t\r\n\t\t\r\n\t\t\t@{\n var guidBinary = new byte[16];\n Array.Copy(Guid.NewGuid().ToByteArray(), 0, guidBinary, 0, 10);\n long time = DateTime.Now.Ticks;\n byte[] bytes = new byte[6];\n unchecked\n {\n bytes[5] = (byte)(time >> 40);\n bytes[4] = (byte)(time >> 32);\n bytes[3] = (byte)(time >> 24);\n bytes[2] = (byte)(time >> 16);\n bytes[1] = (byte)(time >> 8);\n bytes[0] = (byte)(time);\n }\n Array.Copy(bytes, 0, guidBinary, 10, 6);\n return new Guid(guidBinary).ToString();\n }\n \r\n\t\t\r\n\t\r\n\t\r\n\t\t\r\n\t\r\n\t\r\n\t\r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPolicyFragment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPolicyFragment.json
new file mode 100644
index 000000000000..8543fcfac121
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPolicyFragment.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "id": "policyFragment1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policyFragments/policyFragment1",
+ "type": "Microsoft.ApiManagement/service/policyFragments",
+ "name": "policyFragment1",
+ "properties": {
+ "format": "xml",
+ "description": "A policy fragment example",
+ "value": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPolicyFragmentFormat.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPolicyFragmentFormat.json
new file mode 100644
index 000000000000..17b4e49aa007
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPolicyFragmentFormat.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "id": "policyFragment1",
+ "format": "rawxml"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policyFragments/policyFragment1",
+ "type": "Microsoft.ApiManagement/service/policyFragments",
+ "name": "policyFragment1",
+ "properties": {
+ "format": "rawxml",
+ "description": "A policy fragment example",
+ "value": "\r\n\t\t\t@{\n var guidBinary = new byte[16];\n Array.Copy(Guid.NewGuid().ToByteArray(), 0, guidBinary, 0, 10);\n long time = DateTime.Now.Ticks;\n byte[] bytes = new byte[6];\n unchecked\n {\n bytes[5] = (byte)(time >> 40);\n bytes[4] = (byte)(time >> 32);\n bytes[3] = (byte)(time >> 24);\n bytes[2] = (byte)(time >> 16);\n bytes[1] = (byte)(time >> 8);\n bytes[0] = (byte)(time);\n }\n Array.Copy(bytes, 0, guidBinary, 10, 6);\n return new Guid(guidBinary).ToString();\n }\n \r\n\t\t"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPolicyRestriction.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPolicyRestriction.json
new file mode 100644
index 000000000000..938225e138e8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPolicyRestriction.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "policyRestrictionId": "policyRestriction1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policyRestrictions/policyRestriction1",
+ "type": "Microsoft.ApiManagement/service/policyRestrictions",
+ "name": "policyRestriction1",
+ "properties": {
+ "scope": "Sample Path to the policy document.",
+ "requireBase": "true"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPortalRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPortalRevision.json
new file mode 100644
index 000000000000..18e314d74e14
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPortalRevision.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "portalRevisionId": "20201112101010"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112101010",
+ "type": "Microsoft.ApiManagement/service/portalRevisions",
+ "name": "20201112101010",
+ "properties": {
+ "description": "portal revision 1",
+ "statusDetails": null,
+ "status": "completed",
+ "isCurrent": true,
+ "createdDateTime": "2020-11-12T22:51:36.47Z",
+ "updatedDateTime": "2020-11-12T22:52:00.097Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPrivateEndpointConnection.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPrivateEndpointConnection.json
new file mode 100644
index 000000000000..6723a957d4a6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPrivateEndpointConnection.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "privateEndpointConnectionName": "privateEndpointConnectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateEndpointConnections/privateEndpointConnectionName",
+ "type": "Microsoft.ApiManagement/service/privateEndpointConnections",
+ "name": "privateEndpointProxyName",
+ "properties": {
+ "provisioningState": "Pending",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/privateEndpointName"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request, thanks",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPrivateLinkGroupResource.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPrivateLinkGroupResource.json
new file mode 100644
index 000000000000..46850aaabeca
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetPrivateLinkGroupResource.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "privateLinkSubResourceName": "privateLinkSubResourceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateLinkResources/Gateway",
+ "name": "Gateway",
+ "type": "Microsoft.ApiManagement/service/privateLinkResources",
+ "properties": {
+ "groupId": "Gateway",
+ "requiredMembers": [
+ "Gateway"
+ ],
+ "requiredZoneNames": [
+ "privateLink.azure-api.net"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetProduct.json
new file mode 100644
index 000000000000..6209a155bff1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetProduct.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "unlimited"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/unlimited",
+ "type": "Microsoft.ApiManagement/service/products",
+ "name": "unlimited",
+ "properties": {
+ "displayName": "Unlimited",
+ "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.",
+ "subscriptionRequired": true,
+ "approvalRequired": true,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetProductApiLink.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetProductApiLink.json
new file mode 100644
index 000000000000..5f18ccf67704
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetProductApiLink.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "testproduct",
+ "apiLinkId": "link1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/testproduct/apiLinks/link1",
+ "type": "Microsoft.ApiManagement/service/products/apiLinks",
+ "name": "link1",
+ "properties": {
+ "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetProductGroupLink.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetProductGroupLink.json
new file mode 100644
index 000000000000..9b891be98a91
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetProductGroupLink.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "testproduct",
+ "groupLinkId": "link1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/testproduct/groupLinks/link1",
+ "type": "Microsoft.ApiManagement/service/products/groupLinks",
+ "name": "link1",
+ "properties": {
+ "groupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/group1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetProductPolicy.json
new file mode 100644
index 000000000000..ae20c0dd95c1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetProductPolicy.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "kjoshiarmTemplateProduct4",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/kjoshiarmTemplateProduct4/policies/policy",
+ "type": "Microsoft.ApiManagement/service/products/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetProductTag.json
new file mode 100644
index 000000000000..194e05406a1d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetProductTag.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "59d6bb8f1f7fab13dc67ec9b",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetProductWiki.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetProductWiki.json
new file mode 100644
index 000000000000..efe7d2a9efd4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetProductWiki.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/57d1f7558aa04f15146d9d8a/wikis/default",
+ "type": "Microsoft.ApiManagement/service/products/wikis",
+ "name": "default",
+ "properties": {
+ "documents": [
+ {
+ "documentationId": "docId1"
+ },
+ {
+ "documentationId": "docId2"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetQuotaCounterKeys.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetQuotaCounterKeys.json
new file mode 100644
index 000000000000..afbac20a311e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetQuotaCounterKeys.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "quotaCounterKey": "ba"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "counterKey": "ba",
+ "periodKey": "0_P3Y6M4DT12H30M5S",
+ "periodStartTime": "2014-08-04T04:24:35Z",
+ "periodEndTime": "2018-02-08T16:54:40Z",
+ "value": {
+ "callsCount": 5,
+ "kbTransferred": 2.5830078125
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetQuotaCounterKeysByQuotaPeriod.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetQuotaCounterKeysByQuotaPeriod.json
new file mode 100644
index 000000000000..0fb607af8fac
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetQuotaCounterKeysByQuotaPeriod.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "quotaCounterKey": "ba",
+ "quotaPeriodKey": "0_P3Y6M4DT12H30M5S"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "counterKey": "ba",
+ "periodKey": "0_P3Y6M4DT12H30M5S",
+ "periodStartTime": "2014-08-04T04:24:35Z",
+ "periodEndTime": "2018-02-08T16:54:40Z",
+ "value": {
+ "callsCount": 0,
+ "kbTransferred": 2.5625
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByApi.json
new file mode 100644
index 000000000000..fdce8e383d6b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByApi.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Echo API",
+ "apiId": "/apis/5600b59475ff190048040001",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ },
+ {
+ "name": "httpbin",
+ "apiId": "/apis/57a03a13e4bbd5119c8b19e9",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByGeo.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByGeo.json
new file mode 100644
index 000000000000..34d9b8183401
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByGeo.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "country": "US",
+ "region": "WA",
+ "zip": "98052",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByOperation.json
new file mode 100644
index 000000000000..3063ebfb2484
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByOperation.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "get",
+ "apiId": "/apis/57a03a13e4bbd5119c8b19e9",
+ "operationId": "/apis/57a03a13e4bbd5119c8b19e9/operations/57a03a1dd8d14f0a780d7d14",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ },
+ {
+ "name": "GetWeatherInformation",
+ "apiId": "/apis/57c999d1e4bbd50c988cb2c3",
+ "operationId": "/apis/57c999d1e4bbd50c988cb2c3/operations/57c999d1e4bbd50df889c93e",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ },
+ {
+ "name": "GetCityForecastByZIP",
+ "apiId": "/apis/57c999d1e4bbd50c988cb2c3",
+ "operationId": "/apis/57c999d1e4bbd50c988cb2c3/operations/57c999d1e4bbd50df889c93f",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByProduct.json
new file mode 100644
index 000000000000..ba0854f61dd0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByProduct.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Starter",
+ "productId": "/products/5600b59475ff190048060001",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ },
+ {
+ "name": "Unlimited",
+ "productId": "/products/5600b59475ff190048060002",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByRequest.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByRequest.json
new file mode 100644
index 000000000000..47f3c514f7f4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByRequest.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "apiId": "/apis/5931a75ae4bbd512a88c680b",
+ "operationId": "/apis/5931a75ae4bbd512a88c680b/operations/-",
+ "productId": "/products/-",
+ "userId": "/users/1",
+ "method": "GET",
+ "url": "https://apimService1.azure-api.net/echo/resource?param1=sample",
+ "ipAddress": "207.xx.155.xx",
+ "responseCode": 404,
+ "responseSize": 405,
+ "timestamp": "2017-06-03T00:17:00.1649134Z",
+ "cache": "none",
+ "apiTime": 221.1544,
+ "serviceTime": 0.0,
+ "apiRegion": "East Asia",
+ "subscriptionId": "/subscriptions/5600b59475ff190048070002",
+ "requestId": "63e7119c-26aa-433c-96d7-f6f3267ff52f",
+ "requestSize": 0
+ },
+ {
+ "apiId": "/apis/5931a75ae4bbd512a88c680b",
+ "operationId": "/apis/5931a75ae4bbd512a88c680b/operations/-",
+ "productId": "/products/-",
+ "userId": "/users/1",
+ "method": "POST",
+ "url": "https://apimService1.azure-api.net/echo/resource",
+ "ipAddress": "207.xx.155.xx",
+ "responseCode": 404,
+ "responseSize": 403,
+ "timestamp": "2017-06-03T00:17:20.5255131Z",
+ "cache": "none",
+ "apiTime": 6.6754000000000007,
+ "serviceTime": 0.0,
+ "apiRegion": "East Asia",
+ "subscriptionId": "/subscriptions/5600b59475ff190048070002",
+ "requestId": "e581b7f7-c9ec-4fc6-8ab9-3855d9b00b04",
+ "requestSize": 0
+ }
+ ],
+ "count": 2
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsBySubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsBySubscription.json
new file mode 100644
index 000000000000..ee253698eca7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsBySubscription.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "",
+ "userId": "/users/1",
+ "productId": "/products/5600b59475ff190048060001",
+ "subscriptionId": "/subscriptions/5600b59475ff190048070001",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ },
+ {
+ "name": "",
+ "userId": "/users/1",
+ "productId": "/products/5600b59475ff190048060002",
+ "subscriptionId": "/subscriptions/5600b59475ff190048070002",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ },
+ {
+ "name": "",
+ "userId": "/users/1",
+ "productId": "/products/5702e97e5157a50f48dce801",
+ "subscriptionId": "/subscriptions/5702e97e5157a50a9c733303",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByTime.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByTime.json
new file mode 100644
index 000000000000..c6b7f3967f9a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByTime.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'",
+ "interval": "PT15M"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timestamp": "2017-06-03T00:15:00Z",
+ "interval": "PT15M",
+ "callCountSuccess": 4,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 4,
+ "bandwidth": 3243,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1337.46335,
+ "apiTimeMin": 885.0839000000001,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 1255.917425,
+ "serviceTimeMin": 882.8264,
+ "serviceTimeMax": 1697.3612
+ },
+ {
+ "timestamp": "2017-06-03T00:30:00Z",
+ "interval": "PT15M",
+ "callCountSuccess": 9,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 10,
+ "bandwidth": 7776,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 872.7818777777778,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1093.8407,
+ "serviceTimeAvg": 824.2847111111112,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 973.2262000000001
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByUser.json
new file mode 100644
index 000000000000..fb685c5fc7de
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetReportsByUser.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Administrator",
+ "userId": "/users/1",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ },
+ {
+ "name": "Samir Solanki",
+ "userId": "/users/56eaec62baf08b06e46d27fd",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ },
+ {
+ "name": "Anonymous",
+ "userId": "/users/54c800b332965a0035030000",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetSubscription.json
new file mode 100644
index 000000000000..bac62817ea72
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetSubscription.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "sid": "5931a769d8d14f0ad8ce13b8"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/5931a769d8d14f0ad8ce13b8",
+ "type": "Microsoft.ApiManagement/service/subscriptions",
+ "name": "5931a769d8d14f0ad8ce13b8",
+ "properties": {
+ "ownerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
+ "displayName": "Unlimited",
+ "state": "submitted",
+ "createdDate": "2017-06-02T17:59:06.223Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTag.json
new file mode 100644
index 000000000000..9172f41f4626
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTag.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTagApiLink.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTagApiLink.json
new file mode 100644
index 000000000000..11542720819a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTagApiLink.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "tagId": "tag1",
+ "apiLinkId": "link1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tag1/apiLinks/link1",
+ "type": "Microsoft.ApiManagement/service/tags/apiLinks",
+ "name": "link1",
+ "properties": {
+ "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTagOperationLink.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTagOperationLink.json
new file mode 100644
index 000000000000..bb46ad66a0d8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTagOperationLink.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "tagId": "tag1",
+ "operationLinkId": "link1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tag1/operationLinks/link1",
+ "type": "Microsoft.ApiManagement/service/tags/operationLinks",
+ "name": "link1",
+ "properties": {
+ "operationId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api/operations/op1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTagProductLink.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTagProductLink.json
new file mode 100644
index 000000000000..a59f4589c29d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTagProductLink.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "tagId": "tag1",
+ "productLinkId": "link1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tag1/productLinks/link1",
+ "type": "Microsoft.ApiManagement/service/tags/productLinks",
+ "name": "link1",
+ "properties": {
+ "productId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/product1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTemplate.json
new file mode 100644
index 000000000000..bcd129ab1045
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTemplate.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "templateName": "newIssueNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/templates/NewIssueNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/templates",
+ "name": "NewIssueNotificationMessage",
+ "properties": {
+ "subject": "Your request $IssueName was received",
+ "body": "\r\n\r\n \r\n \r\n Dear $DevFirstName $DevLastName,
\r\n Thank you for contacting us. Our API team will review your issue and get back to you soon.
\r\n \r\n Click this link to view or edit your request.\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n",
+ "title": "New issue received",
+ "description": "This email is sent to developers after they create a new topic on the Issues page of the developer portal.",
+ "isDefault": true,
+ "parameters": [
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "IssueId",
+ "title": "Issue id"
+ },
+ {
+ "name": "IssueName",
+ "title": "Issue name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTenantAccess.json
new file mode 100644
index 000000000000..2d8a4414baac
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTenantAccess.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "accessName": "access"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/access",
+ "type": "Microsoft.ApiManagement/service/tenant",
+ "name": "access",
+ "properties": {
+ "enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTenantGitAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTenantGitAccess.json
new file mode 100644
index 000000000000..6278c8128414
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTenantGitAccess.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "accessName": "gitAccess"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/gitAccess",
+ "type": "Microsoft.ApiManagement/service/tenant",
+ "name": "gitAccess",
+ "properties": {
+ "principalId": "git",
+ "enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTenantSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTenantSettings.json
new file mode 100644
index 000000000000..4f804758ee3b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetTenantSettings.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "settingsType": "public"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/settings/public",
+ "type": "Microsoft.ApiManagement/service/settings",
+ "name": "public",
+ "properties": {
+ "settings": {
+ "CustomPortalSettings.UserRegistrationTerms": null,
+ "CustomPortalSettings.UserRegistrationTermsEnabled": "False",
+ "CustomPortalSettings.UserRegistrationTermsConsentRequired": "False",
+ "CustomPortalSettings.DelegationEnabled": "False",
+ "CustomPortalSettings.DelegationUrl": "",
+ "CustomPortalSettings.DelegatedSubscriptionEnabled": "False"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetUser.json
new file mode 100644
index 000000000000..b35410f2643f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetUser.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "userId": "5931a75ae4bbd512a88c680b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "type": "Microsoft.ApiManagement/service/users",
+ "name": "5931a75ae4bbd512a88c680b",
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foobar@outlook.com",
+ "state": "active",
+ "registrationDate": "2017-06-02T17:58:50.357Z",
+ "identities": [
+ {
+ "provider": "Microsoft",
+ "id": "*************"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetUserSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetUserSubscription.json
new file mode 100644
index 000000000000..c0650cd31f50
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetUserSubscription.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "userId": "1",
+ "sid": "5fa9b096f3df14003c070001"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1/subscriptions/5fa9b096f3df14003c070001",
+ "type": "Microsoft.ApiManagement/service/users/subscriptions",
+ "name": "5fa9b096f3df14003c070001",
+ "properties": {
+ "ownerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/starter",
+ "state": "active",
+ "createdDate": "2020-11-09T21:11:50.58Z",
+ "allowTracing": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspace.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspace.json
new file mode 100644
index 000000000000..4d49008a6a32
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspace.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1",
+ "type": "Microsoft.ApiManagement/service/workspaces",
+ "name": "wks1",
+ "properties": {
+ "description": "workspace 1",
+ "displayName": "my workspace"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiContract.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiContract.json
new file mode 100644
index 000000000000..782904aab04b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiContract.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/57d1f7558aa04f15146d9d8a",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis",
+ "name": "57d1f7558aa04f15146d9d8a",
+ "properties": {
+ "displayName": "Service",
+ "apiRevision": "1",
+ "serviceUrl": "https://api.plexonline.com/DataSource/Service.asmx",
+ "path": "schulte",
+ "protocols": [
+ "https"
+ ],
+ "authenticationSettings": {
+ "oAuth2": {
+ "authorizationServerId": "authorizationServerId2283",
+ "scope": "oauth2scope2580"
+ },
+ "oAuth2AuthenticationSettings": [
+ {
+ "authorizationServerId": "authorizationServerId2283",
+ "scope": "oauth2scope2580"
+ },
+ {
+ "authorizationServerId": "authorizationServerId2284",
+ "scope": "oauth2scope2581"
+ }
+ ]
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "type": "soap",
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiDiagnostic.json
new file mode 100644
index 000000000000..41aea63eb128
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiDiagnostic.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "diagnosticId": "applicationinsights",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/echo-api/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ },
+ "frontend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiExportInOpenApi2dot0.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiExportInOpenApi2dot0.json
new file mode 100644
index 000000000000..575c37733a5c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiExportInOpenApi2dot0.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "echo-api",
+ "format": "swagger-link",
+ "export": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/echo-api",
+ "format": "swagger-link-json",
+ "value": {
+ "link": "https://apimgmtstkjpszxxxxxxx.blob.core.windows.net/api-export/Swagger Petstore Extensive.json?storage-sas-signature"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiExportInOpenApi3dot0.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiExportInOpenApi3dot0.json
new file mode 100644
index 000000000000..a73390644290
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiExportInOpenApi3dot0.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "aid9676",
+ "format": "openapi-link",
+ "export": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/aid9676",
+ "format": "openapi-link",
+ "value": {
+ "link": "https: //apimgmtstkjpszxxxxxxx.blob.core.windows.net/api-export/Swagger Petstore.yaml?storage-sas-signature"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiOperation.json
new file mode 100644
index 000000000000..2056885e1478
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiOperation.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "operationId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "displayName": "CancelOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/CancelOrder",
+ "templateParameters": [],
+ "request": {
+ "description": "IFazioService_CancelOrder_InputMessage",
+ "queryParameters": [],
+ "headers": [],
+ "representations": [
+ {
+ "contentType": "text/xml",
+ "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8",
+ "typeName": "CancelOrder"
+ }
+ ]
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "IFazioService_CancelOrder_OutputMessage",
+ "representations": [
+ {
+ "contentType": "text/xml",
+ "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8",
+ "typeName": "CancelOrderResponse"
+ }
+ ],
+ "headers": []
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiOperationPolicy.json
new file mode 100644
index 000000000000..3b28d5699e52
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiOperationPolicy.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "5600b539c53f5b0062040001",
+ "operationId": "5600b53ac53f5b0062080006",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/5600b539c53f5b0062040001/operations/5600b53ac53f5b0062080006/policies/policy",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis/operations/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n This is a sample\r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiPolicy.json
new file mode 100644
index 000000000000..ce8ad469a3a1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiPolicy.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "5600b59475ff190048040001",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/5600b59475ff190048040001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n@{\r\n\tRandom Random = new Random();\r\n\t\t\t\tconst string Chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \"; \r\n return string.Join(\",\", DateTime.UtcNow, new string(\r\n Enumerable.Repeat(Chars, Random.Next(2150400))\r\n .Select(s => s[Random.Next(s.Length)])\r\n .ToArray()));\r\n } \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiRelease.json
new file mode 100644
index 000000000000..fcaf0e8d6691
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiRelease.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "a1",
+ "releaseId": "5a7cb545298324c53224a799"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/a1/releases/5a7cb545298324c53224a799",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis/releases",
+ "name": "5a7cb545298324c53224a799",
+ "properties": {
+ "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/a1",
+ "createdDateTime": "2018-02-08T20:38:29.173Z",
+ "updatedDateTime": "2018-02-08T20:38:29.173Z",
+ "notes": "yahoo"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiRevision.json
new file mode 100644
index 000000000000..037f00577977
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiRevision.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "echo-api;rev=3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/echo-api;rev=3",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis",
+ "name": "echo-api;rev=3",
+ "properties": {
+ "displayName": "Service",
+ "apiRevision": "3",
+ "serviceUrl": "https://api.plexonline.com/DataSource/Service.asmx",
+ "path": "schulte",
+ "protocols": [
+ "https"
+ ],
+ "authenticationSettings": {
+ "oAuth2": {
+ "authorizationServerId": "authorizationServerId2283",
+ "scope": "oauth2scope2580"
+ },
+ "oAuth2AuthenticationSettings": [
+ {
+ "authorizationServerId": "authorizationServerId2283",
+ "scope": "oauth2scope2580"
+ },
+ {
+ "authorizationServerId": "authorizationServerId2284",
+ "scope": "oauth2scope2581"
+ }
+ ]
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "apiRevisionDescription": "fixed bug in contract"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiSchema.json
new file mode 100644
index 000000000000..9994dbae98f1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiSchema.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "schemaId": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/59d6bb8f1f7fab13dc67ec9b/schemas/ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis/schemas",
+ "name": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "properties": {
+ "contentType": "application/vnd.ms-azure-apim.xsd+xml",
+ "document": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiVersionSet.json
new file mode 100644
index 000000000000..931181a80ede
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiVersionSet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "versionSetId": "vs1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apiVersionSets/vs1",
+ "type": "Microsoft.ApiManagement/service/workspaces/api-version-sets",
+ "name": "vs1",
+ "properties": {
+ "displayName": "Version Set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceBackend.json
new file mode 100644
index 000000000000..564ee4993edc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceBackend.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "backendId": "sfbackend"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/backends/sfbackend",
+ "type": "Microsoft.ApiManagement/service/workspaces/backends",
+ "name": "sfbackend",
+ "properties": {
+ "description": "Service Fabric Test App 1",
+ "url": "fabric:/mytestapp/mytestservice",
+ "protocol": "http",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificateId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/certificates/cert1",
+ "serverX509Names": [
+ {
+ "name": "ServerCommonName1",
+ "issuerCertificateThumbprint": "IssuerCertificateThumbprint1"
+ }
+ ],
+ "maxPartitionResolutionRetries": 5
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceCertificate.json
new file mode 100644
index 000000000000..00de9bdc400e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceCertificate.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "certificateId": "templateCert1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service//workspaces/wks1/certificates/templateCert1",
+ "type": "Microsoft.ApiManagement/service/workspaces/certificates",
+ "name": "templateCert1",
+ "properties": {
+ "subject": "CN=mutual-authcert",
+ "thumbprint": "EBA**********************8594A6",
+ "expirationDate": "2017-04-23T17:03:41Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceCertificateWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceCertificateWithKeyVault.json
new file mode 100644
index 000000000000..056c8b7def8c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceCertificateWithKeyVault.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "certificateId": "templateCertkv"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/certificates/templateCertkv",
+ "type": "Microsoft.ApiManagement/service/workspaces/certificates",
+ "name": "templateCertkv",
+ "properties": {
+ "subject": "CN=*.msitesting.net",
+ "thumbprint": "EA**********************9AD690",
+ "expirationDate": "2037-01-01T07:00:00Z",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-22T00:24:53.3191468Z"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceDiagnostic.json
new file mode 100644
index 000000000000..d1b17d3d84fa
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceDiagnostic.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "diagnosticId": "applicationinsights"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/workspaces/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ },
+ "frontend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceGroup.json
new file mode 100644
index 000000000000..7c012bffa9f5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceGroup.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "groupId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/groups/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/workspaces/groups",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "AwesomeGroup (samiraad.onmicrosoft.com)",
+ "description": "awesome group of people",
+ "builtIn": false,
+ "type": "external",
+ "externalId": "aad://samiraad.onmicrosoft.com/groups/3773adf4-032e-4d25-9988-eaff9ca72eca"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceLink.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceLink.json
new file mode 100644
index 000000000000..9ef621681ade
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceLink.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "serviceName": "service1",
+ "workspaceId": "wk-1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/service-1/workspaceLinks/wk-1",
+ "name": "wk-1",
+ "type": "Microsoft.ApiManagement/service/workspaceLinks",
+ "etag": "AAAAAAAWN/4=",
+ "properties": {
+ "workspaceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/services/service-1/workspaces/wk-1",
+ "gateways": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/gateways/gateway-1"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceLogger.json
new file mode 100644
index 000000000000..ebd9b1a53269
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceLogger.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "loggerId": "templateLogger"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/kloudapilogger1",
+ "type": "Microsoft.ApiManagement/service/workspaces/loggers",
+ "name": "kloudapilogger1",
+ "properties": {
+ "loggerType": "azureEventHub",
+ "description": "testeventhub3again",
+ "credentials": {
+ "name": "testeventhub4",
+ "connectionString": "Endpoint=sb://eventhubapim.servicebus.windows.net/;SharedAccessKeyName=Sender;SharedAccessKey=************"
+ },
+ "isBuffered": true,
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.EventHub/namespaces/eventhubapim"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceNamedValue.json
new file mode 100644
index 000000000000..67383123bfd4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceNamedValue.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "namedValueId": "testarmTemplateproperties2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/namedValues/testarmTemplateproperties2",
+ "type": "Microsoft.ApiManagement/service/workspaces/namedValues",
+ "name": "testarmTemplateproperties2",
+ "properties": {
+ "displayName": "propName",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceNamedValueWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceNamedValueWithKeyVault.json
new file mode 100644
index 000000000000..2cabe800634b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceNamedValueWithKeyVault.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "namedValueId": "testprop6"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/namedValues/testarmTemplateproperties2",
+ "type": "Microsoft.ApiManagement/service/workspaces/namedValues",
+ "name": "testprop6",
+ "properties": {
+ "displayName": "prop6namekv",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "2d2df842-44d8-4885-8dec-77cc1a984a31",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-11T00:54:31.8024882Z"
+ }
+ },
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceNotification.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceNotification.json
new file mode 100644
index 000000000000..c6c76b23e0d9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceNotification.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "notificationName": "RequestPublisherNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/notifications/RequestPublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/workspaces/notifications",
+ "name": "RequestPublisherNotificationMessage",
+ "properties": {
+ "title": "Subscription requests (requiring approval)",
+ "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar!live",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com"
+ ],
+ "users": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspacePolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspacePolicy.json
new file mode 100644
index 000000000000..703be3318f8c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspacePolicy.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/policies/policy",
+ "type": "Microsoft.ApiManagement/service/workspaces/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n@{\r\n\tRandom Random = new Random();\r\n\t\t\t\tconst string Chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \"; \r\n return string.Join(\",\", DateTime.UtcNow, new string(\r\n Enumerable.Repeat(Chars, Random.Next(2150400))\r\n .Select(s => s[Random.Next(s.Length)])\r\n .ToArray()));\r\n } \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspacePolicyFragment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspacePolicyFragment.json
new file mode 100644
index 000000000000..7b746e885409
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspacePolicyFragment.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "id": "policyFragment1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/policyFragments/policyFragment1",
+ "type": "Microsoft.ApiManagement/service/workspaces/policyFragments",
+ "name": "policyFragment1",
+ "properties": {
+ "format": "xml",
+ "description": "A policy fragment example",
+ "value": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspacePolicyFragmentFormat.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspacePolicyFragmentFormat.json
new file mode 100644
index 000000000000..df7fa483eb94
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspacePolicyFragmentFormat.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "id": "policyFragment1",
+ "format": "rawxml"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/policyFragments/policyFragment1",
+ "type": "Microsoft.ApiManagement/service/workspaces/policyFragments",
+ "name": "policyFragment1",
+ "properties": {
+ "format": "rawxml",
+ "description": "A policy fragment example",
+ "value": "\r\n\t\t\t@{\n var guidBinary = new byte[16];\n Array.Copy(Guid.NewGuid().ToByteArray(), 0, guidBinary, 0, 10);\n long time = DateTime.Now.Ticks;\n byte[] bytes = new byte[6];\n unchecked\n {\n bytes[5] = (byte)(time >> 40);\n bytes[4] = (byte)(time >> 32);\n bytes[3] = (byte)(time >> 24);\n bytes[2] = (byte)(time >> 16);\n bytes[1] = (byte)(time >> 8);\n bytes[0] = (byte)(time);\n }\n Array.Copy(bytes, 0, guidBinary, 10, 6);\n return new Guid(guidBinary).ToString();\n }\n \r\n\t\t"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceProduct.json
new file mode 100644
index 000000000000..1186d3d158d2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceProduct.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "productId": "unlimited"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/products/unlimited",
+ "type": "Microsoft.ApiManagement/service/workspaces/products",
+ "name": "unlimited",
+ "properties": {
+ "displayName": "Unlimited",
+ "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.",
+ "subscriptionRequired": true,
+ "approvalRequired": true,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceProductApiLink.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceProductApiLink.json
new file mode 100644
index 000000000000..25028a49fca9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceProductApiLink.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "productId": "testproduct",
+ "apiLinkId": "link1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/products/testproduct/apiLinks/link1",
+ "type": "Microsoft.ApiManagement/service/workspaces/products/apiLinks",
+ "name": "link1",
+ "properties": {
+ "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/echo-api"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceProductGroupLink.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceProductGroupLink.json
new file mode 100644
index 000000000000..0602fd3421f6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceProductGroupLink.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "productId": "testproduct",
+ "groupLinkId": "link1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/products/testproduct/groupLinks/link1",
+ "type": "Microsoft.ApiManagement/service/workspaces/products/groupLinks",
+ "name": "link1",
+ "properties": {
+ "groupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/groups/group1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceProductPolicy.json
new file mode 100644
index 000000000000..650d54d36b4e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceProductPolicy.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "productId": "kjoshiarmTemplateProduct4",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/products/kjoshiarmTemplateProduct4/policies/policy",
+ "type": "Microsoft.ApiManagement/service/workspaces/products/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceSchema.json
new file mode 100644
index 000000000000..b34493db4424
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceSchema.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "schemaId": "schema1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/schemas/schema1",
+ "type": "Microsoft.ApiManagement/service/workspaces/schemas",
+ "name": "schema1",
+ "properties": {
+ "description": "sample schema description",
+ "schemaType": "xml",
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceSubscription.json
new file mode 100644
index 000000000000..58a825e46bae
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceSubscription.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "sid": "5931a769d8d14f0ad8ce13b8"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/subscriptions/5931a769d8d14f0ad8ce13b8",
+ "type": "Microsoft.ApiManagement/service/workspaces/subscriptions",
+ "name": "5931a769d8d14f0ad8ce13b8",
+ "properties": {
+ "ownerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/products/5600b59475ff190048060002",
+ "displayName": "Unlimited",
+ "state": "submitted",
+ "createdDate": "2017-06-02T17:59:06.223Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceTag.json
new file mode 100644
index 000000000000..214afd3db5cd
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceTag.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/tags/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/workspaces/tags",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceTagApiLink.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceTagApiLink.json
new file mode 100644
index 000000000000..81e812b59fb1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceTagApiLink.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "tagId": "tag1",
+ "apiLinkId": "link1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/tags/tag1/apiLinks/link1",
+ "type": "Microsoft.ApiManagement/service/workspaces/tags/apiLinks",
+ "name": "link1",
+ "properties": {
+ "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/echo-api"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceTagOperationLink.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceTagOperationLink.json
new file mode 100644
index 000000000000..74ff83e942aa
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceTagOperationLink.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "tagId": "tag1",
+ "operationLinkId": "link1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/tags/tag1/operationLinks/link1",
+ "type": "Microsoft.ApiManagement/service/workspaces/tags/operationLinks",
+ "name": "link1",
+ "properties": {
+ "operationId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/echo-api/operations/op1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceTagProductLink.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceTagProductLink.json
new file mode 100644
index 000000000000..516607f1216b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceTagProductLink.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "tagId": "tag1",
+ "productLinkId": "link1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/tags/tag1/productLinks/link1",
+ "type": "Microsoft.ApiManagement/service/workspaces/tags/productLinks",
+ "name": "link1",
+ "properties": {
+ "productId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/products/product1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApi.json
new file mode 100644
index 000000000000..aee6920166bf
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApi.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiDiagnostic.json
new file mode 100644
index 000000000000..01b84c54c0e4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiDiagnostic.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "diagnosticId": "applicationinsights",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiIssue.json
new file mode 100644
index 000000000000..c02309e2f67e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiIssue.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "issueId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiIssueAttachment.json
new file mode 100644
index 000000000000..abc287c40392
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiIssueAttachment.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "attachmentId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiIssueComment.json
new file mode 100644
index 000000000000..30eac8248fee
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiIssueComment.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "commentId": "599e29ab193c3c0bd0b3e2fb"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiOperation.json
new file mode 100644
index 000000000000..cad7e0f66928
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiOperation.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "operationId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiOperationPolicy.json
new file mode 100644
index 000000000000..72ec517131d8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiOperationPolicy.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "5600b539c53f5b0062040001",
+ "operationId": "5600b53ac53f5b0062080006",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiOperationTag.json
new file mode 100644
index 000000000000..d4c4d4e80cd3
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiOperationTag.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "operationId": "59d6bb8f1f7fab13dc67ec9a",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiPolicy.json
new file mode 100644
index 000000000000..a0fbfcb50d1e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiPolicy.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiRelease.json
new file mode 100644
index 000000000000..5e3fd94fe74c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiRelease.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "a1",
+ "releaseId": "5a7cb545298324c53224a799"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiSchema.json
new file mode 100644
index 000000000000..711786d3d85a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiSchema.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "schemaId": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiTag.json
new file mode 100644
index 000000000000..103a59bd5fbe
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiTag.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiTagDescription.json
new file mode 100644
index 000000000000..314eac2023fc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiTagDescription.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "tagDescriptionId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiVersionSet.json
new file mode 100644
index 000000000000..cbccd20ab40a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiVersionSet.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "versionSetId": "vs1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiWiki.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiWiki.json
new file mode 100644
index 000000000000..aee6920166bf
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadApiWiki.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadAuthorizationServer.json
new file mode 100644
index 000000000000..7b7beed33c33
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadAuthorizationServer.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "authsid": "newauthServer2"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadBackend.json
new file mode 100644
index 000000000000..4cf9d5477cfd
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadBackend.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "backendId": "sfbackend"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadCache.json
new file mode 100644
index 000000000000..2edd49a72a08
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadCache.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "cacheId": "default"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadCertificate.json
new file mode 100644
index 000000000000..1777e133a2a6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadCertificate.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "certificateId": "templateCert1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadContentTypeContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadContentTypeContentItem.json
new file mode 100644
index 000000000000..a6465971f6e6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadContentTypeContentItem.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "contentTypeId": "page",
+ "contentItemId": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadDelegationSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadDelegationSettings.json
new file mode 100644
index 000000000000..b497f1fc5989
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadDelegationSettings.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadDiagnostic.json
new file mode 100644
index 000000000000..7ccd4658ce35
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadDiagnostic.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "diagnosticId": "applicationinsights"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadDocumentation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadDocumentation.json
new file mode 100644
index 000000000000..3c778b49487b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadDocumentation.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "documentationId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadEmailTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadEmailTemplate.json
new file mode 100644
index 000000000000..d2a58341ca39
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadEmailTemplate.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "templateName": "newIssueNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGateway.json
new file mode 100644
index 000000000000..037ba8b65269
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGateway.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "gatewayId": "mygateway"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGatewayApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGatewayApi.json
new file mode 100644
index 000000000000..0baa62e44292
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGatewayApi.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "gatewayId": "gw1",
+ "apiId": "api1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGatewayCertificateAuthority.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGatewayCertificateAuthority.json
new file mode 100644
index 000000000000..eea609567e97
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGatewayCertificateAuthority.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "gatewayId": "gw1",
+ "certificateId": "cert1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGatewayHostnameConfiguration.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGatewayHostnameConfiguration.json
new file mode 100644
index 000000000000..e2a2c9c62074
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGatewayHostnameConfiguration.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "gatewayId": "gw1",
+ "hcId": "default"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGlobalSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGlobalSchema.json
new file mode 100644
index 000000000000..3207c5ef0476
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGlobalSchema.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "schemaId": "myschema"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGraphQLApiResolver.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGraphQLApiResolver.json
new file mode 100644
index 000000000000..822b62b206b7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGraphQLApiResolver.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "resolverId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGraphQLApiResolverPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGraphQLApiResolverPolicy.json
new file mode 100644
index 000000000000..39ac729fc2b8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGraphQLApiResolverPolicy.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "5600b539c53f5b0062040001",
+ "resolverId": "5600b53ac53f5b0062080006",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGroup.json
new file mode 100644
index 000000000000..34a06b18232d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGroup.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "groupId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGroupUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGroupUser.json
new file mode 100644
index 000000000000..3c7a136d1a41
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadGroupUser.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "groupId": "59306a29e4bbd510dc24e5f9",
+ "userId": "5931a75ae4bbd512a88c680b"
+ },
+ "responses": {
+ "204": {},
+ "404": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadIdentityProvider.json
new file mode 100644
index 000000000000..3681c20a2533
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadIdentityProvider.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "identityProviderName": "aadB2C"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadLogger.json
new file mode 100644
index 000000000000..95d04210a3c0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadLogger.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "loggerId": "templateLogger"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadNamedValue.json
new file mode 100644
index 000000000000..54d4de9862b2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadNamedValue.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "namedValueId": "testarmTemplateproperties2"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadNotificationRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadNotificationRecipientEmail.json
new file mode 100644
index 000000000000..d567a2989f56
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadNotificationRecipientEmail.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "email": "contoso@live.com"
+ },
+ "responses": {
+ "204": {},
+ "404": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadNotificationRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadNotificationRecipientUser.json
new file mode 100644
index 000000000000..0408b150b597
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadNotificationRecipientUser.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "userId": "576823d0a40f7e74ec07d642"
+ },
+ "responses": {
+ "204": {},
+ "404": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadOpenIdConnectProvider.json
new file mode 100644
index 000000000000..1a47a466efe2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadOpenIdConnectProvider.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "opid": "templateOpenIdConnect2"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadPolicy.json
new file mode 100644
index 000000000000..9c9de61a3dac
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadPolicy.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadPolicyFragment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadPolicyFragment.json
new file mode 100644
index 000000000000..f952d0b5034d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadPolicyFragment.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "id": "policyFragment1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadPolicyRestriction.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadPolicyRestriction.json
new file mode 100644
index 000000000000..80bf4096328c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadPolicyRestriction.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "policyRestrictionId": "policyRestriction1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadPortalConfig.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadPortalConfig.json
new file mode 100644
index 000000000000..689b4a8c65cb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadPortalConfig.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "portalConfigId": "default"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadPortalRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadPortalRevision.json
new file mode 100644
index 000000000000..1a63e6f5aaee
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadPortalRevision.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "portalRevisionId": "20201112101010"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadProduct.json
new file mode 100644
index 000000000000..f0c461588680
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadProduct.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "unlimited"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadProductApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadProductApi.json
new file mode 100644
index 000000000000..5e932b10793a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadProductApi.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "5931a75ae4bbd512a88c680b",
+ "apiId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadProductGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadProductGroup.json
new file mode 100644
index 000000000000..3f50ca884192
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadProductGroup.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "5931a75ae4bbd512a88c680b",
+ "groupId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadProductPolicy.json
new file mode 100644
index 000000000000..3eb8ddedc00c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadProductPolicy.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "unlimited",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadProductTag.json
new file mode 100644
index 000000000000..205d92ea181b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadProductTag.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "59306a29e4bbd510dc24e5f8",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadProductWiki.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadProductWiki.json
new file mode 100644
index 000000000000..4e1b57f24583
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadProductWiki.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadSignInSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadSignInSettings.json
new file mode 100644
index 000000000000..b497f1fc5989
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadSignInSettings.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadSignUpSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadSignUpSettings.json
new file mode 100644
index 000000000000..b497f1fc5989
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadSignUpSettings.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadSubscription.json
new file mode 100644
index 000000000000..c9666ec3e8d1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadSubscription.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "sid": "5931a769d8d14f0ad8ce13b8"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadTag.json
new file mode 100644
index 000000000000..b92c25dd4015
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadTag.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadTenantAccess.json
new file mode 100644
index 000000000000..360500074853
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadTenantAccess.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "accessName": "access"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadUser.json
new file mode 100644
index 000000000000..b8bd3426f273
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadUser.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "userId": "5931a75ae4bbd512a88c680b"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspace.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspace.json
new file mode 100644
index 000000000000..4f9188ed49ce
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspace.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApi.json
new file mode 100644
index 000000000000..f258e84ccbb7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApi.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiDiagnostic.json
new file mode 100644
index 000000000000..43df72b77a6c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiDiagnostic.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "diagnosticId": "applicationinsights",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiOperation.json
new file mode 100644
index 000000000000..c37365ae6d29
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiOperation.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "operationId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiOperationPolicy.json
new file mode 100644
index 000000000000..3af44c6da500
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiOperationPolicy.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "5600b539c53f5b0062040001",
+ "operationId": "5600b53ac53f5b0062080006",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiPolicy.json
new file mode 100644
index 000000000000..1c546dec46f9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiPolicy.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiRelease.json
new file mode 100644
index 000000000000..2f5ba7a88bb1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiRelease.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "a1",
+ "releaseId": "5a7cb545298324c53224a799"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiSchema.json
new file mode 100644
index 000000000000..57731be0932b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiSchema.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "schemaId": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiVersionSet.json
new file mode 100644
index 000000000000..9e4f11ed710a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiVersionSet.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "versionSetId": "vs1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceBackend.json
new file mode 100644
index 000000000000..430fd4145b7b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceBackend.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "backendId": "sfbackend"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceCertificate.json
new file mode 100644
index 000000000000..16f8ed04fb28
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceCertificate.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "certificateId": "templateCert1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceDiagnostic.json
new file mode 100644
index 000000000000..1fb7e7c4f550
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceDiagnostic.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "diagnosticId": "applicationinsights"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceGroup.json
new file mode 100644
index 000000000000..658c27af1996
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceGroup.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "groupId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceGroupUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceGroupUser.json
new file mode 100644
index 000000000000..b33f38eac20d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceGroupUser.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "groupId": "59306a29e4bbd510dc24e5f9",
+ "userId": "5931a75ae4bbd512a88c680b"
+ },
+ "responses": {
+ "204": {},
+ "404": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceLogger.json
new file mode 100644
index 000000000000..a5ae84bf0a9c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceLogger.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "loggerId": "templateLogger"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceNamedValue.json
new file mode 100644
index 000000000000..6dc35c7948d7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceNamedValue.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "namedValueId": "testarmTemplateproperties2"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceNotificationRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceNotificationRecipientEmail.json
new file mode 100644
index 000000000000..450e74bc93f1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceNotificationRecipientEmail.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "email": "contoso@live.com"
+ },
+ "responses": {
+ "204": {},
+ "404": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceNotificationRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceNotificationRecipientUser.json
new file mode 100644
index 000000000000..db6b6bde9668
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceNotificationRecipientUser.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "userId": "576823d0a40f7e74ec07d642"
+ },
+ "responses": {
+ "204": {},
+ "404": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspacePolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspacePolicy.json
new file mode 100644
index 000000000000..98b474c84099
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspacePolicy.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspacePolicyFragment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspacePolicyFragment.json
new file mode 100644
index 000000000000..87ce7b42ce48
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspacePolicyFragment.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "id": "policyFragment1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceProduct.json
new file mode 100644
index 000000000000..1324401ebcac
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceProduct.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "productId": "unlimited"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceProductPolicy.json
new file mode 100644
index 000000000000..9174fca64fd4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceProductPolicy.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "productId": "unlimited",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceSchema.json
new file mode 100644
index 000000000000..6e789f847176
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceSchema.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "schemaId": "myschema"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceSubscription.json
new file mode 100644
index 000000000000..e71e15eba752
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceSubscription.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "sid": "5931a769d8d14f0ad8ce13b8"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceTag.json
new file mode 100644
index 000000000000..d2f79c86c3f8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceTag.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementIdentityProviderListSecrets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementIdentityProviderListSecrets.json
new file mode 100644
index 000000000000..faf1448a42ba
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementIdentityProviderListSecrets.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "identityProviderName": "aadB2C"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "clientSecret": "XXXXXXX"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiDiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiDiagnostics.json
new file mode 100644
index 000000000000..6c7bbd04be0b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiDiagnostics.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "echo-api"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/apis/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ },
+ "frontend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ }
+ }
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiIssueAttachments.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiIssueAttachments.json
new file mode 100644
index 000000000000..1b974e9d87e2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiIssueAttachments.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "issueId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/attachments/57d2ef278aa04f0888cba3f3",
+ "type": "Microsoft.ApiManagement/service/apis/issues/attachments",
+ "name": "57d2ef278aa04f0888cba3f3",
+ "properties": {
+ "title": "Issue attachment.",
+ "contentFormat": "link",
+ "content": "https://.../image.jpg"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiIssueComments.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiIssueComments.json
new file mode 100644
index 000000000000..ba53022afd6b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiIssueComments.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "issueId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/comments/599e29ab193c3c0bd0b3e2fb",
+ "type": "Microsoft.ApiManagement/service/apis/issues/comments",
+ "name": "599e29ab193c3c0bd0b3e2fb",
+ "properties": {
+ "text": "Issue comment.",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "userId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiIssues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiIssues.json
new file mode 100644
index 000000000000..b0695206ab24
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiIssues.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiOperationPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiOperationPolicies.json
new file mode 100644
index 000000000000..d1221d733823
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiOperationPolicies.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "599e2953193c3c0bd0b3e2fa",
+ "operationId": "599e29ab193c3c0bd0b3e2fb"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/599e2953193c3c0bd0b3e2fa/operations/599e29ab193c3c0bd0b3e2fb/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/operations/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n \r\n \r\n \r\n xxx\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiOperationTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiOperationTags.json
new file mode 100644
index 000000000000..23afd6ac701f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiOperationTags.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "operationId": "57d2ef278aa04f0888cba3f6"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b539c53f5b0062060002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b539c53f5b0062060002",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiOperations.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiOperations.json
new file mode 100644
index 000000000000..25dd8f49cf22
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiOperations.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "operationId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "displayName": "CancelOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/CancelOrder"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cda",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cda",
+ "properties": {
+ "displayName": "GetMostRecentOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/GetMostRecentOrder"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cd9",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cd9",
+ "properties": {
+ "displayName": "GetOpenOrders",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/GetOpenOrders"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdb",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cdb",
+ "properties": {
+ "displayName": "GetOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/GetOrder"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cd8",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cd8",
+ "properties": {
+ "displayName": "submitOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/submitOrder"
+ }
+ }
+ ],
+ "count": 5,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiOperationsByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiOperationsByTags.json
new file mode 100644
index 000000000000..9c763c194f47
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiOperationsByTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "a1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "tag": {
+ "id": "/tags/apitag123",
+ "name": "awesomeTag"
+ },
+ "operation": {
+ "id": "/apis/echo-api/operations/create-resource",
+ "apiName": "Echo API",
+ "apiRevision": "1",
+ "name": "Create resource",
+ "method": "POST",
+ "urlTemplate": "/resource",
+ "description": "A demonstration of a POST call based on the echo backend above. The request body is expected to contain JSON-formatted data (see example below). A policy is used to automatically transform any request sent in JSON directly to XML. In a real-world scenario this could be used to enable modern clients to speak to a legacy backend."
+ }
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiPolicies.json
new file mode 100644
index 000000000000..e5d038cdf6b6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiPolicies.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "5600b59475ff190048040001"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b59475ff190048040001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n@{\r\n\tRandom Random = new Random();\r\n\t\t\t\tconst string Chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \"; \r\n return string.Join(\",\", DateTime.UtcNow, new string(\r\n Enumerable.Repeat(Chars, Random.Next(2150400))\r\n .Select(s => s[Random.Next(s.Length)])\r\n .ToArray()));\r\n } \r\n \r\n \r\n \r\n"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiProducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiProducts.json
new file mode 100644
index 000000000000..3c49675782ab
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiProducts.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b539c53f5b0062060002",
+ "type": "Microsoft.ApiManagement/service/apis/products",
+ "name": "5600b539c53f5b0062060002",
+ "properties": {
+ "displayName": "Unlimited",
+ "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.",
+ "subscriptionRequired": true,
+ "approvalRequired": true,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiReleases.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiReleases.json
new file mode 100644
index 000000000000..9f8f046b33cc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiReleases.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "a1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/5a7cb545298324c53224a799",
+ "type": "Microsoft.ApiManagement/service/apis/releases",
+ "name": "5a7cb545298324c53224a799",
+ "properties": {
+ "createdDateTime": "2018-02-08T20:38:29.173Z",
+ "updatedDateTime": "2018-02-08T20:38:29.173Z",
+ "notes": "yahoo"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiRevisions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiRevisions.json
new file mode 100644
index 000000000000..b31d71c965dc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiRevisions.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1;rev=1",
+ "apiRevision": "1",
+ "createdDateTime": "2018-02-01T22:21:20.467Z",
+ "updatedDateTime": "2018-02-01T22:21:20.467Z",
+ "isOnline": true,
+ "isCurrent": true
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiSchemas.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiSchemas.json
new file mode 100644
index 000000000000..dc414ffbe86f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiSchemas.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "59d5b28d1f7fab116c282650"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d5b28d1f7fab116c282650/schemas/59d5b28e1f7fab116402044e",
+ "type": "Microsoft.ApiManagement/service/apis/schemas",
+ "name": "59d5b28e1f7fab116402044e",
+ "properties": {
+ "contentType": "application/vnd.ms-azure-apim.xsd+xml",
+ "document": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiTagDescriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiTagDescriptions.json
new file mode 100644
index 000000000000..6d6b909697c0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiTagDescriptions.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tagDescriptions/5600b539c53f5b0062060002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b539c53f5b0062060002",
+ "properties": {
+ "tagId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b539c53f5b0062060002",
+ "displayName": "tag1",
+ "externalDocsDescription": "some additional info",
+ "externalDocsUrl": "http://some_url.com"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiTags.json
new file mode 100644
index 000000000000..9e116aa4cec8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiTags.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b539c53f5b0062060002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b539c53f5b0062060002",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiVersionSets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiVersionSets.json
new file mode 100644
index 000000000000..6b41bf357634
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiVersionSets.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/vs1",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "vs1",
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/vs2",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "vs2",
+ "properties": {
+ "displayName": "api set 2",
+ "versioningScheme": "Query",
+ "description": "Version configuration 2"
+ }
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiWikis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiWikis.json
new file mode 100644
index 000000000000..cca1dbff27a2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApiWikis.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/wikis/default",
+ "type": "Microsoft.ApiManagement/service/apis/wikis",
+ "name": "default",
+ "properties": {
+ "documents": [
+ {
+ "documentationId": "docId1"
+ },
+ {
+ "documentationId": "docId2"
+ }
+ ]
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApis.json
new file mode 100644
index 000000000000..cda9f7748f21
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApis.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "a1",
+ "properties": {
+ "displayName": "api1",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "api1",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true,
+ "apiVersionSetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/c48f96c9-1385-4e2d-b410-5ab591ce0fc4"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5a73933b8f27f7cc82a2d533",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "5a73933b8f27f7cc82a2d533",
+ "properties": {
+ "displayName": "api1",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "api1",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true,
+ "apiVersion": "v1",
+ "apiVersionSetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/c48f96c9-1385-4e2d-b410-5ab591ce0fc4"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echo-api",
+ "properties": {
+ "displayName": "Echo API",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5a7390baa5816a110435aee0",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "5a7390baa5816a110435aee0",
+ "properties": {
+ "displayName": "Swagger Petstore Extensive",
+ "apiRevision": "1",
+ "description": "A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification",
+ "serviceUrl": "http://petstore.swagger.wordnik.com/api",
+ "path": "vvv",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true
+ }
+ }
+ ],
+ "count": 4,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApisByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApisByTags.json
new file mode 100644
index 000000000000..1997fcb990e3
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListApisByTags.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "tag": {
+ "id": "/tags/apitag123",
+ "name": "awesomeTag"
+ },
+ "api": {
+ "id": "/apis/echo-api",
+ "name": "Echo API",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo",
+ "isCurrent": true
+ }
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListAuthorizationAccessPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListAuthorizationAccessPolicies.json
new file mode 100644
index 000000000000..a5f48ed211b9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListAuthorizationAccessPolicies.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "authorizationProviderId": "aadwithauthcode",
+ "authorizationId": "authz1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithauthcode/authorizations/authz1/accessPolicies",
+ "type": "Microsoft.ApiManagement/service/authorizationProviders/authorizations/accessPolicies",
+ "name": "fe0bed83-631f-4149-bd0b-0464b1bc7cab",
+ "properties": {
+ "appIds": [
+ "d5f04bb0-ba78-4878-a43e-35a0b74fe315"
+ ],
+ "tenantId": "13932a0d-5c63-4d37-901d-1df9c97722ff",
+ "objectId": "fe0bed83-631f-4149-bd0b-0464b1bc7cab"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithauthcode/authorizations/authz1/accessPolicies",
+ "type": "Microsoft.ApiManagement/service/authorizationProviders/authorizations/accessPolicies",
+ "name": "5585d6cd-2289-42e9-ab9b-3e2e23d74b4a",
+ "properties": {
+ "appIds": [
+ "d5f04bb0-ba78-4878-a43e-35a0b74fe315"
+ ],
+ "tenantId": "13932a0d-5c63-4d37-901d-1df9c97722ff",
+ "objectId": "5585d6cd-2289-42e9-ab9b-3e2e23d74b4a"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListAuthorizationProviders.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListAuthorizationProviders.json
new file mode 100644
index 000000000000..438a1c2ac341
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListAuthorizationProviders.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithauthcode",
+ "type": "Microsoft.ApiManagement/service/authorizationProviders",
+ "name": "aadwithauthcode",
+ "properties": {
+ "displayName": "aadwithauthcode",
+ "identityProvider": "aad",
+ "oauth2": {
+ "redirectUrl": "https://authorization-manager.consent.azure-apim.net/redirect/apim/apimService1",
+ "grantTypes": {
+ "authorizationCode": {
+ "clientId": "53790825-fdd3-4b80-bc7a-4c3aaf25801d",
+ "scopes": "User.Read.All Group.Read.All",
+ "loginUri": "https://login.windows.net",
+ "resourceUri": "https://graph.microsoft.com",
+ "tenantId": "common"
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithclientcred",
+ "type": "Microsoft.ApiManagement/service/authorizationProviders",
+ "name": "aadwithclientcred",
+ "properties": {
+ "displayName": "aadwithclientcred",
+ "identityProvider": "aad",
+ "oauth2": {
+ "redirectUrl": "https://authorization-manager.consent.azure-apim.net/redirect/apim/apimService1",
+ "grantTypes": {
+ "clientCredentials": {
+ "scopes": "User.Read.All Group.Read.All",
+ "loginUri": "https://login.windows.net",
+ "resourceUri": "https://graph.microsoft.com",
+ "tenantId": "common"
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/google",
+ "type": "Microsoft.ApiManagement/service/authorizationProviders",
+ "name": "google",
+ "properties": {
+ "displayName": "google",
+ "identityProvider": "google",
+ "oauth2": {
+ "redirectUrl": "https://authorization-manager.consent.azure-apim.net/redirect/apim/apimService1",
+ "grantTypes": {
+ "authorizationCode": {
+ "clientId": "99999999-xxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com",
+ "scopes": "openid https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email"
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/eventbrite",
+ "type": "Microsoft.ApiManagement/service/authorizationProviders",
+ "name": "eventbrite",
+ "properties": {
+ "displayName": "eventbrite",
+ "identityProvider": "oauth2",
+ "oauth2": {
+ "redirectUrl": "https://authorization-manager.consent.azure-apim.net/redirect/apim/apimService1",
+ "grantTypes": {
+ "authorizationCode": {
+ "clientId": "clientid",
+ "scopes": null,
+ "authorizationUrl": "https://www.eventbrite.com/oauth/authorize",
+ "refreshUrl": "https://www.eventbrite.com/oauth/token",
+ "tokenUrl": "https://www.eventbrite.com/oauth/token"
+ }
+ }
+ }
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListAuthorizationServers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListAuthorizationServers.json
new file mode 100644
index 000000000000..62518dcb8f4f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListAuthorizationServers.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer",
+ "type": "Microsoft.ApiManagement/service/authorizationServers",
+ "name": "newauthServer",
+ "properties": {
+ "displayName": "test2",
+ "useInTestConsole": true,
+ "useInApiDocumentation": false,
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer2",
+ "type": "Microsoft.ApiManagement/service/authorizationServers",
+ "name": "newauthServer2",
+ "properties": {
+ "displayName": "test3",
+ "useInTestConsole": false,
+ "useInApiDocumentation": true,
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "clientAuthenticationMethod": [
+ "Basic"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListAuthorizationsAuthCode.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListAuthorizationsAuthCode.json
new file mode 100644
index 000000000000..75d519c128e3
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListAuthorizationsAuthCode.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "authorizationProviderId": "aadwithauthcode"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithauthcode/authorizations/authz1",
+ "type": "Microsoft.ApiManagement/service/authorizationProviders/authorizations",
+ "name": "authz1",
+ "properties": {
+ "authorizationType": "OAuth2",
+ "oauth2grantType": "AuthorizationCode",
+ "status": "Connected"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithauthcode/authorizations/authz2",
+ "type": "Microsoft.ApiManagement/service/authorizationProviders/authorizations",
+ "name": "authz2",
+ "properties": {
+ "authorizationType": "OAuth2",
+ "oauth2grantType": "AuthorizationCode",
+ "status": "Error",
+ "error": {
+ "code": "Unauthenticated",
+ "message": "This connection is not authenticated."
+ }
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListAuthorizationsClientCred.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListAuthorizationsClientCred.json
new file mode 100644
index 000000000000..642734305248
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListAuthorizationsClientCred.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "authorizationProviderId": "aadwithclientcred"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithclientcred/authorizations/authz1",
+ "type": "Microsoft.ApiManagement/service/authorizationProviders/authorizations",
+ "name": "authz1",
+ "properties": {
+ "authorizationType": "OAuth2",
+ "oauth2grantType": "ClientCredentials",
+ "parameters": {
+ "clientId": "clientsecretid"
+ },
+ "status": "Connected"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithclientcred/authorizations/authz2",
+ "type": "Microsoft.ApiManagement/service/authorizationProviders/authorizations",
+ "name": "authz2",
+ "properties": {
+ "authorizationType": "OAuth2",
+ "oauth2grantType": "ClientCredentials",
+ "parameters": {
+ "clientId": "clientsecretid"
+ },
+ "status": "Error",
+ "error": {
+ "code": "Unauthorized",
+ "message": "Failed to acquire access token for service using client credentials flow: IdentityProvider=aadwithclientcred. Correlation Id=6299d09b-03b7-46ed-b355-0453451d7e49, UTC TimeStamp=5/14/2022 4:53:19 PM, Error: Failed to exchange client credentials for token. Response code=Unauthorized, Details:\r\n{\"error\":\"invalid_client\",\"error_description\":\"AADSTS7000215: Invalid client secret provided. Ensure the secret being sent in the request is the client secret value, not the client secret ID, for a secret added to app 'clientsecretid'.\\r\\nTrace ID: 4a18d3cd-9ad5-4664-b3eb-daaa2f435f00\\r\\nCorrelation ID: dde60c16-35cb-4572-8226-bfb4233af8d7\\r\\nTimestamp: 2022-05-14 16:53:19Z\",\"error_codes\":[7000215],\"timestamp\":\"2022-05-14 16:53:19Z\",\"trace_id\":\"4a18d3cd-9ad5-4664-b3eb-daaa2f435f00\",\"correlation_id\":\"dde60c16-35cb-4572-8226-bfb4233af8d7\",\"error_uri\":\"https://login.windows.net/error?code=7000215\"}"
+ }
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListBackends.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListBackends.json
new file mode 100644
index 000000000000..27ef6e38149e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListBackends.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/proxybackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "proxybackend",
+ "properties": {
+ "description": "description5308",
+ "url": "https://backendname2644/",
+ "protocol": "http",
+ "credentials": {
+ "query": {
+ "sv": [
+ "xx",
+ "bb",
+ "cc"
+ ]
+ },
+ "header": {
+ "x-my-1": [
+ "val1",
+ "val2"
+ ]
+ },
+ "authorization": {
+ "scheme": "Basic",
+ "parameter": "opensesma"
+ }
+ },
+ "proxy": {
+ "url": "http://192.168.1.1:8080",
+ "username": "Contoso\\admin",
+ "password": ""
+ },
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": false
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/sfbackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "sfbackend",
+ "properties": {
+ "description": "Service Fabric Test App 1",
+ "url": "fabric:/mytestapp/mytestservice",
+ "protocol": "http",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificateId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1",
+ "serverX509Names": [
+ {
+ "name": "ServerCommonName1",
+ "issuerCertificateThumbprint": "IssuerCertificateThumbprint1"
+ }
+ ],
+ "maxPartitionResolutionRetries": 5
+ }
+ }
+ }
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListCaches.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListCaches.json
new file mode 100644
index 000000000000..75f48f0ce327
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListCaches.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/c1",
+ "type": "Microsoft.ApiManagement/service/caches",
+ "name": "c1",
+ "properties": {
+ "useFromLocation": "default",
+ "description": "Redis cache instances in West India",
+ "connectionString": "{{5f7fbca77a891a2200f3db38}}",
+ "resourceId": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1"
+ }
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListCertificates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListCertificates.json
new file mode 100644
index 000000000000..63f2a6d7f06e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListCertificates.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/kjoshiarmtemplateCert1",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "templateCert1",
+ "properties": {
+ "subject": "CN=mutual-authcert",
+ "thumbprint": "EBA************************48594A6",
+ "expirationDate": "2017-04-23T17:03:41Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "templateCertkv",
+ "properties": {
+ "subject": "CN=*.msitesting.net",
+ "thumbprint": "EA**********************9AD690",
+ "expirationDate": "2037-01-01T07:00:00Z",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-22T00:24:53.3191468Z"
+ }
+ }
+ }
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListContentTypeContentItems.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListContentTypeContentItems.json
new file mode 100644
index 000000000000..7e5b86d43dba
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListContentTypeContentItems.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "contentTypeId": "page"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "type": "Microsoft.ApiManagement/service/contentTypes/contentItems",
+ "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "properties": {
+ "en_us": {
+ "title": "About",
+ "description": "Short story about the company.",
+ "keywords": "company, about",
+ "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "permalink": "/about"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListContentTypes.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListContentTypes.json
new file mode 100644
index 000000000000..1d6489dc49a5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListContentTypes.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/contentTypes/page",
+ "type": "Microsoft.ApiManagement/service/contentTypes",
+ "name": "page",
+ "properties": {
+ "name": "Page",
+ "description": "A regular page",
+ "schema": {
+ "properties": {
+ "en_us": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "Title",
+ "description": "Page title. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "description": {
+ "title": "Description",
+ "description": "Page description. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "keywords": {
+ "title": "Keywords",
+ "description": "Page keywords. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "permalink": {
+ "title": "Permalink",
+ "description": "Page permalink, e.g. '/about'.",
+ "type": "string",
+ "indexed": true
+ },
+ "documentId": {
+ "title": "Document ID",
+ "description": "Reference to page content document.",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "title",
+ "permalink",
+ "documentId"
+ ]
+ }
+ },
+ "additionalProperties": false
+ },
+ "version": "1.0.0"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListDiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListDiagnostics.json
new file mode 100644
index 000000000000..0c04b5cfe6f5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListDiagnostics.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "verbosity": "information",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ },
+ "frontend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 0
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 0
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 0
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 0
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/azuremonitor",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "azuremonitor",
+ "properties": {
+ "logClientIp": true,
+ "loggerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/azuremonitor",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ }
+ }
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListDocumentations.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListDocumentations.json
new file mode 100644
index 000000000000..21315c7c6546
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListDocumentations.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/documentations/test",
+ "type": "Microsoft.ApiManagement/service/documentations",
+ "name": "test",
+ "properties": {
+ "title": "test",
+ "content": "Test content "
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/documentations/test2",
+ "type": "Microsoft.ApiManagement/service/documentations",
+ "name": "test2",
+ "properties": {
+ "title": "test",
+ "content": "Test content "
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/documentations/test3",
+ "type": "Microsoft.ApiManagement/service/documentations",
+ "name": "test3",
+ "properties": {
+ "title": "test",
+ "content": "Test content "
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewayApis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewayApis.json
new file mode 100644
index 000000000000..4ab0e1834907
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewayApis.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "gatewayId": "gw1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/apis/57681820a40f7eb6c49f6aca",
+ "type": "Microsoft.ApiManagement/service/gateways/apis",
+ "name": "57681820a40f7eb6c49f6aca",
+ "properties": {
+ "displayName": "api_57681820a40f7eb6c49f6acb",
+ "apiRevision": "1",
+ "description": "description_57681820a40f7eb6c49f6acc",
+ "serviceUrl": "http://contoso/57681820a40f7eb6c49f6acd",
+ "path": "suffix_57681820a40f7eb6c49f6ace",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewayCertificateAuthorities.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewayCertificateAuthorities.json
new file mode 100644
index 000000000000..5d004a529b0e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewayCertificateAuthorities.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "gatewayId": "gw1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/certificateAuthorities/cert1",
+ "type": "Microsoft.ApiManagement/service/gateways/certificateAuthorities",
+ "name": "cert1",
+ "properties": {
+ "isTrusted": false
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/certificateAuthorities/cert2",
+ "type": "Microsoft.ApiManagement/service/gateways/certificateAuthorities",
+ "name": "cert2",
+ "properties": {
+ "isTrusted": true
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewayConfigConnection.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewayConfigConnection.json
new file mode 100644
index 000000000000..264ebe5f0bcd
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewayConfigConnection.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "gatewayName": "standard-gw-1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/gateways/standard-gw-1/configConnections/gcc-1",
+ "name": "gcc-1",
+ "type": "Microsoft.ApiManagement/gateways/configConnections",
+ "etag": "AAAAAAAWN/4=",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/services/apim-service-1/workspaces/ws-001",
+ "defaultHostname": "gcc-1-ahg4t5iof8gaafex.standard-gw-1.gateway.eastus.azure-api.net",
+ "hostnames": [
+ "gcc1standard-gw-1.gateway.eastus.azure-api.net"
+ ]
+ }
+ },
+ {
+ "etag": "AAAAAAAWKwo=",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/gateways/standard-gw-1/configConnections/gcc-2",
+ "name": "gcc-2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/services/apim-service-1/workspaces/ws-002",
+ "defaultHostname": "gcc-2-ahg4t5iof8gaafex.standard-gw-1.gateway.eastus.azure-api.net"
+ },
+ "type": "Microsoft.ApiManagement/gateways/configConnetions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewayHostnameConfigurations.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewayHostnameConfigurations.json
new file mode 100644
index 000000000000..36b1dc2fe938
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewayHostnameConfigurations.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "gatewayId": "gw1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/hostnameConfigurations/default",
+ "type": "Microsoft.ApiManagement/service/gateways/hostnameConfigurations",
+ "name": "default",
+ "properties": {
+ "hostname": "*",
+ "certificateId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1",
+ "negotiateClientCertificate": false
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/hostnameConfigurations/hostname1",
+ "type": "Microsoft.ApiManagement/service/gateways/hostnameConfigurations",
+ "name": "default",
+ "properties": {
+ "hostname": "foo.bar.com",
+ "certificateId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert2",
+ "negotiateClientCertificate": true
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGateways.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGateways.json
new file mode 100644
index 000000000000..3b99cbd4b0f8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGateways.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1",
+ "type": "Microsoft.ApiManagement/service/gateways",
+ "name": "a1",
+ "properties": {
+ "description": "my gateway 1",
+ "locationData": {
+ "name": "my location 1"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw2",
+ "type": "Microsoft.ApiManagement/service/gateways",
+ "name": "5a73933b8f27f7cc82a2d533",
+ "properties": {
+ "description": "my gateway 2",
+ "locationData": {
+ "name": "my location 2"
+ }
+ }
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewaysBySubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewaysBySubscription.json
new file mode 100644
index 000000000000..fc59e806eecf
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewaysBySubscription.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/gateways/standard-gw-1",
+ "name": "standard-gw-1",
+ "type": "Microsoft.ApiManagement/gateways",
+ "tags": {
+ "owner": "v-aswmoh",
+ "ReleaseName": "Z3"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAWN/4=",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2021-06-16T09:40:00.9453556Z",
+ "frontend": {
+ "defaultHostname": "standard-gw-1.westus.gateway.azure-api.net"
+ },
+ "backend": {
+ "subnet": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vn1/subnets/sn1"
+ }
+ },
+ "configurationApi": {
+ "hostname": "standard-gw-1.westus.configuration.gateway.azure-api.net"
+ }
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdBy": "bar@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-06-16T09:40:00.7106733Z",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-06-20T06:33:09.6159006Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg2/providers/Microsoft.ApiManagement/gateways/workspace-gw-2",
+ "name": "workspace-gw-2",
+ "type": "Microsoft.ApiManagement/gateways",
+ "tags": {
+ "Owner": "foo"
+ },
+ "location": "East US",
+ "etag": "AAAAAAAWKwo=",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2021-06-16T09:40:00.9453556Z"
+ },
+ "sku": {
+ "name": "WorkspaceGatewayPremium",
+ "capacity": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewaysBySubscriptionAndResourceGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewaysBySubscriptionAndResourceGroup.json
new file mode 100644
index 000000000000..981066ad0a32
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewaysBySubscriptionAndResourceGroup.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/gateways/standard-gw-1",
+ "name": "standard-gw-1",
+ "type": "Microsoft.ApiManagement/gateways",
+ "tags": {
+ "owner": "v-aswmoh",
+ "ReleaseName": "Z3"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAWN/4=",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2021-06-16T09:40:00.9453556Z",
+ "frontend": {
+ "defaultHostname": "standard-gw-1.westus.gateway.azure-api.net"
+ },
+ "backend": {
+ "subnet": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vn1/subnets/sn1"
+ }
+ },
+ "configurationApi": {
+ "hostname": "standard-gw-1.westus.configuration.gateway.azure-api.net"
+ }
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdBy": "bar@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-06-16T09:40:00.7106733Z",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-06-20T06:33:09.6159006Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/gateways/standard-gw-2",
+ "name": "standard-gw-2",
+ "type": "Microsoft.ApiManagement/gateways",
+ "tags": {
+ "Owner": "vitaliik"
+ },
+ "location": "East US",
+ "etag": "AAAAAAAWKwo=",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2021-06-16T09:40:00.9453556Z",
+ "frontend": {
+ "defaultHostname": "standard-gw-2.eastus.gateway.azure-api.net"
+ },
+ "backend": {
+ "subnet": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vn2/subnets/sn2"
+ }
+ },
+ "configurationApi": {
+ "hostname": "standard-gw-2.eastus.configuration.gateway.azure-api.net"
+ }
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGlobalSchemas.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGlobalSchemas.json
new file mode 100644
index 000000000000..65a86c870c50
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGlobalSchemas.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema1",
+ "type": "Microsoft.ApiManagement/service/schemas",
+ "name": "schema1",
+ "properties": {
+ "description": "sample schema description",
+ "schemaType": "xml",
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema2",
+ "type": "Microsoft.ApiManagement/service/schemas",
+ "name": "schema2",
+ "properties": {
+ "description": "sample schema description",
+ "schemaType": "json",
+ "document": {
+ "$id": "https://example.com/person.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Person",
+ "type": "object",
+ "properties": {
+ "firstName": {
+ "type": "string",
+ "description": "The person's first name."
+ },
+ "lastName": {
+ "type": "string",
+ "description": "The person's last name."
+ },
+ "age": {
+ "description": "Age in years which must be equal to or greater than zero.",
+ "type": "integer",
+ "minimum": 0
+ }
+ }
+ }
+ }
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGraphQLApiResolverPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGraphQLApiResolverPolicies.json
new file mode 100644
index 000000000000..27b7ad34c9f4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGraphQLApiResolverPolicies.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "599e2953193c3c0bd0b3e2fa",
+ "resolverId": "599e29ab193c3c0bd0b3e2fb"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/599e2953193c3c0bd0b3e2fa/resolvers/599e29ab193c3c0bd0b3e2fb/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/resolvers/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n GET\r\n\r\n/api/users \r\n \r\n \r\n \r\n \r\n \r\n { \"id\": \"{{body.id}}\" } \r\n"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGraphQLApiResolvers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGraphQLApiResolvers.json
new file mode 100644
index 000000000000..dabfa9340450
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGraphQLApiResolvers.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "resolverId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/resolvers/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/resolvers",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "displayName": "Query Users",
+ "path": "Query/users",
+ "description": "A GraphQL Resolver example"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/resolvers/57d2ef278aa04f0ad01d6cda",
+ "type": "Microsoft.ApiManagement/service/apis/resolvers",
+ "name": "57d2ef278aa04f0ad01d6cda",
+ "properties": {
+ "displayName": "Mutation makeUser",
+ "path": "Mutation/makeUser",
+ "description": "A GraphQL Resolver example"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/resolvers/57d2ef278aa04f0ad01d6cd9",
+ "type": "Microsoft.ApiManagement/service/apis/resolvers",
+ "name": "57d2ef278aa04f0ad01d6cd9",
+ "properties": {
+ "displayName": "Query for User Id field",
+ "path": "User/id",
+ "description": "A GraphQL Resolver example"
+ }
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGroupUsers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGroupUsers.json
new file mode 100644
index 000000000000..53caad0da33e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGroupUsers.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "groupId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/kjoshiarmTemplateUser1",
+ "type": "Microsoft.ApiManagement/service/groups/users",
+ "name": "armTemplateUser1",
+ "properties": {
+ "firstName": "user1",
+ "lastName": "lastname1",
+ "email": "user1@live.com",
+ "state": "active",
+ "registrationDate": "2017-05-31T18:54:41.447Z",
+ "note": "note for user 1",
+ "identities": [
+ {
+ "provider": "Basic",
+ "id": "user1@live.com"
+ }
+ ]
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGroups.json
new file mode 100644
index 000000000000..79850ade0966
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGroups.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/5600b59375ff190048020001",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "5600b59375ff190048020001",
+ "properties": {
+ "displayName": "Administrators",
+ "description": "Administrators is a built-in group. Its membership is managed by the system. Microsoft Azure subscription administrators fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "AwesomeGroup (samiraad.onmicrosoft.com)",
+ "description": "awesome group of people",
+ "builtIn": false,
+ "type": "external",
+ "externalId": "aad://samiraad.onmicrosoft.com/groups/3773adf4-032e-4d25-9988-eaff9ca72eca"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/5600b59375ff190048020002",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "5600b59375ff190048020002",
+ "properties": {
+ "displayName": "Developers",
+ "description": "Developers is a built-in group. Its membership is managed by the system. Signed-in users fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/5600b59375ff190048020003",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "5600b59375ff190048020003",
+ "properties": {
+ "displayName": "Guests",
+ "description": "Guests is a built-in group. Its membership is managed by the system. Unauthenticated users visiting the developer portal fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ }
+ ],
+ "count": 4,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListIdentityProviders.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListIdentityProviders.json
new file mode 100644
index 000000000000..dff74042749b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListIdentityProviders.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/Google",
+ "type": "Microsoft.ApiManagement/service/identityProviders",
+ "name": "Google",
+ "properties": {
+ "clientId": "googleId",
+ "type": "google"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/Aad",
+ "type": "Microsoft.ApiManagement/service/identityProviders",
+ "name": "Aad",
+ "properties": {
+ "clientId": "aadapplicationid",
+ "type": "aad",
+ "allowedTenants": [
+ "samiraad.onmicrosoft.com"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/AadB2C",
+ "type": "Microsoft.ApiManagement/service/identityProviders",
+ "name": "AadB2C",
+ "properties": {
+ "clientId": "aadb2clientId",
+ "type": "aadB2C",
+ "allowedTenants": [
+ "samirtestbc.onmicrosoft.com"
+ ],
+ "signupPolicyName": "B2C_1_Signup_Default",
+ "signinPolicyName": "B2C_1_Signin_Default"
+ }
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListIssues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListIssues.json
new file mode 100644
index 000000000000..142d7d182905
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListIssues.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListLoggers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListLoggers.json
new file mode 100644
index 000000000000..ee345bd446d9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListLoggers.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/azuremonitor",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "azuremonitor",
+ "properties": {
+ "loggerType": "azureMonitor",
+ "isBuffered": true
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/vvktest",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "vvktest",
+ "properties": {
+ "loggerType": "applicationInsights",
+ "credentials": {
+ "instrumentationKey": "{{Logger-Credentials-5b1a17ef2b3f91153004b10d}}"
+ },
+ "isBuffered": true
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "applicationinsights",
+ "properties": {
+ "loggerType": "applicationInsights",
+ "description": "miaoappinsight",
+ "credentials": {
+ "instrumentationKey": "{{Logger-Credentials-5b2056062b3f911ae84a3069}}"
+ },
+ "isBuffered": true
+ }
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListNamedValues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListNamedValues.json
new file mode 100644
index 000000000000..9c5a83403201
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListNamedValues.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/592f1174cc83890dc4f32686",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "592f1174cc83890dc4f32686",
+ "properties": {
+ "displayName": "Logger-Credentials-592f1174cc83890dc4f32687",
+ "value": "propValue",
+ "secret": false
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "testprop6",
+ "properties": {
+ "displayName": "prop6namekv",
+ "keyVault": {
+ "secretIdentifier": "https://contoso.vault.azure.net/secrets/aadSecret",
+ "identityClientId": "2d2df842-44d8-4885-8dec-77cc1a984a31",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-11T00:54:31.8024882Z"
+ }
+ },
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": true
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListNotificationRecipientEmails.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListNotificationRecipientEmails.json
new file mode 100644
index 000000000000..918705115d60
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListNotificationRecipientEmails.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "notificationName": "RequestPublisherNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientEmails",
+ "name": "contoso@live.com",
+ "properties": {
+ "email": "contoso@live.com"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar!live",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientEmails",
+ "name": "foobar!live",
+ "properties": {
+ "email": "foobar!live"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientEmails",
+ "name": "foobar@live.com",
+ "properties": {
+ "email": "foobar@live.com"
+ }
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListNotificationRecipientUsers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListNotificationRecipientUsers.json
new file mode 100644
index 000000000000..b40b46d50f48
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListNotificationRecipientUsers.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "notificationName": "RequestPublisherNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientUsers/576823d0a40f7e74ec07d642",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientUsers",
+ "name": "576823d0a40f7e74ec07d642",
+ "properties": {
+ "userId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListNotifications.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListNotifications.json
new file mode 100644
index 000000000000..2adea3effbff
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListNotifications.json
@@ -0,0 +1,127 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "RequestPublisherNotificationMessage",
+ "properties": {
+ "title": "Subscription requests (requiring approval)",
+ "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar!live",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com"
+ ],
+ "users": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ ]
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/PurchasePublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "PurchasePublisherNotificationMessage",
+ "properties": {
+ "title": "New subscriptions",
+ "description": "The following email recipients and users will receive email notifications about new API product subscriptions.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com"
+ ],
+ "users": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ ]
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/NewApplicationNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "NewApplicationNotificationMessage",
+ "properties": {
+ "title": "Application gallery requests",
+ "description": "The following email recipients and users will receive email notifications when new applications are submitted to the application gallery.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com"
+ ],
+ "users": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/BCC",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "BCC",
+ "properties": {
+ "title": "BCC",
+ "description": "The following recipients will receive blind carbon copies of all emails sent to developers.",
+ "recipients": {
+ "emails": [],
+ "users": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/NewIssuePublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "NewIssuePublisherNotificationMessage",
+ "properties": {
+ "title": "New issue or comment",
+ "description": "The following email recipients and users will receive email notifications when a new issue or comment is submitted on the developer portal.",
+ "recipients": {
+ "emails": [],
+ "users": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ ]
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/AccountClosedPublisher",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "AccountClosedPublisher",
+ "properties": {
+ "title": "Close account message",
+ "description": "The following email recipients and users will receive email notifications when developer closes his account",
+ "recipients": {
+ "emails": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com"
+ ],
+ "users": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/QuotaLimitApproachingPublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "QuotaLimitApproachingPublisherNotificationMessage",
+ "properties": {
+ "title": "Approaching subscription quota limit",
+ "description": "The following email recipients and users will receive email notifications when subscription usage gets close to usage quota.",
+ "recipients": {
+ "emails": [],
+ "users": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ ]
+ }
+ }
+ }
+ ],
+ "count": 7,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListOpenIdConnectProviders.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListOpenIdConnectProviders.json
new file mode 100644
index 000000000000..e60ec7c403ad
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListOpenIdConnectProviders.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/openidConnectProviders/templateOpenIdConnect2",
+ "type": "Microsoft.ApiManagement/service/openidconnectproviders",
+ "name": "templateOpenIdConnect2",
+ "properties": {
+ "displayName": "templateoidprovider2",
+ "description": "open id provider template2",
+ "metadataEndpoint": "https://oidprovider-template2.net",
+ "clientId": "oidprovidertemplate2",
+ "useInTestConsole": false,
+ "useInApiDocumentation": true
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListOperations.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListOperations.json
new file mode 100644
index 000000000000..438f98792b17
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListOperations.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2023-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.ApiManagement/service/write",
+ "display": {
+ "provider": "Microsoft API Management",
+ "resource": "Service",
+ "operation": "Create a new instance of API Management Service",
+ "description": "Create a new instance of API Management Service"
+ }
+ },
+ {
+ "name": "Microsoft.ApiManagement/service/read",
+ "display": {
+ "provider": "Microsoft API Management",
+ "resource": "Service",
+ "operation": "Read metadata for an API Management Service instance",
+ "description": "Read metadata for an API Management Service instance"
+ }
+ },
+ {
+ "name": "Microsoft.ApiManagement/service/delete",
+ "display": {
+ "provider": "Microsoft API Management",
+ "resource": "Service",
+ "operation": "Delete API Management Service instance",
+ "description": "Delete API Management Service instance"
+ }
+ },
+ {
+ "origin": "system",
+ "name": "Microsoft.ApiManagement/service/providers/Microsoft.Insights/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft API Management",
+ "resource": "Service",
+ "operation": "Write diagnostic setting",
+ "description": "Creates or updates the diagnostic setting for API Management service"
+ }
+ },
+ {
+ "name": "Microsoft.ApiManagement/service/tenant/operationResults/read",
+ "display": {
+ "provider": "Microsoft API Management",
+ "resource": "Results of async operations",
+ "operation": "Get operation results or Get operation result",
+ "description": "Get list of operation results or Get result of a specific operation"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPolicies.json
new file mode 100644
index 000000000000..b6d8bc230403
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPolicies.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policies/policy",
+ "type": "Microsoft.ApiManagement/service/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPolicyDescriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPolicyDescriptions.json
new file mode 100644
index 000000000000..65362f1af115
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPolicyDescriptions.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "Api"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policyDescriptions/authentication-basic",
+ "type": "Microsoft.ApiManagement/service/policyDescriptions",
+ "name": "authentication-basic",
+ "properties": {
+ "description": "Authenticate with the backend service using Basic authentication. Use in the inbound section at API scope.",
+ "scope": 268435471
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policyDescriptions/authentication-certificate",
+ "type": "Microsoft.ApiManagement/service/policyDescriptions",
+ "name": "authentication-certificate",
+ "properties": {
+ "description": "Authenticate with the backend service using a client certificate. Use in the inbound section at API scope.",
+ "scope": 268435471
+ }
+ }
+ ],
+ "count": 2
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPolicyFragmentReferences.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPolicyFragmentReferences.json
new file mode 100644
index 000000000000..2163d24644b9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPolicyFragmentReferences.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "id": "policyFragment1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policies/policy",
+ "type": "Microsoft.ApiManagement/service/policies",
+ "name": "policy"
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPolicyFragments.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPolicyFragments.json
new file mode 100644
index 000000000000..649b52644e66
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPolicyFragments.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policyFragments/policyFragment1",
+ "type": "Microsoft.ApiManagement/service/policyFragments",
+ "name": "policyFragment1",
+ "properties": {
+ "format": "xml",
+ "description": "A policy fragment example",
+ "value": ""
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPolicyRestrictions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPolicyRestrictions.json
new file mode 100644
index 000000000000..e7461add9495
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPolicyRestrictions.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policyRestrictions/policyRestriction1",
+ "type": "Microsoft.ApiManagement/service/policyRestrictions",
+ "name": "policyRestriction1",
+ "properties": {
+ "scope": "Sample Path to the policy document.",
+ "requireBase": "true"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPortalConfig.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPortalConfig.json
new file mode 100644
index 000000000000..e288a91a7bfc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPortalConfig.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalconfigs/default",
+ "type": "Microsoft.ApiManagement/service/portalconfigs",
+ "name": "default",
+ "properties": {
+ "enableBasicAuth": true,
+ "signin": {
+ "require": false
+ },
+ "signup": {
+ "termsOfService": {
+ "text": "I agree to the service terms and conditions.",
+ "requireConsent": false
+ }
+ },
+ "delegation": {
+ "delegateRegistration": false,
+ "delegateSubscription": false,
+ "delegationUrl": null,
+ "validationKey": null
+ },
+ "csp": {
+ "mode": "reportOnly",
+ "reportUri": [
+ "https://report.contoso.com"
+ ],
+ "allowedSources": [
+ "*.contoso.com"
+ ]
+ },
+ "cors": {
+ "allowedOrigins": [
+ "https://contoso.com"
+ ]
+ }
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPortalRevisions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPortalRevisions.json
new file mode 100644
index 000000000000..da2b69c6a49e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPortalRevisions.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112000000",
+ "type": "Microsoft.ApiManagement/service/portalRevisions",
+ "name": "20201112000000",
+ "properties": {
+ "description": "portal revision",
+ "statusDetails": null,
+ "status": "completed",
+ "isCurrent": false,
+ "createdDateTime": "2020-11-12T22:10:09.673Z",
+ "updatedDateTime": "2020-11-12T22:12:41.46Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112101010",
+ "type": "Microsoft.ApiManagement/service/portalRevisions",
+ "name": "20201112101010",
+ "properties": {
+ "description": "portal revision 1",
+ "statusDetails": null,
+ "status": "completed",
+ "isCurrent": true,
+ "createdDateTime": "2020-11-12T22:51:36.47Z",
+ "updatedDateTime": "2020-11-12T22:52:00.097Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPortalSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPortalSettings.json
new file mode 100644
index 000000000000..7d8f7cb31690
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPortalSettings.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/delegation",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "delegation",
+ "properties": {
+ "subscriptions": {
+ "enabled": false
+ },
+ "userRegistration": {
+ "enabled": false
+ },
+ "enabled": false
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signin",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "signin",
+ "properties": {
+ "enabled": false
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signup",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "signup",
+ "properties": {
+ "enabled": true,
+ "termsOfService": {
+ "text": "Terms of service",
+ "enabled": false,
+ "consentRequired": false
+ }
+ }
+ }
+ ],
+ "count": 3
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPrivateEndpointConnections.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPrivateEndpointConnections.json
new file mode 100644
index 000000000000..207a165c7514
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPrivateEndpointConnections.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateEndpointConnections/connectionName",
+ "type": "Microsoft.ApiManagement/service/privateEndpointConnections",
+ "name": "privateEndpointProxyName",
+ "properties": {
+ "provisioningState": "Pending",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/privateEndpointName"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request, thanks",
+ "actionsRequired": "None"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateEndpointConnections/privateEndpointProxyName2",
+ "type": "Microsoft.ApiManagement/service/privateEndpointConnections",
+ "name": "privateEndpointProxyName2",
+ "properties": {
+ "provisioningState": "Pending",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/privateEndpointName2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request, thanks",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPrivateLinkGroupResources.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPrivateLinkGroupResources.json
new file mode 100644
index 000000000000..24c3ab4131e2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListPrivateLinkGroupResources.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateLinkResources/Gateway",
+ "name": "Gateway",
+ "type": "Microsoft.ApiManagement/service/privateLinkResources",
+ "properties": {
+ "groupId": "Gateway",
+ "requiredMembers": [
+ "Gateway"
+ ],
+ "requiredZoneNames": [
+ "privateLink.azure-api.net"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductApiLinks.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductApiLinks.json
new file mode 100644
index 000000000000..6315efddd140
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductApiLinks.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "product1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/product1/apiLinks/link1",
+ "type": "Microsoft.ApiManagement/service/products/apiLinks",
+ "name": "link1",
+ "properties": {
+ "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductApis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductApis.json
new file mode 100644
index 000000000000..6e68af5f36da
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductApis.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "5768181ea40f7eb6c49f6ac7"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5768181ea40f7eb6c49f6ac7/apis/57681820a40f7eb6c49f6aca",
+ "type": "Microsoft.ApiManagement/service/products/apis",
+ "name": "57681820a40f7eb6c49f6aca",
+ "properties": {
+ "displayName": "api_57681820a40f7eb6c49f6acb",
+ "apiRevision": "1",
+ "description": "description_57681820a40f7eb6c49f6acc",
+ "serviceUrl": "http://contoso/57681820a40f7eb6c49f6acd",
+ "path": "suffix_57681820a40f7eb6c49f6ace",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductGroupLinks.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductGroupLinks.json
new file mode 100644
index 000000000000..41449ac98010
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductGroupLinks.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "product1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/product1/groupLinks/link1",
+ "type": "Microsoft.ApiManagement/service/products/groupLinks",
+ "name": "link1",
+ "properties": {
+ "groupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/group1"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductGroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductGroups.json
new file mode 100644
index 000000000000..edb2155fcbac
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductGroups.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "5600b57e7e8880006a060002"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b57e7e8880006a060002/groups/5600b57e7e8880006a020001",
+ "type": "Microsoft.ApiManagement/service/products/groups",
+ "name": "5600b57e7e8880006a020001",
+ "properties": {
+ "displayName": "Administrators",
+ "description": "Administrators is a built-in group. Its membership is managed by the system. Microsoft Azure subscription administrators fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b57e7e8880006a060002/groups/5600b57e7e8880006a020002",
+ "type": "Microsoft.ApiManagement/service/products/groups",
+ "name": "5600b57e7e8880006a020002",
+ "properties": {
+ "displayName": "Developers",
+ "description": "Developers is a built-in group. Its membership is managed by the system. Signed-in users fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b57e7e8880006a060002/groups/5600b57e7e8880006a020003",
+ "type": "Microsoft.ApiManagement/service/products/groups",
+ "name": "5600b57e7e8880006a020003",
+ "properties": {
+ "displayName": "Guests",
+ "description": "Guests is a built-in group. Its membership is managed by the system. Unauthenticated users visiting the developer portal fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductPolicies.json
new file mode 100644
index 000000000000..a6279841b1b6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductPolicies.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "armTemplateProduct4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/armTemplateProduct4/policies/policy",
+ "type": "Microsoft.ApiManagement/service/products/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductSubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductSubscriptions.json
new file mode 100644
index 000000000000..f63a56d3b47f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductSubscriptions.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "5600b57e7e8880006a060002"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b57e7e8880006a060002/subscriptions/5600b57e7e8880006a070002",
+ "type": "Microsoft.ApiManagement/service/products/subscriptions",
+ "name": "5600b57e7e8880006a070002",
+ "properties": {
+ "ownerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b57e7e8880006a060002",
+ "state": "active",
+ "createdDate": "2015-09-22T01:57:18.723Z"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductTags.json
new file mode 100644
index 000000000000..5829b9fd90f4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductTags.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "57d2ef278aa04f0888cba3f1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b539c53f5b0062060002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b539c53f5b0062060002",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductWikis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductWikis.json
new file mode 100644
index 000000000000..9445af383279
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductWikis.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/57d1f7558aa04f15146d9d8a/wikis/default",
+ "type": "Microsoft.ApiManagement/service/products/wikis",
+ "name": "default",
+ "properties": {
+ "documents": [
+ {
+ "documentationId": "docId1"
+ },
+ {
+ "documentationId": "docId2"
+ }
+ ]
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProducts.json
new file mode 100644
index 000000000000..c94750d7d56b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProducts.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/kjoshiarmtemplateCert1",
+ "type": "Microsoft.ApiManagement/service/products",
+ "name": "kjoshiarmtemplateCert1",
+ "properties": {
+ "displayName": "Dev",
+ "description": "Development Product",
+ "subscriptionRequired": false,
+ "state": "published"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/starter",
+ "type": "Microsoft.ApiManagement/service/products",
+ "name": "starter",
+ "properties": {
+ "displayName": "Starter",
+ "description": "Subscribers will be able to run 5 calls/minute up to a maximum of 100 calls/week.",
+ "terms": "",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/unlimited",
+ "type": "Microsoft.ApiManagement/service/products",
+ "name": "unlimited",
+ "properties": {
+ "displayName": "Unlimited",
+ "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.",
+ "subscriptionRequired": true,
+ "approvalRequired": true,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductsByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductsByTags.json
new file mode 100644
index 000000000000..c17ab1830171
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListProductsByTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "tag": {
+ "id": "/tags/apitag123",
+ "name": "awesomeTag"
+ },
+ "product": {
+ "id": "/products/starter",
+ "name": "Starter",
+ "description": "Subscribers will be able to run 5 calls/minute up to a maximum of 100 calls/week.",
+ "terms": "",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListRegions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListRegions.json
new file mode 100644
index 000000000000..81db4ad0bee4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListRegions.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "West US",
+ "isMasterRegion": true,
+ "isDeleted": false
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSKUs-Consumption.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSKUs-Consumption.json
new file mode 100644
index 000000000000..645f4b34ce2c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSKUs-Consumption.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "Microsoft.ApiManagement/service",
+ "sku": {
+ "name": "Consumption"
+ },
+ "capacity": null
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSKUs-Dedicated.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSKUs-Dedicated.json
new file mode 100644
index 000000000000..434ceccb05b0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSKUs-Dedicated.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "Microsoft.ApiManagement/service",
+ "sku": {
+ "name": "Developer"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 1,
+ "default": 1,
+ "scaleType": "none"
+ }
+ },
+ {
+ "resourceType": "Microsoft.ApiManagement/service",
+ "sku": {
+ "name": "Basic"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 2,
+ "default": 1,
+ "scaleType": "manual"
+ }
+ },
+ {
+ "resourceType": "Microsoft.ApiManagement/service",
+ "sku": {
+ "name": "Standard"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 4,
+ "default": 1,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "Microsoft.ApiManagement/service",
+ "sku": {
+ "name": "Premium"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 10,
+ "default": 1,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "Microsoft.ApiManagement/service",
+ "sku": {
+ "name": "Isolated"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 1,
+ "default": 1,
+ "scaleType": "automatic"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSKUs-Gateways.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSKUs-Gateways.json
new file mode 100644
index 000000000000..cbb3fc3fe61a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSKUs-Gateways.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "gatewayName": "apimService1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "Microsoft.ApiManagement/gateways",
+ "sku": {
+ "name": "WorkspaceGatewayStandard"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 4,
+ "default": 1,
+ "scaleType": "Manual"
+ }
+ },
+ {
+ "resourceType": "Microsoft.ApiManagement/gateways",
+ "sku": {
+ "name": "WorkspaceGatewayPremium"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 12,
+ "default": 1,
+ "scaleType": "Manual"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSecretsPortalSettingsValidationKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSecretsPortalSettingsValidationKey.json
new file mode 100644
index 000000000000..25398bbc0cd8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSecretsPortalSettingsValidationKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "validationKey": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSecretsTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSecretsTenantAccess.json
new file mode 100644
index 000000000000..42d9f422f239
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSecretsTenantAccess.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "accessName": "access"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "5600b59375ff190048030003",
+ "primaryKey": "",
+ "secondaryKey": "",
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListServiceBySubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListServiceBySubscription.json
new file mode 100644
index 000000000000..97e673f5a8ae
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListServiceBySubscription.json
@@ -0,0 +1,377 @@
+{
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/OGF-Z3-06162021-Premium",
+ "name": "OGF-Z3-06162021-Premium",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "owner": "v-aswmoh",
+ "ReleaseName": "Z3"
+ },
+ "location": "East US",
+ "etag": "AAAAAAAWN/4=",
+ "properties": {
+ "publisherEmail": "bar@contoso.com",
+ "publisherName": "Test Premium",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2021-06-16T09:40:00.9453556Z",
+ "gatewayUrl": "https://ogf-z3-06162021-premium.azure-api.net",
+ "gatewayRegionalUrl": "https://ogf-z3-06162021-premium-eastus-01.regional.azure-api.net",
+ "portalUrl": "https://ogf-z3-06162021-premium.portal.azure-api.net",
+ "developerPortalUrl": "https://ogf-z3-06162021-premium.developer.azure-api.net",
+ "managementApiUrl": "https://ogf-z3-06162021-premium.management.azure-api.net",
+ "scmUrl": "https://ogf-z3-06162021-premium.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "ogf-z3-06162021-premium.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false,
+ "certificateSource": "BuiltIn"
+ },
+ {
+ "type": "Proxy",
+ "hostName": "gateway.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault-int.azure-int.net/secrets/current-ssl",
+ "negotiateClientCertificate": true,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286F71AF3B6A01BDB240C58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": true,
+ "certificateSource": "Custom"
+ },
+ {
+ "type": "DeveloperPortal",
+ "hostName": "developer.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault-int.azure-int.net/secrets/current-ssl",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286F71AF3B6A01BDB240C58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": false,
+ "certificateSource": "Custom"
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault-int.azure-int.net/secrets/current-ssl",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286F71AF3B6A01BDB240C58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": false,
+ "certificateSource": "Custom"
+ },
+ {
+ "type": "ConfigurationApi",
+ "hostName": "configuration-api.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault-int.azure-int.net/secrets/current-ssl",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286F71AF3B6A01BDB240C58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": false,
+ "certificateSource": "Custom"
+ }
+ ],
+ "publicIPAddresses": [
+ "13.92.130.49"
+ ],
+ "additionalLocations": [
+ {
+ "location": "East US 2",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "zones": [],
+ "publicIPAddresses": [
+ "40.70.24.106"
+ ],
+ "gatewayRegionalUrl": "https://ogf-z3-06162021-premium-eastus2-01.regional.azure-api.net",
+ "disableGateway": false
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false"
+ },
+ "virtualNetworkType": "None",
+ "certificates": [],
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-12-01"
+ },
+ "configurationApi": {
+ "legacyApi": "Enabled"
+ },
+ "publicNetworkAccess": "Enabled"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "306205e7-b21a-41bf-92e2-3e28af30041e",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ogf-identity": {
+ "principalId": "713784d2-ee37-412a-95f0-3768f397f82d",
+ "clientId": "8d9791f2-0cdf-41f4-9e66-cdc39b496789"
+ }
+ }
+ },
+ "systemData": {
+ "createdBy": "bar@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-06-16T09:40:00.7106733Z",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-06-20T06:33:09.6159006Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/vvktestcons",
+ "name": "vvktestcons",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "Owner": "vitaliik"
+ },
+ "location": "East US",
+ "etag": "AAAAAAAWKwo=",
+ "properties": {
+ "publisherEmail": "bar@contoso.com",
+ "publisherName": "vvktestcons",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2020-08-10T18:07:23.4565211Z",
+ "gatewayUrl": "https://vvktestcons.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "vvktestcons.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "enableClientCertificate": false,
+ "disableGateway": false,
+ "publicNetworkAccess": "Enabled"
+ },
+ "sku": {
+ "name": "Consumption",
+ "capacity": 0
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/OGF-Z3-06162021-Standard",
+ "name": "OGF-Z3-06162021-Standard",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "East US",
+ "etag": "AAAAAAAWF7M=",
+ "properties": {
+ "publisherEmail": "bar@contoso.com",
+ "publisherName": "Test Standard",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2021-06-16T09:39:58.6555759Z",
+ "gatewayUrl": "https://ogf-z3-06162021-standard.azure-api.net",
+ "gatewayRegionalUrl": "https://ogf-z3-06162021-standard-eastus-01.regional.azure-api.net",
+ "portalUrl": "https://ogf-z3-06162021-standard.portal.azure-api.net",
+ "developerPortalUrl": "https://ogf-z3-06162021-standard.developer.azure-api.net",
+ "managementApiUrl": "https://ogf-z3-06162021-standard.management.azure-api.net",
+ "scmUrl": "https://ogf-z3-06162021-standard.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "ogf-z3-06162021-standard.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "publicIPAddresses": [
+ "13.82.208.32"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA": "true",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-12-01"
+ },
+ "configurationApi": {
+ "legacyApi": "Enabled"
+ },
+ "publicNetworkAccess": "Enabled"
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 2
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "347a5800-ca99-475a-9202-fe38ca79ee41",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ogf-identity": {
+ "principalId": "713784d2-ee37-412a-95f0-3768f397f82d",
+ "clientId": "8d9791f2-0cdf-41f4-9e66-cdc39b496789"
+ }
+ }
+ },
+ "systemData": {
+ "createdBy": "bar@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-06-16T09:39:58.4591834Z",
+ "lastModifiedBy": "bar@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-06-17T15:05:13.5494721Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/ogf-dev-060921",
+ "name": "ogf-dev-060921",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "East US",
+ "etag": "AAAAAAAWEFg=",
+ "properties": {
+ "publisherEmail": "v-ssaiprasan@microsoft.com",
+ "publisherName": "TechM",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2021-06-09T10:06:22.2133978Z",
+ "gatewayUrl": "https://ogf-dev-060921.azure-api.net",
+ "gatewayRegionalUrl": "https://ogf-dev-060921-eastus-01.regional.azure-api.net",
+ "portalUrl": "https://ogf-dev-060921.portal.azure-api.net",
+ "developerPortalUrl": "https://ogf-dev-060921.developer.azure-api.net",
+ "managementApiUrl": "https://ogf-dev-060921.management.azure-api.net",
+ "scmUrl": "https://ogf-dev-060921.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "ogf-dev-060921.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "publicIPAddresses": [
+ "168.62.39.172"
+ ],
+ "additionalLocations": [
+ {
+ "location": "South Central US",
+ "sku": {
+ "name": "Premium",
+ "capacity": 9
+ },
+ "zones": [],
+ "publicIPAddresses": [
+ "13.84.208.29"
+ ],
+ "gatewayRegionalUrl": "https://ogf-dev-060921-southcentralus-01.regional.azure-api.net",
+ "disableGateway": false
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false"
+ },
+ "virtualNetworkType": "None",
+ "certificates": [
+ {
+ "storeName": "Root",
+ "certificate": {
+ "expiry": "2021-11-25T22:51:47+00:00",
+ "thumbprint": "4E8234312EC69245D1AE296C4882D46FB84076A3",
+ "subject": "CN=*.apim.net"
+ }
+ }
+ ],
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-12-01"
+ },
+ "configurationApi": {
+ "legacyApi": "Enabled"
+ },
+ "publicNetworkAccess": "Enabled"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 3
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "c9bd4c05-205e-4431-b232-112cf2e9e0aa",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd"
+ },
+ "systemData": {
+ "createdBy": "v-ssaiprasan@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2021-06-09T10:06:21.7336597Z",
+ "lastModifiedBy": "v-ssaiprasan@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-06-10T14:27:05.546816Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListServiceBySubscriptionAndResourceGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListServiceBySubscriptionAndResourceGroup.json
new file mode 100644
index 000000000000..c0672df0d7eb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListServiceBySubscriptionAndResourceGroup.json
@@ -0,0 +1,369 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/OGF-Z3-06162021-Premium",
+ "name": "OGF-Z3-06162021-Premium",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "owner": "v-aswmoh",
+ "ReleaseName": "Z3"
+ },
+ "location": "East US",
+ "etag": "AAAAAAAWN/4=",
+ "properties": {
+ "publisherEmail": "bar@contoso.com",
+ "publisherName": "Test Premium",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2021-06-16T09:40:00.9453556Z",
+ "gatewayUrl": "https://ogf-z3-06162021-premium.azure-api.net",
+ "gatewayRegionalUrl": "https://ogf-z3-06162021-premium-eastus-01.regional.azure-api.net",
+ "portalUrl": "https://ogf-z3-06162021-premium.portal.azure-api.net",
+ "developerPortalUrl": "https://ogf-z3-06162021-premium.developer.azure-api.net",
+ "managementApiUrl": "https://ogf-z3-06162021-premium.management.azure-api.net",
+ "scmUrl": "https://ogf-z3-06162021-premium.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "ogf-z3-06162021-premium.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false,
+ "certificateSource": "BuiltIn"
+ },
+ {
+ "type": "Proxy",
+ "hostName": "gateway.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault-int.azure-int.net/secrets/current-ssl",
+ "negotiateClientCertificate": true,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286F71AF3B6A01BDB240C58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": true,
+ "certificateSource": "Custom"
+ },
+ {
+ "type": "DeveloperPortal",
+ "hostName": "developer.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault-int.azure-int.net/secrets/current-ssl",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286F71AF3B6A01BDB240C58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": false,
+ "certificateSource": "Custom"
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault-int.azure-int.net/secrets/current-ssl",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286F71AF3B6A01BDB240C58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": false,
+ "certificateSource": "Custom"
+ },
+ {
+ "type": "ConfigurationApi",
+ "hostName": "configuration-api.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault-int.azure-int.net/secrets/current-ssl",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286F71AF3B6A01BDB240C58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": false,
+ "certificateSource": "Custom"
+ }
+ ],
+ "publicIPAddresses": [
+ "13.92.130.49"
+ ],
+ "additionalLocations": [
+ {
+ "location": "East US 2",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "zones": [],
+ "publicIPAddresses": [
+ "40.70.24.106"
+ ],
+ "gatewayRegionalUrl": "https://ogf-z3-06162021-premium-eastus2-01.regional.azure-api.net",
+ "disableGateway": false
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false"
+ },
+ "virtualNetworkType": "None",
+ "certificates": [],
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-12-01"
+ },
+ "publicNetworkAccess": "Enabled"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "306205e7-b21a-41bf-92e2-3e28af30041e",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ogf-identity": {
+ "principalId": "713784d2-ee37-412a-95f0-3768f397f82d",
+ "clientId": "8d9791f2-0cdf-41f4-9e66-cdc39b496789"
+ }
+ }
+ },
+ "systemData": {
+ "createdBy": "bar@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-06-16T09:40:00.7106733Z",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-06-20T06:33:09.6159006Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/vvktestcons",
+ "name": "vvktestcons",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "Owner": "vitaliik"
+ },
+ "location": "East US",
+ "etag": "AAAAAAAWKwo=",
+ "properties": {
+ "publisherEmail": "bar@contoso.com",
+ "publisherName": "vvktestcons",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2020-08-10T18:07:23.4565211Z",
+ "gatewayUrl": "https://vvktestcons.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "vvktestcons.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "enableClientCertificate": false,
+ "disableGateway": false,
+ "publicNetworkAccess": "Enabled"
+ },
+ "sku": {
+ "name": "Consumption",
+ "capacity": 0
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/OGF-Z3-06162021-Standard",
+ "name": "OGF-Z3-06162021-Standard",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "East US",
+ "etag": "AAAAAAAWF7M=",
+ "properties": {
+ "publisherEmail": "bar@contoso.com",
+ "publisherName": "Test Standard",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2021-06-16T09:39:58.6555759Z",
+ "gatewayUrl": "https://ogf-z3-06162021-standard.azure-api.net",
+ "gatewayRegionalUrl": "https://ogf-z3-06162021-standard-eastus-01.regional.azure-api.net",
+ "portalUrl": "https://ogf-z3-06162021-standard.portal.azure-api.net",
+ "developerPortalUrl": "https://ogf-z3-06162021-standard.developer.azure-api.net",
+ "managementApiUrl": "https://ogf-z3-06162021-standard.management.azure-api.net",
+ "scmUrl": "https://ogf-z3-06162021-standard.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "ogf-z3-06162021-standard.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "publicIPAddresses": [
+ "13.82.208.32"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA": "true",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-12-01"
+ },
+ "publicNetworkAccess": "Enabled"
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 2
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "347a5800-ca99-475a-9202-fe38ca79ee41",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ogf-identity": {
+ "principalId": "713784d2-ee37-412a-95f0-3768f397f82d",
+ "clientId": "8d9791f2-0cdf-41f4-9e66-cdc39b496789"
+ }
+ }
+ },
+ "systemData": {
+ "createdBy": "bar@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-06-16T09:39:58.4591834Z",
+ "lastModifiedBy": "bar@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-06-17T15:05:13.5494721Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/ogf-dev-060921",
+ "name": "ogf-dev-060921",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "East US",
+ "etag": "AAAAAAAWEFg=",
+ "properties": {
+ "publisherEmail": "v-ssaiprasan@microsoft.com",
+ "publisherName": "TechM",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2021-06-09T10:06:22.2133978Z",
+ "gatewayUrl": "https://ogf-dev-060921.azure-api.net",
+ "gatewayRegionalUrl": "https://ogf-dev-060921-eastus-01.regional.azure-api.net",
+ "portalUrl": "https://ogf-dev-060921.portal.azure-api.net",
+ "developerPortalUrl": "https://ogf-dev-060921.developer.azure-api.net",
+ "managementApiUrl": "https://ogf-dev-060921.management.azure-api.net",
+ "scmUrl": "https://ogf-dev-060921.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "ogf-dev-060921.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "publicIPAddresses": [
+ "168.62.39.172"
+ ],
+ "additionalLocations": [
+ {
+ "location": "South Central US",
+ "sku": {
+ "name": "Premium",
+ "capacity": 9
+ },
+ "zones": [],
+ "publicIPAddresses": [
+ "13.84.208.29"
+ ],
+ "gatewayRegionalUrl": "https://ogf-dev-060921-southcentralus-01.regional.azure-api.net",
+ "disableGateway": false
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false"
+ },
+ "virtualNetworkType": "None",
+ "certificates": [
+ {
+ "storeName": "Root",
+ "certificate": {
+ "expiry": "2021-11-25T22:51:47+00:00",
+ "thumbprint": "4E8234312EC69245D1AE296C4882D46FB84076A3",
+ "subject": "CN=*.apim.net"
+ }
+ }
+ ],
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-12-01"
+ },
+ "publicNetworkAccess": "Enabled"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 3
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "c9bd4c05-205e-4431-b232-112cf2e9e0aa",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd"
+ },
+ "systemData": {
+ "createdBy": "v-ssaiprasan@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2021-06-09T10:06:21.7336597Z",
+ "lastModifiedBy": "v-ssaiprasan@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-06-10T14:27:05.546816Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSku.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSku.json
new file mode 100644
index 000000000000..bb21b556366f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSku.json
@@ -0,0 +1,224 @@
+{
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "service",
+ "name": "Developer",
+ "locations": [
+ "centralindia"
+ ],
+ "locationInfo": [
+ {
+ "location": "centralindia",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "capacity": {
+ "minimum": 1,
+ "maximum": 1,
+ "default": 1,
+ "scaleType": "None"
+ },
+ "restrictions": []
+ },
+ {
+ "resourceType": "service",
+ "name": "Standard",
+ "locations": [
+ "centralindia"
+ ],
+ "locationInfo": [
+ {
+ "location": "centralindia",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "capacity": {
+ "minimum": 1,
+ "maximum": 4,
+ "default": 1,
+ "scaleType": "Automatic"
+ },
+ "restrictions": []
+ },
+ {
+ "resourceType": "service",
+ "name": "Premium",
+ "locations": [
+ "centralindia"
+ ],
+ "locationInfo": [
+ {
+ "location": "centralindia",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "capacity": {
+ "minimum": 1,
+ "maximum": 10,
+ "default": 1,
+ "scaleType": "Automatic"
+ },
+ "restrictions": []
+ },
+ {
+ "resourceType": "service",
+ "name": "Basic",
+ "locations": [
+ "centralindia"
+ ],
+ "locationInfo": [
+ {
+ "location": "centralindia",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "capacity": {
+ "minimum": 1,
+ "maximum": 2,
+ "default": 1,
+ "scaleType": "Manual"
+ },
+ "restrictions": []
+ },
+ {
+ "resourceType": "service",
+ "name": "Consumption",
+ "locations": [
+ "centralindia"
+ ],
+ "locationInfo": [
+ {
+ "location": "centralindia",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "capacity": {
+ "minimum": 0,
+ "maximum": 0,
+ "default": 0,
+ "scaleType": "None"
+ },
+ "restrictions": []
+ },
+ {
+ "resourceType": "service",
+ "name": "Developer",
+ "locations": [
+ "uaenorth"
+ ],
+ "locationInfo": [
+ {
+ "location": "uaenorth",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "capacity": {
+ "minimum": 1,
+ "maximum": 1,
+ "default": 1,
+ "scaleType": "None"
+ },
+ "restrictions": []
+ },
+ {
+ "resourceType": "service",
+ "name": "Standard",
+ "locations": [
+ "uaenorth"
+ ],
+ "locationInfo": [
+ {
+ "location": "uaenorth",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "capacity": {
+ "minimum": 1,
+ "maximum": 4,
+ "default": 1,
+ "scaleType": "Automatic"
+ },
+ "restrictions": []
+ },
+ {
+ "resourceType": "service",
+ "name": "Premium",
+ "locations": [
+ "uaenorth"
+ ],
+ "locationInfo": [
+ {
+ "location": "uaenorth",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "capacity": {
+ "minimum": 1,
+ "maximum": 10,
+ "default": 1,
+ "scaleType": "Automatic"
+ },
+ "restrictions": []
+ },
+ {
+ "resourceType": "service",
+ "name": "Basic",
+ "locations": [
+ "uaenorth"
+ ],
+ "locationInfo": [
+ {
+ "location": "uaenorth",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "capacity": {
+ "minimum": 1,
+ "maximum": 2,
+ "default": 1,
+ "scaleType": "Manual"
+ },
+ "restrictions": []
+ },
+ {
+ "resourceType": "service",
+ "name": "Developer",
+ "locations": [
+ "australiacentral"
+ ],
+ "locationInfo": [
+ {
+ "location": "australiacentral",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "capacity": {
+ "minimum": 1,
+ "maximum": 1,
+ "default": 1,
+ "scaleType": "None"
+ },
+ "restrictions": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSubscriptions.json
new file mode 100644
index 000000000000..b87f37cbbd3b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSubscriptions.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/5600b59475ff190048070001",
+ "type": "Microsoft.ApiManagement/service/subscriptions",
+ "name": "5600b59475ff190048070001",
+ "properties": {
+ "ownerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060001",
+ "state": "active",
+ "createdDate": "2015-09-22T01:57:40.3Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/56eaed3dbaf08b06e46d27fe",
+ "type": "Microsoft.ApiManagement/service/subscriptions",
+ "name": "56eaed3dbaf08b06e46d27fe",
+ "properties": {
+ "ownerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/56eaec62baf08b06e46d27fd",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060001",
+ "displayName": "Starter",
+ "state": "active",
+ "createdDate": "2016-03-17T17:45:33.837Z",
+ "startDate": "2016-03-17T00:00:00Z",
+ "expirationDate": "2016-04-01T00:00:00Z",
+ "notificationDate": "2016-03-20T00:00:00Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/5931a769d8d14f0ad8ce13b8",
+ "type": "Microsoft.ApiManagement/service/subscriptions",
+ "name": "5931a769d8d14f0ad8ce13b8",
+ "properties": {
+ "ownerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
+ "displayName": "Unlimited",
+ "state": "submitted",
+ "createdDate": "2017-06-02T17:59:06.223Z"
+ }
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTagApiLinks.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTagApiLinks.json
new file mode 100644
index 000000000000..6a0b7379677b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTagApiLinks.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "tagId": "tag1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tag1/apiLinks/link1",
+ "type": "Microsoft.ApiManagement/service/tags/apiLinks",
+ "name": "link1",
+ "properties": {
+ "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTagOperationLinks.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTagOperationLinks.json
new file mode 100644
index 000000000000..509939c036e1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTagOperationLinks.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "tagId": "tag1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tag1/operationLinks/link1",
+ "type": "Microsoft.ApiManagement/service/tags/operationLinks",
+ "name": "link1",
+ "properties": {
+ "operationId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api/operations/op1"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTagProductLinks.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTagProductLinks.json
new file mode 100644
index 000000000000..4a467a6ed69b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTagProductLinks.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "tagId": "tag1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tag1/productLinks/link1",
+ "type": "Microsoft.ApiManagement/service/tags/productLinks",
+ "name": "link1",
+ "properties": {
+ "productId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/product1"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTagResources.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTagResources.json
new file mode 100644
index 000000000000..1894cfcc8a30
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTagResources.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "tag": {
+ "id": "/tags/apitag123",
+ "name": "awesomeTag"
+ },
+ "operation": {
+ "id": "/apis/echo-api/operations/create-resource",
+ "apiName": "Echo API",
+ "apiRevision": "1",
+ "name": "Create resource",
+ "method": "POST",
+ "urlTemplate": "/resource",
+ "description": "A demonstration of a POST call based on the echo backend above. The request body is expected to contain JSON-formatted data (see example below). A policy is used to automatically transform any request sent in JSON directly to XML. In a real-world scenario this could be used to enable modern clients to speak to a legacy backend."
+ }
+ },
+ {
+ "tag": {
+ "id": "/tags/apitag123",
+ "name": "awesomeTag"
+ },
+ "api": {
+ "id": "/apis/echo-api",
+ "name": "Echo API",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo",
+ "isCurrent": true
+ }
+ },
+ {
+ "tag": {
+ "id": "/tags/apitag123",
+ "name": "awesomeTag"
+ },
+ "product": {
+ "id": "/products/starter",
+ "name": "Starter",
+ "description": "Subscribers will be able to run 5 calls/minute up to a maximum of 100 calls/week.",
+ "terms": "",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTags.json
new file mode 100644
index 000000000000..e96716aae293
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTags.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020001",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b59375ff190048020001",
+ "properties": {
+ "displayName": "tag1"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b59375ff190048020002",
+ "properties": {
+ "displayName": "tag2"
+ }
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTemplates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTemplates.json
new file mode 100644
index 000000000000..01abd7392ccf
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTemplates.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/templates/ApplicationApprovedNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/templates",
+ "name": "ApplicationApprovedNotificationMessage",
+ "properties": {
+ "subject": "Your application $AppName is published in the application gallery",
+ "body": "\r\n\r\n \r\n \r\n Dear $DevFirstName $DevLastName,
\r\n \r\n We are happy to let you know that your request to publish the $AppName application in the application gallery has been approved. Your application has been published and can be viewed here.\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n",
+ "title": "Application gallery submission approved",
+ "description": "Developers who submitted their application for publication in the application gallery on the developer portal receive this email after their submission is approved.",
+ "isDefault": true,
+ "parameters": [
+ {
+ "name": "AppId",
+ "title": "Application id"
+ },
+ {
+ "name": "AppName",
+ "title": "Application name"
+ },
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ }
+ ]
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTenantAccess.json
new file mode 100644
index 000000000000..6c61a04ad7c7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTenantAccess.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/access",
+ "type": "Microsoft.ApiManagement/service/tenant",
+ "name": "access",
+ "properties": {
+ "enabled": true
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTenantSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTenantSettings.json
new file mode 100644
index 000000000000..1d8841c0c2e7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListTenantSettings.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/settings/public",
+ "type": "Microsoft.ApiManagement/service/settings",
+ "name": "public",
+ "properties": {
+ "settings": {
+ "CustomPortalSettings.UserRegistrationTerms": null,
+ "CustomPortalSettings.UserRegistrationTermsEnabled": "False",
+ "CustomPortalSettings.UserRegistrationTermsConsentRequired": "False",
+ "CustomPortalSettings.DelegationEnabled": "False",
+ "CustomPortalSettings.DelegationUrl": "",
+ "CustomPortalSettings.DelegatedSubscriptionEnabled": "False"
+ }
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListUserGroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListUserGroups.json
new file mode 100644
index 000000000000..4a62f4541437
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListUserGroups.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "userId": "57681833a40f7eb6c49f6acf"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57681833a40f7eb6c49f6acf/groups/5600b57e7e8880006a020002",
+ "type": "Microsoft.ApiManagement/service/users/groups",
+ "name": "5600b57e7e8880006a020002",
+ "properties": {
+ "displayName": "Developers",
+ "description": "Developers is a built-in group. Its membership is managed by the system. Signed-in users fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListUserIdentities.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListUserIdentities.json
new file mode 100644
index 000000000000..bb902544e0e1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListUserIdentities.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "userId": "57f2af53bb17172280f44057"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "provider": "Microsoft",
+ "id": "086cf9********55ab"
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListUserSubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListUserSubscriptions.json
new file mode 100644
index 000000000000..086bc6759973
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListUserSubscriptions.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "userId": "57681833a40f7eb6c49f6acf"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57681833a40f7eb6c49f6acf/subscriptions/57681850a40f7eb6c49f6ae3",
+ "type": "Microsoft.ApiManagement/service/users/subscriptions",
+ "name": "57681850a40f7eb6c49f6ae3",
+ "properties": {
+ "ownerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57681833a40f7eb6c49f6acf",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5768181ea40f7eb6c49f6ac7",
+ "displayName": "57681850a40f7eb6c49f6ae5",
+ "state": "active",
+ "createdDate": "2016-06-20T16:22:39.547Z",
+ "startDate": "2016-06-20T00:00:00Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57681833a40f7eb6c49f6acf/subscriptions/57681850a40f7eb6c49f6b2b",
+ "type": "Microsoft.ApiManagement/service/users/subscriptions",
+ "name": "57681850a40f7eb6c49f6b2b",
+ "properties": {
+ "ownerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57681833a40f7eb6c49f6acf",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5768181ea40f7eb6c49f6ac7",
+ "displayName": "57681850a40f7eb6c49f6b2d",
+ "state": "active",
+ "createdDate": "2016-06-20T16:22:41.103Z",
+ "startDate": "2016-06-20T00:00:00Z"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListUsers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListUsers.json
new file mode 100644
index 000000000000..dc1566426401
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListUsers.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "type": "Microsoft.ApiManagement/service/users",
+ "name": "1",
+ "properties": {
+ "firstName": "Administrator",
+ "lastName": "",
+ "email": "admin@live.com",
+ "state": "active",
+ "registrationDate": "2015-09-22T01:57:39.677Z",
+ "identities": [
+ {
+ "provider": "Azure",
+ "id": "admin@live.com"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/56eaec62baf08b06e46d27fd",
+ "type": "Microsoft.ApiManagement/service/users",
+ "name": "56eaec62baf08b06e46d27fd",
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foo.bar.83@gmail.com",
+ "state": "active",
+ "registrationDate": "2016-03-17T17:41:56.327Z",
+ "identities": [
+ {
+ "provider": "Basic",
+ "id": "foo.bar.83@gmail.com"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "type": "Microsoft.ApiManagement/service/users",
+ "name": "5931a75ae4bbd512a88c680b",
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foobar@outlook.com",
+ "state": "active",
+ "registrationDate": "2017-06-02T17:58:50.357Z",
+ "identities": [
+ {
+ "provider": "Microsoft",
+ "id": "*************"
+ }
+ ]
+ }
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiDiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiDiagnostics.json
new file mode 100644
index 000000000000..36138037c5ca
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiDiagnostics.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "echo-api"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/echo-api/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ },
+ "frontend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ }
+ }
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiOperationPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiOperationPolicies.json
new file mode 100644
index 000000000000..e5f34f1dc76b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiOperationPolicies.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "599e2953193c3c0bd0b3e2fa",
+ "operationId": "599e29ab193c3c0bd0b3e2fb"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/599e2953193c3c0bd0b3e2fa/operations/599e29ab193c3c0bd0b3e2fb/policies/policy",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis/operations/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n \r\n \r\n \r\n xxx\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiOperations.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiOperations.json
new file mode 100644
index 000000000000..dcaea0da2e61
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiOperations.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "displayName": "CancelOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/CancelOrder"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cda",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cda",
+ "properties": {
+ "displayName": "GetMostRecentOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/GetMostRecentOrder"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cd9",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cd9",
+ "properties": {
+ "displayName": "GetOpenOrders",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/GetOpenOrders"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdb",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cdb",
+ "properties": {
+ "displayName": "GetOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/GetOrder"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cd8",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cd8",
+ "properties": {
+ "displayName": "submitOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/submitOrder"
+ }
+ }
+ ],
+ "count": 5,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiPolicies.json
new file mode 100644
index 000000000000..040a453d8094
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiPolicies.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "5600b59475ff190048040001"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/5600b59475ff190048040001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n@{\r\n\tRandom Random = new Random();\r\n\t\t\t\tconst string Chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \"; \r\n return string.Join(\",\", DateTime.UtcNow, new string(\r\n Enumerable.Repeat(Chars, Random.Next(2150400))\r\n .Select(s => s[Random.Next(s.Length)])\r\n .ToArray()));\r\n } \r\n \r\n \r\n \r\n"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiReleases.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiReleases.json
new file mode 100644
index 000000000000..ee81fb6f502f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiReleases.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "a1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/a1/releases/5a7cb545298324c53224a799",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis/releases",
+ "name": "5a7cb545298324c53224a799",
+ "properties": {
+ "createdDateTime": "2018-02-08T20:38:29.173Z",
+ "updatedDateTime": "2018-02-08T20:38:29.173Z",
+ "notes": "yahoo"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiRevisions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiRevisions.json
new file mode 100644
index 000000000000..f1ab509a23fb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiRevisions.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/a1;rev=1",
+ "apiRevision": "1",
+ "createdDateTime": "2018-02-01T22:21:20.467Z",
+ "updatedDateTime": "2018-02-01T22:21:20.467Z",
+ "isOnline": true,
+ "isCurrent": true
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiSchemas.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiSchemas.json
new file mode 100644
index 000000000000..11e2b92dc0ca
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiSchemas.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "59d5b28d1f7fab116c282650"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/59d5b28d1f7fab116c282650/schemas/59d5b28e1f7fab116402044e",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis/schemas",
+ "name": "59d5b28e1f7fab116402044e",
+ "properties": {
+ "contentType": "application/vnd.ms-azure-apim.xsd+xml",
+ "document": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiVersionSets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiVersionSets.json
new file mode 100644
index 000000000000..4bc4b25f32bc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiVersionSets.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apiVersionSets/vs1",
+ "type": "Microsoft.ApiManagement/service/workspaces/api-version-sets",
+ "name": "vs1",
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apiVersionSets/vs2",
+ "type": "Microsoft.ApiManagement/service/workspaces/api-version-sets",
+ "name": "vs2",
+ "properties": {
+ "displayName": "api set 2",
+ "versioningScheme": "Query",
+ "description": "Version configuration 2"
+ }
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApis.json
new file mode 100644
index 000000000000..6202ae74cdd9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApis.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/a1",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis",
+ "name": "a1",
+ "properties": {
+ "displayName": "api1",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "api1",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true,
+ "apiVersionSetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apiVersionSets/c48f96c9-1385-4e2d-b410-5ab591ce0fc4"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/5a73933b8f27f7cc82a2d533",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis",
+ "name": "5a73933b8f27f7cc82a2d533",
+ "properties": {
+ "displayName": "api1",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "api1",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true,
+ "apiVersion": "v1",
+ "apiVersionSetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apiVersionSets/c48f96c9-1385-4e2d-b410-5ab591ce0fc4"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/echo-api",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis",
+ "name": "echo-api",
+ "properties": {
+ "displayName": "Echo API",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/5a7390baa5816a110435aee0",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis",
+ "name": "5a7390baa5816a110435aee0",
+ "properties": {
+ "displayName": "Swagger Petstore Extensive",
+ "apiRevision": "1",
+ "description": "A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification",
+ "serviceUrl": "http://petstore.swagger.wordnik.com/api",
+ "path": "vvv",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true
+ }
+ }
+ ],
+ "count": 4,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceBackends.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceBackends.json
new file mode 100644
index 000000000000..b4f69078c805
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceBackends.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/backends/proxybackend",
+ "type": "Microsoft.ApiManagement/service/workspaces/backends",
+ "name": "proxybackend",
+ "properties": {
+ "description": "description5308",
+ "url": "https://backendname2644/",
+ "protocol": "http",
+ "credentials": {
+ "query": {
+ "sv": [
+ "xx",
+ "bb",
+ "cc"
+ ]
+ },
+ "header": {
+ "x-my-1": [
+ "val1",
+ "val2"
+ ]
+ },
+ "authorization": {
+ "scheme": "Basic",
+ "parameter": "opensesma"
+ }
+ },
+ "proxy": {
+ "url": "http://192.168.1.1:8080",
+ "username": "Contoso\\admin",
+ "password": ""
+ },
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": false
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/backends/sfbackend",
+ "type": "Microsoft.ApiManagement/service/workspaces/backends",
+ "name": "sfbackend",
+ "properties": {
+ "description": "Service Fabric Test App 1",
+ "url": "fabric:/mytestapp/mytestservice",
+ "protocol": "http",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificateId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/certificates/cert1",
+ "serverX509Names": [
+ {
+ "name": "ServerCommonName1",
+ "issuerCertificateThumbprint": "IssuerCertificateThumbprint1"
+ }
+ ],
+ "maxPartitionResolutionRetries": 5
+ }
+ }
+ }
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceCertificates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceCertificates.json
new file mode 100644
index 000000000000..669b580e9b51
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceCertificates.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/certificates/kjoshiarmtemplateCert1",
+ "type": "Microsoft.ApiManagement/service/workspaces/certificates",
+ "name": "templateCert1",
+ "properties": {
+ "subject": "CN=mutual-authcert",
+ "thumbprint": "EBA************************48594A6",
+ "expirationDate": "2017-04-23T17:03:41Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/certificates/templateCertkv",
+ "type": "Microsoft.ApiManagement/service/workspaces/certificates",
+ "name": "templateCertkv",
+ "properties": {
+ "subject": "CN=*.msitesting.net",
+ "thumbprint": "EA**********************9AD690",
+ "expirationDate": "2037-01-01T07:00:00Z",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-22T00:24:53.3191468Z"
+ }
+ }
+ }
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceDiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceDiagnostics.json
new file mode 100644
index 000000000000..59986a591cc6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceDiagnostics.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/workspaces/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "verbosity": "information",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ },
+ "frontend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 0
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 0
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 0
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 0
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/diagnostics/azuremonitor",
+ "type": "Microsoft.ApiManagement/service/workspaces/diagnostics",
+ "name": "azuremonitor",
+ "properties": {
+ "logClientIp": true,
+ "loggerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/azuremonitor",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ }
+ }
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceGroupUsers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceGroupUsers.json
new file mode 100644
index 000000000000..572fbcbe4a00
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceGroupUsers.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "groupId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/users/kjoshiarmTemplateUser1",
+ "type": "Microsoft.ApiManagement/service/workspaces/groups/users",
+ "name": "armTemplateUser1",
+ "properties": {
+ "firstName": "user1",
+ "lastName": "lastname1",
+ "email": "user1@live.com",
+ "state": "active",
+ "registrationDate": "2017-05-31T18:54:41.447Z",
+ "note": "note for user 1",
+ "identities": [
+ {
+ "provider": "Basic",
+ "id": "user1@live.com"
+ }
+ ]
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceGroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceGroups.json
new file mode 100644
index 000000000000..5cef97bb118d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceGroups.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/groups/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/workspaces/groups",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "AwesomeGroup (samiraad.onmicrosoft.com)",
+ "description": "awesome group of people",
+ "builtIn": false,
+ "type": "external",
+ "externalId": "aad://samiraad.onmicrosoft.com/groups/3773adf4-032e-4d25-9988-eaff9ca72eca"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceLinks.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceLinks.json
new file mode 100644
index 000000000000..e049bf196a60
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceLinks.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "serviceName": "service1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/service-1/workspaceLinks/wk-1",
+ "name": "wk-1",
+ "type": "Microsoft.ApiManagement/service/workspaceLinks",
+ "etag": "AAAAAAAWN/4=",
+ "properties": {
+ "workspaceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/services/service-1/workspaces/wk-1",
+ "gateways": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/gateways/gateway-1"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/service-1/workspaceLinks/wk-2",
+ "name": "wk-1",
+ "type": "Microsoft.ApiManagement/service/workspaceLinks",
+ "etag": "AAAAAAAWKwo=",
+ "properties": {
+ "workspaceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/services/service-1/workspaces/wk-2",
+ "gateways": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/gateways/gateway-1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/gateways/gateway-2"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceLoggers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceLoggers.json
new file mode 100644
index 000000000000..167e3a264a65
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceLoggers.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/azuremonitor",
+ "type": "Microsoft.ApiManagement/service/workspaces/loggers",
+ "name": "azuremonitor",
+ "properties": {
+ "loggerType": "azureMonitor",
+ "isBuffered": true
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/vvktest",
+ "type": "Microsoft.ApiManagement/service/workspaces/loggers",
+ "name": "vvktest",
+ "properties": {
+ "loggerType": "applicationInsights",
+ "credentials": {
+ "instrumentationKey": "{{Logger-Credentials-5b1a17ef2b3f91153004b10d}}"
+ },
+ "isBuffered": true
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/workspaces/loggers",
+ "name": "applicationinsights",
+ "properties": {
+ "loggerType": "applicationInsights",
+ "description": "miaoappinsight",
+ "credentials": {
+ "instrumentationKey": "{{Logger-Credentials-5b2056062b3f911ae84a3069}}"
+ },
+ "isBuffered": true
+ }
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceNamedValues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceNamedValues.json
new file mode 100644
index 000000000000..ddcb93666e06
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceNamedValues.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/namedValues/592f1174cc83890dc4f32686",
+ "type": "Microsoft.ApiManagement/service/workspaces/namedValues",
+ "name": "592f1174cc83890dc4f32686",
+ "properties": {
+ "displayName": "Logger-Credentials-592f1174cc83890dc4f32687",
+ "value": "propValue",
+ "secret": false
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/namedValues/testprop6",
+ "type": "Microsoft.ApiManagement/service/workspaces/namedValues",
+ "name": "testprop6",
+ "properties": {
+ "displayName": "prop6namekv",
+ "keyVault": {
+ "secretIdentifier": "https://contoso.vault.azure.net/secrets/aadSecret",
+ "identityClientId": "2d2df842-44d8-4885-8dec-77cc1a984a31",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-11T00:54:31.8024882Z"
+ }
+ },
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": true
+ }
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceNotificationRecipientEmails.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceNotificationRecipientEmails.json
new file mode 100644
index 000000000000..15a93dae0507
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceNotificationRecipientEmails.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "notificationName": "RequestPublisherNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com",
+ "type": "Microsoft.ApiManagement/service/workspaces/notifications/recipientEmails",
+ "name": "contoso@live.com",
+ "properties": {
+ "email": "contoso@live.com"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar!live",
+ "type": "Microsoft.ApiManagement/service/workspaces/notifications/recipientEmails",
+ "name": "foobar!live",
+ "properties": {
+ "email": "foobar!live"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com",
+ "type": "Microsoft.ApiManagement/service/workspaces/notifications/recipientEmails",
+ "name": "foobar@live.com",
+ "properties": {
+ "email": "foobar@live.com"
+ }
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceNotificationRecipientUsers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceNotificationRecipientUsers.json
new file mode 100644
index 000000000000..0b32b9ad8e6e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceNotificationRecipientUsers.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "notificationName": "RequestPublisherNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/notifications/RequestPublisherNotificationMessage/recipientUsers/576823d0a40f7e74ec07d642",
+ "type": "Microsoft.ApiManagement/service/workspaces/notifications/recipientUsers",
+ "name": "576823d0a40f7e74ec07d642",
+ "properties": {
+ "userId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceNotifications.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceNotifications.json
new file mode 100644
index 000000000000..a4d6a07c4c3e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceNotifications.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/notifications/RequestPublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/workspaces/notifications",
+ "name": "RequestPublisherNotificationMessage",
+ "properties": {
+ "title": "Subscription requests (requiring approval)",
+ "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar!live",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com"
+ ],
+ "users": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ ]
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/notifications/PurchasePublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/workspaces/notifications",
+ "name": "PurchasePublisherNotificationMessage",
+ "properties": {
+ "title": "New subscriptions",
+ "description": "The following email recipients and users will receive email notifications about new API product subscriptions.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com"
+ ],
+ "users": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ ]
+ }
+ }
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspacePolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspacePolicies.json
new file mode 100644
index 000000000000..d8c97fed0c9d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspacePolicies.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/policies/policy",
+ "type": "Microsoft.ApiManagement/service/workspaces/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n@{\r\n\tRandom Random = new Random();\r\n\t\t\t\tconst string Chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \"; \r\n return string.Join(\",\", DateTime.UtcNow, new string(\r\n Enumerable.Repeat(Chars, Random.Next(2150400))\r\n .Select(s => s[Random.Next(s.Length)])\r\n .ToArray()));\r\n } \r\n \r\n \r\n \r\n"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspacePolicyFragmentReferences.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspacePolicyFragmentReferences.json
new file mode 100644
index 000000000000..04a68bb00280
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspacePolicyFragmentReferences.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "id": "policyFragment1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/policies/policy",
+ "type": "Microsoft.ApiManagement/service/workspaces/policies",
+ "name": "policy"
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspacePolicyFragments.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspacePolicyFragments.json
new file mode 100644
index 000000000000..4653e5bd5fa6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspacePolicyFragments.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/policyFragments/policyFragment1",
+ "type": "Microsoft.ApiManagement/service/workspaces/policyFragments",
+ "name": "policyFragment1",
+ "properties": {
+ "format": "xml",
+ "description": "A policy fragment example",
+ "value": ""
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceProductApiLinks.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceProductApiLinks.json
new file mode 100644
index 000000000000..5ec6ebbcdf8b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceProductApiLinks.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "productId": "product1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/products/product1/apiLinks/link1",
+ "type": "Microsoft.ApiManagement/service/workspaces/products/apiLinks",
+ "name": "link1",
+ "properties": {
+ "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/echo-api"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceProductGroupLinks.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceProductGroupLinks.json
new file mode 100644
index 000000000000..65aed3af3b2a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceProductGroupLinks.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "productId": "product1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/products/product1/groupLinks/link1",
+ "type": "Microsoft.ApiManagement/service/workspaces.products/groupLinks",
+ "name": "link1",
+ "properties": {
+ "groupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/groups/group1"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceProductPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceProductPolicies.json
new file mode 100644
index 000000000000..3d18fcd851c7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceProductPolicies.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "productId": "armTemplateProduct4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/products/armTemplateProduct4/policies/policy",
+ "type": "Microsoft.ApiManagement/service/workspaces/products/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceProducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceProducts.json
new file mode 100644
index 000000000000..654515f06671
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceProducts.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/products/kjoshiarmtemplateCert1",
+ "type": "Microsoft.ApiManagement/service/workspaces/products",
+ "name": "kjoshiarmtemplateCert1",
+ "properties": {
+ "displayName": "Dev",
+ "description": "Development Product",
+ "subscriptionRequired": false,
+ "state": "published"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/products/starter",
+ "type": "Microsoft.ApiManagement/service/workspaces/products",
+ "name": "starter",
+ "properties": {
+ "displayName": "Starter",
+ "description": "Subscribers will be able to run 5 calls/minute up to a maximum of 100 calls/week.",
+ "terms": "",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/products/unlimited",
+ "type": "Microsoft.ApiManagement/service/workspaces/products",
+ "name": "unlimited",
+ "properties": {
+ "displayName": "Unlimited",
+ "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.",
+ "subscriptionRequired": true,
+ "approvalRequired": true,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceSchemas.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceSchemas.json
new file mode 100644
index 000000000000..62eaedb49bdc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceSchemas.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/schemas/schema1",
+ "type": "Microsoft.ApiManagement/service/workspaces/schemas",
+ "name": "schema1",
+ "properties": {
+ "description": "sample schema description",
+ "schemaType": "xml",
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/schemas/schema2",
+ "type": "Microsoft.ApiManagement/service/workspaces/schemas",
+ "name": "schema2",
+ "properties": {
+ "description": "sample schema description",
+ "schemaType": "json",
+ "document": {
+ "$id": "https://example.com/person.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Person",
+ "type": "object",
+ "properties": {
+ "firstName": {
+ "type": "string",
+ "description": "The person's first name."
+ },
+ "lastName": {
+ "type": "string",
+ "description": "The person's last name."
+ },
+ "age": {
+ "description": "Age in years which must be equal to or greater than zero.",
+ "type": "integer",
+ "minimum": 0
+ }
+ }
+ }
+ }
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceSubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceSubscriptions.json
new file mode 100644
index 000000000000..b3ab1f78ce91
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceSubscriptions.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/subscriptions/5600b59475ff190048070001",
+ "type": "Microsoft.ApiManagement/service/workspaces/subscriptions",
+ "name": "5600b59475ff190048070001",
+ "properties": {
+ "ownerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/products/5600b59475ff190048060001",
+ "state": "active",
+ "createdDate": "2015-09-22T01:57:40.3Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/subscriptions/56eaed3dbaf08b06e46d27fe",
+ "type": "Microsoft.ApiManagement/service/workspaces/subscriptions",
+ "name": "56eaed3dbaf08b06e46d27fe",
+ "properties": {
+ "ownerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/56eaec62baf08b06e46d27fd",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/products/5600b59475ff190048060001",
+ "displayName": "Starter",
+ "state": "active",
+ "createdDate": "2016-03-17T17:45:33.837Z",
+ "startDate": "2016-03-17T00:00:00Z",
+ "expirationDate": "2016-04-01T00:00:00Z",
+ "notificationDate": "2016-03-20T00:00:00Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/subscriptions/5931a769d8d14f0ad8ce13b8",
+ "type": "Microsoft.ApiManagement/service/workspaces/subscriptions",
+ "name": "5931a769d8d14f0ad8ce13b8",
+ "properties": {
+ "ownerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/products/5600b59475ff190048060002",
+ "displayName": "Unlimited",
+ "state": "submitted",
+ "createdDate": "2017-06-02T17:59:06.223Z"
+ }
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceTagApiLinks.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceTagApiLinks.json
new file mode 100644
index 000000000000..53f7480ae86f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceTagApiLinks.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "tagId": "tag1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/tags/tag1/apiLinks/link1",
+ "type": "Microsoft.ApiManagement/service/workspaces/tags/apiLinks",
+ "name": "link1",
+ "properties": {
+ "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/echo-api"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceTagOperationLinks.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceTagOperationLinks.json
new file mode 100644
index 000000000000..0de46a80045d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceTagOperationLinks.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "tagId": "tag1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/tags/tag1/operationLinks/link1",
+ "type": "Microsoft.ApiManagement/service/workspaces/tags/operationLinks",
+ "name": "link1",
+ "properties": {
+ "operationId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/echo-api/operations/op1"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceTagProductLinks.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceTagProductLinks.json
new file mode 100644
index 000000000000..cef11c6dc9a9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceTagProductLinks.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "tagId": "tag1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/tags/tag1/productLinks/link1",
+ "type": "Microsoft.ApiManagement/service/workspaces/tags/productLinks",
+ "name": "link1",
+ "properties": {
+ "productId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/products/product1"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceTags.json
new file mode 100644
index 000000000000..a79c4ecdd4c9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceTags.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/tags/5600b59375ff190048020001",
+ "type": "Microsoft.ApiManagement/service/workspaces/tags",
+ "name": "5600b59375ff190048020001",
+ "properties": {
+ "displayName": "tag1"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/tags/5600b59375ff190048020002",
+ "type": "Microsoft.ApiManagement/service/workspaces/tags",
+ "name": "5600b59375ff190048020002",
+ "properties": {
+ "displayName": "tag2"
+ }
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaces.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaces.json
new file mode 100644
index 000000000000..a281324ac2eb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaces.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1",
+ "type": "Microsoft.ApiManagement/service/workspaces",
+ "name": "wks1",
+ "properties": {
+ "description": "workspace 1",
+ "displayName": "my workspace"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks2",
+ "type": "Microsoft.ApiManagement/service/workspaces",
+ "name": "wks1",
+ "properties": {
+ "description": "workspace 2",
+ "displayName": "my workspace"
+ }
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementNamedValueListValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementNamedValueListValue.json
new file mode 100644
index 000000000000..ec4db0ca6ffc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementNamedValueListValue.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "namedValueId": "testarmTemplateproperties2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "propValue"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementOpenidConnectProviderListSecrets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementOpenidConnectProviderListSecrets.json
new file mode 100644
index 000000000000..8189ae7946b1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementOpenidConnectProviderListSecrets.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "opid": "templateOpenIdConnect2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "clientSecret": "oidsecretproviderTemplate2"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPerformConnectivityCheck.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPerformConnectivityCheck.json
new file mode 100644
index 000000000000..19f675c6d543
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPerformConnectivityCheck.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "connectivityCheckRequestParams": {
+ "source": {
+ "region": "northeurope"
+ },
+ "destination": {
+ "address": "8.8.8.8",
+ "port": 53
+ },
+ "preferredIPVersion": "IPv4"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/connectivityCheck/operationresults/bmljb2xhLW5ldHdvcmt3YXRjaGVyNF9Db25uZWN0aXRpdml0eUNoZWNrXzE2MmExNmZl?api-version=2023-09-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "hops": [
+ {
+ "type": "Source",
+ "id": "7dbbe7aa-60ba-4650-831e-63d775d38e9e",
+ "address": "10.1.1.4",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "nextHopIds": [
+ "75c8d819-b208-4584-a311-1aa45ce753f9"
+ ],
+ "issues": []
+ },
+ {
+ "type": "Internet",
+ "id": "75c8d819-b208-4584-a311-1aa45ce753f9",
+ "address": "8.8.8.8",
+ "nextHopIds": [],
+ "issues": []
+ }
+ ],
+ "connectionStatus": "Connected",
+ "avgLatencyInMs": 1,
+ "minLatencyInMs": 1,
+ "maxLatencyInMs": 4,
+ "probesSent": 100,
+ "probesFailed": 0
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPerformConnectivityCheckHttpConnect.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPerformConnectivityCheckHttpConnect.json
new file mode 100644
index 000000000000..fc3686e57e91
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPerformConnectivityCheckHttpConnect.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "connectivityCheckRequestParams": {
+ "source": {
+ "region": "northeurope"
+ },
+ "destination": {
+ "address": "https://microsoft.com",
+ "port": 3306
+ },
+ "protocol": "HTTPS",
+ "protocolConfiguration": {
+ "HTTPConfiguration": {
+ "method": "GET",
+ "validStatusCodes": [
+ 200,
+ 204
+ ],
+ "headers": [
+ {
+ "name": "Authorization",
+ "value": "Bearer myPreciousToken"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/connectivityCheck/operationresults/bmljb2xhLW5ldHdvcmt3YXRjaGVyNF9Db25uZWN0aXRpdml0eUNoZWNrXzE2MmExNmZl?api-version=2023-09-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "hops": [
+ {
+ "type": "Source",
+ "id": "c60e2296-5ebc-48cc-80e8-7e6d2981e7b2",
+ "address": "20.82.216.48",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "nextHopIds": [
+ "26aa44e7-04f1-462f-aa5d-5951957b5650"
+ ],
+ "issues": []
+ },
+ {
+ "type": "Internet",
+ "id": "26aa44e7-04f1-462f-aa5d-5951957b5650",
+ "address": "40.113.200.201",
+ "nextHopIds": [],
+ "issues": []
+ }
+ ],
+ "connectionStatus": "Reachable",
+ "avgLatencyInMs": 260,
+ "minLatencyInMs": 250,
+ "maxLatencyInMs": 281,
+ "probesSent": 3,
+ "probesFailed": 0
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalConfig.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalConfig.json
new file mode 100644
index 000000000000..b7f086e402a0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalConfig.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "portalConfigId": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalconfigs/default",
+ "type": "Microsoft.ApiManagement/service/portalconfigs",
+ "name": "default",
+ "properties": {
+ "enableBasicAuth": true,
+ "signin": {
+ "require": false
+ },
+ "signup": {
+ "termsOfService": {
+ "text": "I agree to the service terms and conditions.",
+ "requireConsent": false
+ }
+ },
+ "delegation": {
+ "delegateRegistration": false,
+ "delegateSubscription": false,
+ "delegationUrl": null,
+ "validationKey": null
+ },
+ "csp": {
+ "mode": "reportOnly",
+ "reportUri": [
+ "https://report.contoso.com"
+ ],
+ "allowedSources": [
+ "*.contoso.com"
+ ]
+ },
+ "cors": {
+ "allowedOrigins": [
+ "https://contoso.com"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsGetDelegation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsGetDelegation.json
new file mode 100644
index 000000000000..aa5d6d3a327c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsGetDelegation.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/delegation",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "delegation",
+ "properties": {
+ "url": "http://contoso.com/delegation",
+ "subscriptions": {
+ "enabled": true
+ },
+ "userRegistration": {
+ "enabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsGetSignIn.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsGetSignIn.json
new file mode 100644
index 000000000000..0c50b84fb5c6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsGetSignIn.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signin",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "signin",
+ "properties": {
+ "enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsGetSignUp.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsGetSignUp.json
new file mode 100644
index 000000000000..7c92a1957d53
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsGetSignUp.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signup",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "signup",
+ "properties": {
+ "enabled": true,
+ "termsOfService": {
+ "text": "Terms of service text.",
+ "enabled": true,
+ "consentRequired": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsPutDelegation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsPutDelegation.json
new file mode 100644
index 000000000000..6bde69c15e6b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsPutDelegation.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "url": "http://contoso.com/delegation",
+ "validationKey": "",
+ "subscriptions": {
+ "enabled": true
+ },
+ "userRegistration": {
+ "enabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/delegation",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "delegation",
+ "properties": {
+ "url": "http://contoso.com/delegation",
+ "subscriptions": {
+ "enabled": true
+ },
+ "userRegistration": {
+ "enabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsPutSignIn.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsPutSignIn.json
new file mode 100644
index 000000000000..962a15310438
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsPutSignIn.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signin",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "signin",
+ "properties": {
+ "enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsPutSignUp.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsPutSignUp.json
new file mode 100644
index 000000000000..c202a5ab7e6d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsPutSignUp.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "enabled": true,
+ "termsOfService": {
+ "enabled": true,
+ "text": "Terms of service text.",
+ "consentRequired": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signup",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "signup",
+ "properties": {
+ "enabled": true,
+ "termsOfService": {
+ "text": "Terms of service text.",
+ "enabled": true,
+ "consentRequired": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsUpdateDelegation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsUpdateDelegation.json
new file mode 100644
index 000000000000..76a7d5e798f1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsUpdateDelegation.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "url": "http://contoso.com/delegation",
+ "validationKey": "",
+ "subscriptions": {
+ "enabled": true
+ },
+ "userRegistration": {
+ "enabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsUpdateSignIn.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsUpdateSignIn.json
new file mode 100644
index 000000000000..fdcdcccc9e2b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsUpdateSignIn.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsUpdateSignUp.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsUpdateSignUp.json
new file mode 100644
index 000000000000..38575f7c6c33
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPortalSettingsUpdateSignUp.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "enabled": true,
+ "termsOfService": {
+ "enabled": true,
+ "text": "Terms of service text.",
+ "consentRequired": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPostAuthorizationConfirmConsentCodeRequest.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPostAuthorizationConfirmConsentCodeRequest.json
new file mode 100644
index 000000000000..ddb82fdc99ca
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementPostAuthorizationConfirmConsentCodeRequest.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "authorizationProviderId": "aadwithauthcode",
+ "authorizationId": "authz1",
+ "parameters": {
+ "consentCode": "theconsentcode"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementRefreshCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementRefreshCertificate.json
new file mode 100644
index 000000000000..ef67ddb8bdad
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementRefreshCertificate.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "certificateId": "templateCertkv"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "templateCertkv",
+ "properties": {
+ "subject": "CN=*.msitesting.net",
+ "thumbprint": "EA**********************9AD690",
+ "expirationDate": "2037-01-01T07:00:00Z",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-22T00:24:53.3191468Z"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementRefreshNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementRefreshNamedValue.json
new file mode 100644
index 000000000000..4509fe6cabe4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementRefreshNamedValue.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "namedValueId": "testprop2"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6/refreshSecret?api-version=2023-09-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2023-09-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "testprop6",
+ "properties": {
+ "displayName": "prop6namekv",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "identityClientId": "2d2df842-44d8-4885-8dec-77cc1a984a31",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-11T00:54:31.8024882Z"
+ }
+ },
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementRefreshWorkspaceCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementRefreshWorkspaceCertificate.json
new file mode 100644
index 000000000000..056c8b7def8c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementRefreshWorkspaceCertificate.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "certificateId": "templateCertkv"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/certificates/templateCertkv",
+ "type": "Microsoft.ApiManagement/service/workspaces/certificates",
+ "name": "templateCertkv",
+ "properties": {
+ "subject": "CN=*.msitesting.net",
+ "thumbprint": "EA**********************9AD690",
+ "expirationDate": "2037-01-01T07:00:00Z",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-22T00:24:53.3191468Z"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementRefreshWorkspaceNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementRefreshWorkspaceNamedValue.json
new file mode 100644
index 000000000000..85aafa7f7131
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementRefreshWorkspaceNamedValue.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "namedValueId": "testprop2"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/namedValues/testprop6/refreshSecret?api-version=2023-09-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2023-09-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/namedValues/testprop6",
+ "type": "Microsoft.ApiManagement/service/workspaces/namedValues",
+ "name": "testprop6",
+ "properties": {
+ "displayName": "prop6namekv",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "identityClientId": "2d2df842-44d8-4885-8dec-77cc1a984a31",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-11T00:54:31.8024882Z"
+ }
+ },
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementRestoreWithAccessKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementRestoreWithAccessKey.json
new file mode 100644
index 000000000000..2f60d8f00251
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementRestoreWithAccessKey.json
@@ -0,0 +1,138 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "storageAccount": "teststorageaccount",
+ "containerName": "backupContainer",
+ "backupName": "apimService1backup_2017_03_19",
+ "accessType": "AccessKey",
+ "accessKey": "**************************************************"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2023-09-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "West US",
+ "etag": "AAAAAAACXok=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-12-18T06:26:20.3348609Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-westus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Proxy",
+ "hostName": "gateway1.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": true
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Portal",
+ "hostName": "portal1.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ },
+ {
+ "type": "ConfigurationApi",
+ "hostName": "config-api.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ }
+ ],
+ "publicIPAddresses": [
+ "13.91.32.113"
+ ],
+ "additionalLocations": [
+ {
+ "location": "East US",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "publicIPAddresses": [
+ "23.101.138.153"
+ ],
+ "gatewayRegionalUrl": "https://apimService1-eastus-01.regional.azure-api.net",
+ "disableGateway": true
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-01-01"
+ }
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceCheckNameAvailability.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceCheckNameAvailability.json
new file mode 100644
index 000000000000..62d8c02907a9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceCheckNameAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "name": "apimService1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "Valid",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceDeleteService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceDeleteService.json
new file mode 100644
index 000000000000..e6016d03ca83
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceDeleteService.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/TGV2eTExMDZtMDJfVGVybV9jMmZlY2QwMA==?api-version=2023-09-01-preview"
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "West US",
+ "etag": "AAAAAAFfhHY=",
+ "properties": {
+ "publisherEmail": "contoso@live.com",
+ "publisherName": "Microsoft",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "Deleting",
+ "createdAtUtc": "2016-12-20T19:41:21.5823069Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-westus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "40.XX.XXX.168"
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/BlockVNETSamir/subnets/default"
+ },
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "External"
+ },
+ "sku": {
+ "name": "Developer",
+ "capacity": 1
+ }
+ }
+ },
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetDomainOwnershipIdentifier.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetDomainOwnershipIdentifier.json
new file mode 100644
index 000000000000..13f0e64b9299
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetDomainOwnershipIdentifier.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "domainOwnershipIdentifier": "KLE1vdMblVeHECAi4nCe3oNaXXXXvNlLrXt2ev84KM="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetMultiRegionInternalVnet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetMultiRegionInternalVnet.json
new file mode 100644
index 000000000000..d47095f220e5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetMultiRegionInternalVnet.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimservice1",
+ "name": "apimservice1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "West US",
+ "etag": "AAAAAADqC0c=",
+ "properties": {
+ "publisherEmail": "abcs@contoso.com",
+ "publisherName": "contoso publisher",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-12-02T01:42:09.1268424Z",
+ "gatewayUrl": "https://apimservice1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimservice1-westus-01.regional.azure-api.net",
+ "portalUrl": "https://apimservice1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimservice1.management.azure-api.net",
+ "scmUrl": "https://apimservice1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false,
+ "certificateSource": "BuiltIn"
+ },
+ {
+ "type": "Proxy",
+ "hostName": "apimgatewaytest.preview.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2019-08-16T16:51:34+00:00",
+ "thumbprint": "B4330123DBAXXXXXXXXX1F35E84493476",
+ "subject": "CN=*.preview.net"
+ },
+ "defaultSslBinding": true,
+ "certificateSource": "Custom"
+ }
+ ],
+ "publicIPAddresses": [
+ "137.XXX.11.74"
+ ],
+ "privateIPAddresses": [
+ "172.XX.0.5"
+ ],
+ "additionalLocations": [
+ {
+ "location": "West US 2",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "publicIPAddresses": [
+ "40.XXX.79.187"
+ ],
+ "privateIPAddresses": [
+ "10.0.X.6"
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/APIMVNet/subnets/apim-internal-sub"
+ },
+ "gatewayRegionalUrl": "https://apimservice1-westus2-01.regional.azure-api.net",
+ "disableGateway": false
+ }
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/apim-appGateway-vnet/subnets/apim-subnet"
+ },
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False"
+ },
+ "virtualNetworkType": "Internal",
+ "disableGateway": false,
+ "apiVersionConstraint": {}
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetNetworkStatus.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetNetworkStatus.json
new file mode 100644
index 000000000000..5bb1828e46d2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetNetworkStatus.json
@@ -0,0 +1,177 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "location": "Central US EUAP",
+ "networkStatus": {
+ "dnsServers": [
+ "168.63.129.16"
+ ],
+ "connectivityStatus": [
+ {
+ "name": "apimst8rlxXXXXX7.queue.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2023-06-08T16:41:44.6399168Z",
+ "lastStatusChange": "2023-05-25T03:53:44.1786214Z",
+ "resourceType": "SmtpQueue",
+ "isOptional": true
+ },
+ {
+ "name": "apimstm5lkXXXXX4kky0.blob.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2023-06-08T16:39:33.9426753Z",
+ "lastStatusChange": "2023-05-25T03:53:44.1786214Z",
+ "resourceType": "BlobStorage",
+ "isOptional": false
+ },
+ {
+ "name": "apimstm5lkXXXXX4kky0.file.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2023-06-08T16:41:38.9993574Z",
+ "lastStatusChange": "2023-05-25T03:53:43.8953621Z",
+ "resourceType": "FileStorage",
+ "isOptional": true
+ },
+ {
+ "name": "apimstm5lkXXXXX4kky0.queue.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2023-06-08T16:41:38.4368875Z",
+ "lastStatusChange": "2023-05-25T03:53:44.2081238Z",
+ "resourceType": "Queue",
+ "isOptional": true
+ },
+ {
+ "name": "apimstm5lkXXXXX4kky0.table.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2023-06-08T16:41:17.4762359Z",
+ "lastStatusChange": "2023-05-25T03:53:43.9734877Z",
+ "resourceType": "TableStorage",
+ "isOptional": false
+ },
+ {
+ "name": "apirpsqlmgsXXXXXXic45.database.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2023-06-08T16:40:50.2954792Z",
+ "lastStatusChange": "2023-05-25T03:53:44.0704109Z",
+ "resourceType": "SQLDatabase",
+ "isOptional": false
+ },
+ {
+ "name": "gcs.prod.monitoring.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2023-06-08T16:40:09.8448385Z",
+ "lastStatusChange": "2023-05-25T03:53:43.8484895Z",
+ "resourceType": "Monitoring",
+ "isOptional": false
+ },
+ {
+ "name": "https://apikv-XXXXXXurugl3.vault.azure.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2023-06-08T16:40:17.3447288Z",
+ "lastStatusChange": "2023-06-02T06:54:45.7125288Z",
+ "resourceType": "AzureKeyVault",
+ "isOptional": false
+ },
+ {
+ "name": "https://centraluseuap.login.microsoft.com",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2023-06-08T16:40:01.6660359Z",
+ "lastStatusChange": "2023-05-25T03:53:44.1490292Z",
+ "resourceType": "RegionalAzureActiveDirectory",
+ "isOptional": true
+ },
+ {
+ "name": "https://gcs.prod.warm.ingestion.monitoring.azure.com",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2023-06-08T16:42:08.0050056Z",
+ "lastStatusChange": "2023-05-26T14:09:26.2508948Z",
+ "resourceType": "Monitoring",
+ "isOptional": true
+ },
+ {
+ "name": "https://global.prod.microsoftmetrics.com/",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2023-06-08T16:40:12.9698299Z",
+ "lastStatusChange": "2023-05-25T03:53:44.1297766Z",
+ "resourceType": "Monitoring",
+ "isOptional": true
+ },
+ {
+ "name": "https://login.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2023-06-08T16:40:43.4048644Z",
+ "lastStatusChange": "2023-06-04T11:10:16.1041673Z",
+ "resourceType": "AzureActiveDirectory",
+ "isOptional": true
+ },
+ {
+ "name": "https://partner.prod.repmap.microsoft.com",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2023-06-08T16:40:32.6067213Z",
+ "lastStatusChange": "2023-05-25T03:53:44.2081238Z",
+ "resourceType": "CaptchaEndpoint",
+ "isOptional": true
+ },
+ {
+ "name": "https://xxxxx.prod.microsoftmetrics.com:1886/RecoveryService",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2023-06-08T16:42:33.8566303Z",
+ "lastStatusChange": "2023-05-25T03:53:44.3488261Z",
+ "resourceType": "Metrics",
+ "isOptional": true
+ },
+ {
+ "name": "https://samir-XXXXXXX.management.azure-api.net:3443/servicestatus?api-version=2018-01-01",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2023-06-08T16:42:10.3954682Z",
+ "lastStatusChange": "2023-06-08T16:42:10.3954682Z",
+ "resourceType": "ApiManagement Control Plane - inbound",
+ "isOptional": false
+ },
+ {
+ "name": "LocalGatewayRedis",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2023-06-08T16:39:30.184537Z",
+ "lastStatusChange": "2023-05-25T03:53:44.2081238Z",
+ "resourceType": "InternalCache",
+ "isOptional": true
+ },
+ {
+ "name": "Scm",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2023-06-08T16:41:24.6623693Z",
+ "lastStatusChange": "2023-05-25T03:32:02.6480516Z",
+ "resourceType": "SourceControl",
+ "isOptional": true
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetNetworkStatusByLocation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetNetworkStatusByLocation.json
new file mode 100644
index 000000000000..204472833c82
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetNetworkStatusByLocation.json
@@ -0,0 +1,146 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "locationName": "North Central US"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "dnsServers": [
+ "10.82.98.10"
+ ],
+ "connectivityStatus": [
+ {
+ "name": "apimgmtst6tnxxxxxxxxxxx.blob.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:14.7035899Z",
+ "lastStatusChange": "2020-11-20T07:54:55.9365931Z",
+ "resourceType": "BlobStorage",
+ "isOptional": false
+ },
+ {
+ "name": "apimgmtst6tnxxxxxxxxxxx.file.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:41.5322463Z",
+ "lastStatusChange": "2020-11-20T07:54:55.9265938Z",
+ "resourceType": "FileStorage",
+ "isOptional": true
+ },
+ {
+ "name": "apimgmtst6tnxxxxxxxxxxx.queue.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:30.645994Z",
+ "lastStatusChange": "2020-11-20T07:54:55.8410477Z",
+ "resourceType": "Queue",
+ "isOptional": true
+ },
+ {
+ "name": "apimgmtst6tnxxxxxxxxxxx.table.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:23.8789171Z",
+ "lastStatusChange": "2020-11-20T07:54:55.9365931Z",
+ "resourceType": "TableStorage",
+ "isOptional": false
+ },
+ {
+ "name": "gcs.prod.monitoring.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:57:34.8666833Z",
+ "lastStatusChange": "2020-11-20T08:07:37.5486932Z",
+ "resourceType": "Monitoring",
+ "isOptional": true
+ },
+ {
+ "name": "https://gcs.ppe.warm.ingestion.monitoring.azure.com",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:56:26.1870188Z",
+ "lastStatusChange": "2020-11-20T07:54:56.1060523Z",
+ "resourceType": "Monitoring",
+ "isOptional": true
+ },
+ {
+ "name": "https://global.metrics.nsatc.net/",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:56:35.9620612Z",
+ "lastStatusChange": "2020-11-20T07:54:56.0510519Z",
+ "resourceType": "Monitoring",
+ "isOptional": true
+ },
+ {
+ "name": "https://login.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:56:30.8047708Z",
+ "lastStatusChange": "2020-11-20T07:54:56.1060523Z",
+ "resourceType": "AzureActiveDirectory",
+ "isOptional": true
+ },
+ {
+ "name": "https://prod2.metrics.nsatc.net:1886/RecoveryService",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:56:45.2095302Z",
+ "lastStatusChange": "2020-11-20T07:54:56.2796235Z",
+ "resourceType": "Metrics",
+ "isOptional": true
+ },
+ {
+ "name": "LocalGatewayRedis",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:15.1345836Z",
+ "lastStatusChange": "2020-11-20T07:54:55.9365931Z",
+ "resourceType": "InternalCache",
+ "isOptional": true
+ },
+ {
+ "name": "prod.warmpath.msftcloudes.com",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:57.8992141Z",
+ "lastStatusChange": "2020-11-20T07:54:55.8410477Z",
+ "resourceType": "Monitoring",
+ "isOptional": false
+ },
+ {
+ "name": "Scm",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T23:03:57.6187917Z",
+ "lastStatusChange": "2020-11-20T07:54:57.325384Z",
+ "resourceType": "SourceControl",
+ "isOptional": true
+ },
+ {
+ "name": "smtpi-xxx.msn.com:25028",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:58:22.2430074Z",
+ "lastStatusChange": "2020-11-20T07:54:56.3510577Z",
+ "resourceType": "Email",
+ "isOptional": true
+ },
+ {
+ "name": "zwcvuxxxx.database.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:44.3582171Z",
+ "lastStatusChange": "2020-11-20T07:54:56.0410467Z",
+ "resourceType": "SQLDatabase",
+ "isOptional": false
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetOutboundNetworkDependenciesEndpoints.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetOutboundNetworkDependenciesEndpoints.json
new file mode 100644
index 000000000000..62508f18d118
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetOutboundNetworkDependenciesEndpoints.json
@@ -0,0 +1,463 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "category": "Azure SMTP",
+ "endpoints": [
+ {
+ "domainName": "smtpi-ch1.msn.com",
+ "endpointDetails": [
+ {
+ "port": 25028,
+ "region": "West US"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "Azure SQL",
+ "endpoints": [
+ {
+ "domainName": "xxxx1345234.database.windows.net",
+ "endpointDetails": [
+ {
+ "port": 1433,
+ "region": "West US"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "Azure Storage",
+ "endpoints": [
+ {
+ "domainName": "xxxx32storagedgfbay.blob.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx1362629927xt.blob.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx1362629927xt.table.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx141483183xt.blob.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx141483183xt.table.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx1949864718xt.blob.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx1949864718xt.table.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx3292114122xt.blob.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx3292114122xt.table.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx32tst4oto8t0mlesawmm.blob.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx32tst4oto8t0mlesawmm.file.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 445,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx32tst4oto8t0mlesawmm.queue.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx32tst4oto8t0mlesawmm.table.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "Azure Event Hub",
+ "endpoints": [
+ {
+ "domainName": "xxxx1362629927eh.servicebus.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ },
+ {
+ "port": 5671,
+ "region": "West US"
+ },
+ {
+ "port": 5672,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx1949864718eh.servicebus.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ },
+ {
+ "port": 5671,
+ "region": "West US"
+ },
+ {
+ "port": 5672,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx3292114122eh.servicebus.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ },
+ {
+ "port": 5671,
+ "region": "West US"
+ },
+ {
+ "port": 5672,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx141483183eh.servicebus.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ },
+ {
+ "port": 5671,
+ "region": "West US"
+ },
+ {
+ "port": 5672,
+ "region": "West US"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "SSL Certificate Verification",
+ "endpoints": [
+ {
+ "domainName": "ocsp.msocsp.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "region": "Global"
+ },
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "mscrl.microsoft.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "region": "Global"
+ },
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "crl.microsoft.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "region": "Global"
+ },
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "crl3.digicert.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "region": "Global"
+ },
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "ocsp.digicert.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "region": "Global"
+ },
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "cacerts.digicert.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "region": "Global"
+ },
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "Azure Monitor",
+ "endpoints": [
+ {
+ "domainName": "gcs.ppe.monitoring.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "global.prod.microsoftmetrics.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "xxx3.prod.microsoftmetrics.com",
+ "endpointDetails": [
+ {
+ "port": 1886,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "xxx3-red.prod.microsoftmetrics.com",
+ "endpointDetails": [
+ {
+ "port": 1886,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "xxx3-black.prod.microsoftmetrics.com",
+ "endpointDetails": [
+ {
+ "port": 1886,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "gcs.ppe.warm.ingestion.monitoring.azure.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "metrichost23.prod.microsoftmetrics.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "metrichost23-red.prod.microsoftmetrics.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "metrichost23-black.prod.microsoftmetrics.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "Portal Captcha",
+ "endpoints": [
+ {
+ "domainName": "client.xxx.live.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "partner.xxx.live.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "Azure Active Directory",
+ "endpoints": [
+ {
+ "domainName": "login.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "graph.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "login.microsoftonline.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetService.json
new file mode 100644
index 000000000000..22a69bd6635d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetService.json
@@ -0,0 +1,179 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/OGF-Z3-06162021-Premium",
+ "name": "OGF-Z3-06162021-Premium",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "owner": "v-aswmoh",
+ "ReleaseName": "Z3"
+ },
+ "location": "East US",
+ "etag": "AAAAAAAWN/4=",
+ "properties": {
+ "publisherEmail": "string",
+ "publisherName": "Test Premium",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2021-06-16T09:40:00.9453556Z",
+ "gatewayUrl": "https://ogf-z3-06162021-premium.azure-api.net",
+ "gatewayRegionalUrl": "https://ogf-z3-06162021-premium-eastus-01.regional.azure-api.net",
+ "portalUrl": "https://ogf-z3-06162021-premium.portal.azure-api.net",
+ "developerPortalUrl": "https://ogf-z3-06162021-premium.developer.azure-api.net",
+ "managementApiUrl": "https://ogf-z3-06162021-premium.management.azure-api.net",
+ "scmUrl": "https://ogf-z3-06162021-premium.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "ogf-z3-06162021-premium.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false,
+ "certificateSource": "BuiltIn"
+ },
+ {
+ "type": "Proxy",
+ "hostName": "gateway.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault.azure.net/secrets/current-ssl",
+ "negotiateClientCertificate": true,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286XXXXXXXX58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": true,
+ "certificateSource": "Custom"
+ },
+ {
+ "type": "DeveloperPortal",
+ "hostName": "developer.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault.azure.net/secrets/current-ssl",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286XXXXXXXX58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": false,
+ "certificateSource": "Custom"
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault.azure.net/secrets/current-ssl",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286XXXXXXXX58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": false,
+ "certificateSource": "Custom"
+ },
+ {
+ "type": "ConfigurationApi",
+ "hostName": "configuration-api.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault.azure.net/secrets/current-ssl",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286XXXXXXXX58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": false,
+ "certificateSource": "Custom"
+ }
+ ],
+ "publicIPAddresses": [
+ "13.92.130.49"
+ ],
+ "additionalLocations": [
+ {
+ "location": "East US 2",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "zones": [],
+ "publicIPAddresses": [
+ "40.70.24.106"
+ ],
+ "gatewayRegionalUrl": "https://ogf-z3-06162021-premium-eastus2-01.regional.azure-api.net",
+ "disableGateway": false,
+ "platformVersion": "stv2"
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false"
+ },
+ "virtualNetworkType": "None",
+ "certificates": [],
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-12-01"
+ },
+ "publicNetworkAccess": "Enabled",
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateEndpointConnections/privateEndpointProxyName",
+ "type": "Microsoft.ApiManagement/service/privateEndpointConnections",
+ "name": "privateEndpointProxyName",
+ "properties": {
+ "provisioningState": "Pending",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/privateEndpointName"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request, thanks",
+ "actionsRequired": "None"
+ },
+ "groupIds": [
+ "Gateway"
+ ]
+ }
+ }
+ ],
+ "platformVersion": "stv2"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "306205e7-b21a-41bf-92e2-3e28af30041e",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ogf-identity": {
+ "principalId": "713784d2-ee37-412a-95f0-3768f397f82d",
+ "clientId": "8d9791f2-0cdf-41f4-9e66-cdc39b496789"
+ }
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2021-06-16T09:40:00.7106733Z",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-06-20T06:33:09.6159006Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetServiceHavingMsi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetServiceHavingMsi.json
new file mode 100644
index 000000000000..2256a20ad0f7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetServiceHavingMsi.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "West Europe",
+ "etag": "AAAAAAAENfI=",
+ "properties": {
+ "publisherEmail": "foo@contoso.com",
+ "publisherName": "Contoso",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2016-04-12T00:20:15.6018952Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-westeurope-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false,
+ "certificateSource": "BuiltIn"
+ },
+ {
+ "type": "Proxy",
+ "hostName": "proxy.msitesting.net",
+ "keyVaultId": "https://samir-msi-keyvault.vault.azure.net/secrets/msicertificate",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2020-12-18T11:11:47+00:00",
+ "thumbprint": "9833D531D7A45XXXXXA85908BD3692E0BD3F",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": true,
+ "certificateSource": "KeyVault"
+ }
+ ],
+ "publicIPAddresses": [
+ "13.94.xxx.188"
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/dfVirtualNetwork/subnets/backendSubnet"
+ },
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "External",
+ "disableGateway": false
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "ca1d33f7-0000-42ec-0000-d526a1ee953a",
+ "tenantId": "72f988bf-0000-41af-0000-2d7cd011db47",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": {
+ "principalId": "95194df2-9208-0000-0000-a10d2af9b5a3",
+ "clientId": "aaff9c7d-0000-4db2-0000-ab0e3e7806cf"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetSsoToken.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetSsoToken.json
new file mode 100644
index 000000000000..f22858c15a36
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceGetSsoToken.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "redirectUri": "https://apimService1.portal.azure-api.net:443/signin-sso?token=1%26201705301929%26eIkr3%2fnfaLs1GVJ0OVbzkJjAcwPFkEZAPM8VUXvXPf7cJ6lWsB9oUwsk2zln9x0KLkn21txCPJWWheSPq7SNeA%3d%3d"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceMigrateToStv2.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceMigrateToStv2.json
new file mode 100644
index 000000000000..c86fb2dffd17
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementServiceMigrateToStv2.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "mode": "PreserveIp"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2023-09-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimservice1",
+ "name": "apimservice1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "West US",
+ "etag": "AAAAAADqC0c=",
+ "properties": {
+ "publisherEmail": "abcs@contoso.com",
+ "publisherName": "contoso publisher",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-12-02T01:42:09.1268424Z",
+ "gatewayUrl": "https://apimservice1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimservice1-westus-01.regional.azure-api.net",
+ "portalUrl": "https://apimservice1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimservice1.management.azure-api.net",
+ "scmUrl": "https://apimservice1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false,
+ "certificateSource": "BuiltIn"
+ },
+ {
+ "type": "Proxy",
+ "hostName": "apimgatewaytest.preview.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2019-08-16T16:51:34+00:00",
+ "thumbprint": "B4330123DBAXXXXXXXXX1F35E84493476",
+ "subject": "CN=*.preview.net"
+ },
+ "defaultSslBinding": true,
+ "certificateSource": "Custom"
+ }
+ ],
+ "publicIPAddresses": [
+ "137.XXX.11.74"
+ ],
+ "privateIPAddresses": [
+ "172.XX.0.5"
+ ],
+ "additionalLocations": [
+ {
+ "location": "West US 2",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "publicIPAddresses": [
+ "40.XXX.79.187"
+ ],
+ "privateIPAddresses": [
+ "10.0.X.6"
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/APIMVNet/subnets/apim-internal-sub"
+ },
+ "gatewayRegionalUrl": "https://apimservice1-westus2-01.regional.azure-api.net",
+ "disableGateway": false
+ }
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/apim-appGateway-vnet/subnets/apim-subnet"
+ },
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False"
+ },
+ "virtualNetworkType": "Internal",
+ "disableGateway": false,
+ "apiVersionConstraint": {},
+ "platformVersion": "stv2"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementSubscriptionListSecrets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementSubscriptionListSecrets.json
new file mode 100644
index 000000000000..e2e070ebbef9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementSubscriptionListSecrets.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "sid": "5931a769d8d14f0ad8ce13b8"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "",
+ "secondaryKey": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementSubscriptionRegeneratePrimaryKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementSubscriptionRegeneratePrimaryKey.json
new file mode 100644
index 000000000000..1144960ea780
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementSubscriptionRegeneratePrimaryKey.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "sid": "testsub"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementSubscriptionRegenerateSecondaryKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementSubscriptionRegenerateSecondaryKey.json
new file mode 100644
index 000000000000..1144960ea780
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementSubscriptionRegenerateSecondaryKey.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "sid": "testsub"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementTenantAccessRegenerateKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementTenantAccessRegenerateKey.json
new file mode 100644
index 000000000000..a9d788f54832
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementTenantAccessRegenerateKey.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "accessName": "access"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementTenantAccessSyncState.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementTenantAccessSyncState.json
new file mode 100644
index 000000000000..ae3e8c25d5b4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementTenantAccessSyncState.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "configurationName": "configuration"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/configuration/syncState",
+ "type": "Microsoft.ApiManagement/service/tenant/syncState",
+ "name": "syncState",
+ "properties": {
+ "branch": "master",
+ "commitId": "de891c2342c7058dde45e5e624eae7e558c94683",
+ "isExport": true,
+ "isSynced": true,
+ "isGitEnabled": true,
+ "syncDate": "2021-04-13T01:15:53.9824995Z",
+ "configurationChangeDate": "2021-04-13T00:11:43.862781Z",
+ "lastOperationId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/configuration/operationResults/6074f0bd093a9d0dac3d7347"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementTenantConfigurationDeploy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementTenantConfigurationDeploy.json
new file mode 100644
index 000000000000..5ec3a0d15487
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementTenantConfigurationDeploy.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "configurationName": "configuration",
+ "parameters": {
+ "properties": {
+ "branch": "master"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5a1af4ae2a6d2e0b688d7517?api-version=2023-09-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "6074e652093a9d0dac3d733c",
+ "type": "Microsoft.ApiManagement/service/tenant/operationResults",
+ "name": "6074e652093a9d0dac3d733c",
+ "properties": {
+ "status": "Failed",
+ "started": "2017-11-26T17:06:54.303Z",
+ "updated": "2017-11-26T17:07:21.777Z",
+ "error": {
+ "code": "ValidationError",
+ "message": "File not found: 'api-management/configuration.json'"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementTenantConfigurationSave.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementTenantConfigurationSave.json
new file mode 100644
index 000000000000..7aa8b775439c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementTenantConfigurationSave.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "configurationName": "configuration",
+ "parameters": {
+ "properties": {
+ "branch": "master"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5a1af57d2a6d2e0b688d751b?api-version=2023-09-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "6074e652093a9d0dac3d733c",
+ "type": "Microsoft.ApiManagement/service/tenant/operationResults",
+ "name": "6074e652093a9d0dac3d733c",
+ "properties": {
+ "status": "Succeeded",
+ "started": "2021-04-13T00:31:14.94Z",
+ "updated": "2021-04-13T00:31:27.59Z",
+ "resultInfo": "The configuration was successfully saved to master as commit c0ae274f6046912107bad734834cbf65918668b6.",
+ "actionLog": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementTenantConfigurationValidate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementTenantConfigurationValidate.json
new file mode 100644
index 000000000000..dc4eefa9ca25
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementTenantConfigurationValidate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "configurationName": "configuration",
+ "parameters": {
+ "properties": {
+ "branch": "master"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5a1af64e2a6d2e0b688d751e?api-version=2023-09-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "6074ec02093a9d0dac3d7345",
+ "type": "Microsoft.ApiManagement/service/tenant/operationResults",
+ "name": "6074ec02093a9d0dac3d7345",
+ "properties": {
+ "status": "Succeeded",
+ "started": "2021-04-13T00:55:30.62Z",
+ "updated": "2021-04-13T00:55:39.857Z",
+ "resultInfo": "Validation is successfull",
+ "actionLog": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUndelete.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUndelete.json
new file mode 100644
index 000000000000..da94a46c3ab3
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUndelete.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "properties": {
+ "publisherEmail": "foo@contoso.com",
+ "publisherName": "foo",
+ "restore": true
+ },
+ "sku": {
+ "name": "Developer",
+ "capacity": 1
+ },
+ "location": "South Central US"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2023-09-01-preview&asyncResponse",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2023-09-01-preview&asyncResponse"
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "location": "South Central US",
+ "etag": "AAAAAAAp3P0=",
+ "properties": {
+ "publisherEmail": "foo@contoso.com",
+ "publisherName": "foo",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Created",
+ "targetProvisioningState": "Activating",
+ "createdAtUtc": "2019-12-18T06:10:56.0327105Z",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {}
+ },
+ "sku": {
+ "name": "Developer",
+ "capacity": 1
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "location": "South Central US",
+ "etag": "AAAAAAAp3T4=",
+ "properties": {
+ "publisherEmail": "foo@contoso.com",
+ "publisherName": "foo",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-12-18T06:10:56.0327105Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-southcentralus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "publicIPAddresses": [
+ "23.102.171.124"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {}
+ },
+ "sku": {
+ "name": "Developer",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApi.json
new file mode 100644
index 000000000000..b48d6fb7cf70
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApi.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "echo-api",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "Echo API New",
+ "serviceUrl": "http://echoapi.cloudapp.net/api2",
+ "path": "newecho"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echo-api",
+ "properties": {
+ "displayName": "Echo API New",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api2",
+ "path": "newecho",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApiDiagnostic.json
new file mode 100644
index 000000000000..c767c9ea6187
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApiDiagnostic.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "diagnosticId": "applicationinsights",
+ "apiId": "echo-api",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/applicationinsights",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/apis/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ },
+ "frontend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApiIssue.json
new file mode 100644
index 000000000000..b2b0f8a77bf9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApiIssue.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "state": "closed"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApiOperation.json
new file mode 100644
index 000000000000..3c68c53e5dbc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApiOperation.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "echo-api",
+ "operationId": "operationId",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "Retrieve resource",
+ "method": "GET",
+ "urlTemplate": "/resource",
+ "templateParameters": [],
+ "request": {
+ "queryParameters": [
+ {
+ "name": "param1",
+ "description": "A sample parameter that is required and has a default value of \"sample\".",
+ "type": "string",
+ "defaultValue": "sample",
+ "required": true,
+ "values": [
+ "sample"
+ ]
+ }
+ ]
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "Returned in all cases.",
+ "representations": [],
+ "headers": []
+ },
+ {
+ "statusCode": 500,
+ "description": "Server Error.",
+ "representations": [],
+ "headers": []
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "displayName": "CancelOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/CancelOrder",
+ "templateParameters": [],
+ "request": {
+ "description": "IFazioService_CancelOrder_InputMessage",
+ "queryParameters": [],
+ "headers": [],
+ "representations": [
+ {
+ "contentType": "text/xml",
+ "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8",
+ "typeName": "CancelOrder"
+ }
+ ]
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "IFazioService_CancelOrder_OutputMessage",
+ "representations": [
+ {
+ "contentType": "text/xml",
+ "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8",
+ "typeName": "CancelOrderResponse"
+ }
+ ],
+ "headers": []
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApiRelease.json
new file mode 100644
index 000000000000..0dc526ee59f4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApiRelease.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "a1",
+ "releaseId": "testrev",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "notes": "yahooagain"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/testrev",
+ "type": "Microsoft.ApiManagement/service/apis/releases",
+ "name": "testrev",
+ "properties": {
+ "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "createdDateTime": "2018-02-08T20:38:29.173Z",
+ "updatedDateTime": "2018-02-08T20:38:29.173Z",
+ "notes": "yahoo"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApiVersionSet.json
new file mode 100644
index 000000000000..972203f2bd16
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApiVersionSet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "versionSetId": "vs1",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/vs1",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "vs1",
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApiWiki.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApiWiki.json
new file mode 100644
index 000000000000..a2f21a397163
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateApiWiki.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "documents": [
+ {
+ "documentationId": "docId1"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/wikis/default",
+ "type": "Microsoft.ApiManagement/service/apis/wikis",
+ "name": "default",
+ "properties": {
+ "documents": [
+ {
+ "documentationId": "docId1"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateAuthorizationServer.json
new file mode 100644
index 000000000000..57346ac8e027
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateAuthorizationServer.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "authsid": "newauthServer",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "clientId": "update",
+ "clientSecret": "updated",
+ "useInTestConsole": false,
+ "useInApiDocumentation": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer",
+ "type": "Microsoft.ApiManagement/service/authorizationServers",
+ "name": "newauthServer",
+ "properties": {
+ "displayName": "test3",
+ "useInTestConsole": false,
+ "useInApiDocumentation": true,
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "clientAuthenticationMethod": [
+ "Basic"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "updated",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateBackend.json
new file mode 100644
index 000000000000..bd87aa896b06
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateBackend.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "backendId": "proxybackend",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "description": "description5308",
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/proxybackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "proxybackend",
+ "properties": {
+ "description": "description5308",
+ "url": "https://backendname2644/",
+ "protocol": "http",
+ "credentials": {
+ "query": {
+ "sv": [
+ "xx",
+ "bb",
+ "cc"
+ ]
+ },
+ "header": {
+ "x-my-1": [
+ "val1",
+ "val2"
+ ]
+ },
+ "authorization": {
+ "scheme": "Basic",
+ "parameter": "opensesma"
+ }
+ },
+ "proxy": {
+ "url": "http://192.168.1.1:8080",
+ "username": "Contoso\\admin",
+ "password": ""
+ },
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateCache.json
new file mode 100644
index 000000000000..e12ab0f5b1fe
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateCache.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "cacheId": "c1",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "useFromLocation": "westindia"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/c1",
+ "type": "Microsoft.ApiManagement/service/caches",
+ "name": "c1",
+ "properties": {
+ "useFromLocation": "westindia",
+ "description": "Redis cache instances in West India",
+ "connectionString": "{{5f7fbca77a891a2200f3db38}}",
+ "resourceId": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateDiagnostic.json
new file mode 100644
index 000000000000..fc09d81ccf82
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateDiagnostic.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "diagnosticId": "applicationinsights",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/applicationinsights",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateDocumentation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateDocumentation.json
new file mode 100644
index 000000000000..af884a90f478
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateDocumentation.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "documentationId": "57d1f7558aa04f15146d9d8a",
+ "parameters": {
+ "properties": {
+ "title": "Title updated",
+ "content": "content updated"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/documentations/57d1f7558aa04f15146d9d8a",
+ "type": "Microsoft.ApiManagement/service/documentations",
+ "name": "57d1f7558aa04f15146d9d8a",
+ "properties": {
+ "title": "Title updated",
+ "content": "content updated"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateGateway.json
new file mode 100644
index 000000000000..8add5ef56387
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateGateway.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "gatewayId": "gw1",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "description": "my gateway 1",
+ "locationData": {
+ "name": "my location"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1",
+ "type": "Microsoft.ApiManagement/service/gateways",
+ "name": "a1",
+ "properties": {
+ "description": "my gateway 1",
+ "locationData": {
+ "name": "my location"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateGraphQLApiResolver.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateGraphQLApiResolver.json
new file mode 100644
index 000000000000..7b7cdca22366
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateGraphQLApiResolver.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "apiId": "echo-api",
+ "resolverId": "resolverId",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "Query AdminUsers",
+ "path": "Query/adminUsers",
+ "description": "A GraphQL Resolver example"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/resolvers/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/resolvers",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "displayName": "Query AdminUsers",
+ "path": "Query/adminUsers",
+ "description": "A GraphQL Resolver example"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateGroup.json
new file mode 100644
index 000000000000..1fe834077443
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateGroup.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "groupId": "tempgroup",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "temp group"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/tempgroup",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "tempgroup",
+ "properties": {
+ "displayName": "tempgroup",
+ "description": "awesome group of people",
+ "builtIn": false,
+ "type": "external",
+ "externalId": "aad://samiraad.onmicrosoft.com/groups/3773adf4-032e-4d25-9988-eaff9ca72eca"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateIdentityProvider.json
new file mode 100644
index 000000000000..e12674420c14
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateIdentityProvider.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "identityProviderName": "facebook",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "clientId": "updatedfacebookid",
+ "clientSecret": "updatedfacebooksecret"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/AadB2C",
+ "type": "Microsoft.ApiManagement/service/identityProviders",
+ "name": "AadB2C",
+ "properties": {
+ "clientId": "f02dafe2-b8b8-48ec-a38e-27e5c16c51e5",
+ "type": "aadB2C",
+ "authority": "login.microsoftonline.com",
+ "signinTenant": "contosoaadb2c.onmicrosoft.com",
+ "allowedTenants": [
+ "contosoaadb2c.onmicrosoft.com",
+ "contoso2aadb2c.onmicrosoft.com"
+ ],
+ "signupPolicyName": "B2C_1_policy-signup",
+ "signinPolicyName": "B2C_1_policy-signin"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateLogger.json
new file mode 100644
index 000000000000..bf4243f5dce1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateLogger.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "loggerId": "eh1",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "loggerType": "azureEventHub",
+ "description": "updating description"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/eh1",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "eh1",
+ "properties": {
+ "loggerType": "azureEventHub",
+ "description": "updating description",
+ "credentials": {
+ "connectionString": "{{Logger-Credentials-5f28745bbebeeb13cc3f7301}}"
+ },
+ "isBuffered": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateNamedValue.json
new file mode 100644
index 000000000000..33c1d7dd8709
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateNamedValue.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "namedValueId": "testprop2",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "prop3name",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar2"
+ ],
+ "secret": false
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2?api-version=2023-09-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=200",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2023-09-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "properties": {
+ "displayName": "prop3name",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar2"
+ ],
+ "secret": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateOpenIdConnectProvider.json
new file mode 100644
index 000000000000..cea73d429232
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateOpenIdConnectProvider.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "opid": "templateOpenIdConnect2",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "clientSecret": "updatedsecret",
+ "useInTestConsole": false,
+ "useInApiDocumentation": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/openidConnectProviders/templateOpenIdConnect2",
+ "type": "Microsoft.ApiManagement/service/openidconnectproviders",
+ "name": "templateOpenIdConnect2",
+ "properties": {
+ "displayName": "templateoidprovider2",
+ "description": "open id provider template2",
+ "metadataEndpoint": "https://oidprovider-template2.net",
+ "clientId": "oidprovidertemplate2",
+ "useInTestConsole": false,
+ "useInApiDocumentation": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdatePolicyRestriction.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdatePolicyRestriction.json
new file mode 100644
index 000000000000..4cd1b6218d7a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdatePolicyRestriction.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "policyRestrictionId": "policyRestriction1",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "scope": "Sample Path 2 to the policy document."
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policyRestrictions/policyRestriction1",
+ "type": "Microsoft.ApiManagement/service/policyRestrictions",
+ "name": "policyRestriction1",
+ "properties": {
+ "scope": "Sample Path 2 to the policy document.",
+ "requireBase": "true"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdatePortalConfig.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdatePortalConfig.json
new file mode 100644
index 000000000000..789781ed01cb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdatePortalConfig.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "portalConfigId": "default",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "enableBasicAuth": true,
+ "signin": {
+ "require": false
+ },
+ "signup": {
+ "termsOfService": {
+ "text": "I agree to the service terms and conditions.",
+ "requireConsent": false
+ }
+ },
+ "delegation": {
+ "delegateRegistration": false,
+ "delegateSubscription": false,
+ "delegationUrl": null,
+ "validationKey": null
+ },
+ "csp": {
+ "mode": "reportOnly",
+ "reportUri": [
+ "https://report.contoso.com"
+ ],
+ "allowedSources": [
+ "*.contoso.com"
+ ]
+ },
+ "cors": {
+ "allowedOrigins": [
+ "https://contoso.com"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalconfigs/default",
+ "type": "Microsoft.ApiManagement/service/portalconfigs",
+ "name": "default",
+ "properties": {
+ "enableBasicAuth": true,
+ "signin": {
+ "require": false
+ },
+ "signup": {
+ "termsOfService": {
+ "text": "I agree to the service terms and conditions.",
+ "requireConsent": false
+ }
+ },
+ "delegation": {
+ "delegateRegistration": false,
+ "delegateSubscription": false,
+ "delegationUrl": null,
+ "validationKey": null
+ },
+ "csp": {
+ "mode": "reportOnly",
+ "reportUri": [
+ "https://report.contoso.com"
+ ],
+ "allowedSources": [
+ "*.contoso.com"
+ ]
+ },
+ "cors": {
+ "allowedOrigins": [
+ "https://contoso.com"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdatePortalRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdatePortalRevision.json
new file mode 100644
index 000000000000..1bcfb6565bf5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdatePortalRevision.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "portalRevisionId": "20201112101010",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "description": "portal revision update",
+ "isCurrent": true
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112101010?api-version=2023-09-01-preview&asyncId=5faf16b81d9a028970d0bfbb&asyncCode=200",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5faf16b81d9a028970d0bfbb?api-version=2023-09-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2",
+ "type": "Microsoft.ApiManagement/service/portalRevisions",
+ "name": "20201112101010",
+ "properties": {
+ "description": "portal revision update",
+ "statusDetails": null,
+ "status": "completed",
+ "isCurrent": true,
+ "createdDateTime": "2020-11-13T22:47:13.397Z",
+ "updatedDateTime": "2020-11-13T23:29:25.34Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateProduct.json
new file mode 100644
index 000000000000..64f8b9abb8dd
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateProduct.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "testproduct",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "Test Template ProductName 4"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/testproduct",
+ "type": "Microsoft.ApiManagement/service/products",
+ "name": "testproduct",
+ "properties": {
+ "displayName": "Test Template ProductName 4",
+ "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.",
+ "subscriptionRequired": true,
+ "approvalRequired": true,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateProductWiki.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateProductWiki.json
new file mode 100644
index 000000000000..9230a713e6f6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateProductWiki.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "productId": "57d1f7558aa04f15146d9d8a",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "documents": [
+ {
+ "documentationId": "docId1"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/57d1f7558aa04f15146d9d8a/wikis/default",
+ "type": "Microsoft.ApiManagement/service/products/wikis",
+ "name": "default",
+ "properties": {
+ "documents": [
+ {
+ "documentationId": "docId1"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateQuotaCounterKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateQuotaCounterKey.json
new file mode 100644
index 000000000000..2902a0edd695
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateQuotaCounterKey.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "quotaCounterKey": "ba",
+ "parameters": {
+ "properties": {
+ "callsCount": 0,
+ "kbTransferred": 2.5630078125
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "counterKey": "ba",
+ "periodKey": "0_P3Y6M4DT12H30M5S",
+ "periodStartTime": "2014-08-04T04:24:35Z",
+ "periodEndTime": "2018-02-08T16:54:40Z",
+ "value": {
+ "callsCount": 5,
+ "kbTransferred": 2.5830078125
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json
new file mode 100644
index 000000000000..20817b135a51
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "quotaCounterKey": "ba",
+ "quotaPeriodKey": "0_P3Y6M4DT12H30M5S",
+ "parameters": {
+ "properties": {
+ "callsCount": 0,
+ "kbTransferred": 0
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "counterKey": "ba",
+ "periodKey": "0_P3Y6M4DT12H30M5S",
+ "periodStartTime": "2014-08-04T04:24:35Z",
+ "periodEndTime": "2018-02-08T16:54:40Z",
+ "value": {
+ "callsCount": 0,
+ "kbTransferred": 2.5625
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateServiceDisableTls10.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateServiceDisableTls10.json
new file mode 100644
index 000000000000..ee0c27581e0b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateServiceDisableTls10.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "properties": {
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2023-09-01-preview&asyncResponse",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2023-09-01-preview&asyncResponse"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "Owner": "sasolank",
+ "UID": "4f5025fe-0669-4e2e-8320-5199466e5eb3",
+ "Reserved": "",
+ "TestExpiration": "Thu, 29 Jun 2017 18:50:40 GMT",
+ "Pool": "Manual",
+ "TestSuiteExpiration": "Thu, 29 Jun 2017 18:51:46 GMT"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAYRPs=",
+ "properties": {
+ "publisherEmail": "admin@live.com",
+ "publisherName": "Contoso",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2017-06-29T17:50:42.3191122Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "40.86.176.232"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False"
+ },
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateServicePublisherDetails.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateServicePublisherDetails.json
new file mode 100644
index 000000000000..2bbc38ed4392
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateServicePublisherDetails.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "properties": {
+ "publisherEmail": "foobar@live.com",
+ "publisherName": "Contoso Vnext"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2023-09-01-preview&asyncResponse",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2023-09-01-preview&asyncResponse"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "Owner": "sasolank",
+ "UID": "4f5025fe-0669-4e2e-8320-5199466e5eb3",
+ "Reserved": "",
+ "TestExpiration": "Thu, 29 Jun 2017 18:50:40 GMT",
+ "Pool": "Manual",
+ "TestSuiteExpiration": "Thu, 29 Jun 2017 18:51:46 GMT"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAYRPs=",
+ "properties": {
+ "publisherEmail": "foobar@live.com",
+ "publisherName": "Contoso Vnext",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2017-06-29T17:50:42.3191122Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "40.86.176.232"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False"
+ },
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateServiceToNewVnetAndAZs.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateServiceToNewVnetAndAZs.json
new file mode 100644
index 000000000000..97de85731f4c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateServiceToNewVnetAndAZs.json
@@ -0,0 +1,162 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "properties": {
+ "additionalLocations": [
+ {
+ "location": "Australia East",
+ "sku": {
+ "name": "Premium",
+ "capacity": 3
+ },
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/apimaeavnet/subnets/default"
+ },
+ "publicIpAddressId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/apim-australia-east-publicip"
+ }
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-apim-japaneast/subnets/apim2"
+ },
+ "virtualNetworkType": "External",
+ "publicIpAddressId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/publicip-apim-japan-east"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 3
+ },
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ]
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2023-09-01-preview&asyncResponse",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2023-09-01-preview&asyncResponse"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "location": "Japan East",
+ "etag": "AAAAAAAWBIU=",
+ "properties": {
+ "publisherEmail": "contoso@microsoft.com",
+ "publisherName": "apimPublisher",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2021-04-08T23:41:35.6447381Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-japaneast-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false,
+ "certificateSource": "BuiltIn"
+ },
+ {
+ "type": "Proxy",
+ "hostName": "mycustomdomain.int-azure-api.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2022-06-09T23:59:59+00:00",
+ "thumbprint": "2994B5FFB8F76B3C687D324A8DEE0432C1ED18CD",
+ "subject": "CN=mycustomdomain.int-azure-api.net"
+ },
+ "defaultSslBinding": true,
+ "certificateSource": "Managed"
+ }
+ ],
+ "publicIPAddresses": [
+ "20.78.248.217"
+ ],
+ "additionalLocations": [
+ {
+ "location": "Australia East",
+ "sku": {
+ "name": "Premium",
+ "capacity": 3
+ },
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "publicIPAddresses": [
+ "20.213.1.35"
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/apimaeavnet/subnets/default"
+ },
+ "gatewayRegionalUrl": "https://apimService1-australiaeast-01.regional.azure-api.net",
+ "disableGateway": false,
+ "publicIpAddressId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/apim-australia-east-publicip",
+ "platformVersion": "stv2"
+ }
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-apim-japaneast/subnets/apim2"
+ },
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_GCM_SHA256": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_256_CBC_SHA256": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_256_CBC_SHA": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false"
+ },
+ "virtualNetworkType": "Internal",
+ "disableGateway": false,
+ "publicIpAddressId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/publicip-apim-japan-east",
+ "publicNetworkAccess": "Enabled",
+ "platformVersion": "stv2"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 3
+ },
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "systemData": {
+ "lastModifiedBy": "contoso@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-01-21T20:04:21.6108974Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateStandardGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateStandardGateway.json
new file mode 100644
index 000000000000..24bdaf646b48
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateStandardGateway.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "gatewayName": "apimGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "properties": {},
+ "sku": {
+ "name": "Standard",
+ "capacity": 10
+ },
+ "tags": {
+ "Name": "Contoso",
+ "Test": "User"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/gateways/apimGateway1",
+ "name": "apimGateway1",
+ "type": "Microsoft.ApiManagement/gateways",
+ "tags": {
+ "api-version": "2023-09-01-preview"
+ },
+ "location": "East US",
+ "etag": "AAAAAAAmREI=",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2022-07-11T18:41:01.2506031Z",
+ "frontend": {
+ "defaultHostname": "apimGateway1.eastus.gateway.azure-api.net"
+ },
+ "backend": {
+ "subnet": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vn1/subnets/sn1"
+ }
+ },
+ "configurationApi": {
+ "hostname": "apimGateway1.eastus.configuration.gateway.azure-api.net"
+ }
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdBy": "user@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2022-07-11T18:41:00.9390609Z",
+ "lastModifiedBy": "user@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2022-07-11T18:41:00.9390609Z"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/gateways/apimGateway1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2023-09-01-preview&asyncResponse",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/gateways/apimGateway1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2023-09-01-preview&asyncResponse"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateSubscription.json
new file mode 100644
index 000000000000..236f77a75dd9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateSubscription.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "sid": "testsub",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "testsub"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/testsub",
+ "type": "Microsoft.ApiManagement/service/subscriptions",
+ "name": "testsub",
+ "properties": {
+ "ownerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
+ "displayName": "testsub",
+ "state": "submitted",
+ "createdDate": "2017-06-02T17:59:06.223Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateTag.json
new file mode 100644
index 000000000000..1e89a98890d1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateTag.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "tagId": "temptag",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "temp tag"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/temptag",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "temptag",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateTemplate.json
new file mode 100644
index 000000000000..dcc2cc81e9ef
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateTemplate.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "templateName": "newIssueNotificationMessage",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "subject": "Your request $IssueName was received",
+ "body": "\r\n\r\n \r\n \r\n Dear $DevFirstName $DevLastName,
\r\n \r\n We are happy to let you know that your request to publish the $AppName application in the gallery has been approved. Your application has been published and can be viewed here.\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/templates/NewIssueNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/templates",
+ "name": "NewIssueNotificationMessage",
+ "properties": {
+ "subject": "Your request $IssueName was received",
+ "body": "\r\n\r\n \r\n \r\n Dear $DevFirstName $DevLastName,
\r\n Thank you for contacting us. Our API team will review your issue and get back to you soon.
\r\n \r\n Click this link to view or edit your request.\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n",
+ "title": "New issue received",
+ "description": "This email is sent to developers after they create a new topic on the Issues page of the developer portal.",
+ "isDefault": true,
+ "parameters": [
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "IssueId",
+ "title": "Issue id"
+ },
+ {
+ "name": "IssueName",
+ "title": "Issue name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateTenantAccess.json
new file mode 100644
index 000000000000..91945c7d7c41
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateTenantAccess.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "If-Match": "*",
+ "accessName": "access",
+ "parameters": {
+ "properties": {
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/access",
+ "type": "Microsoft.ApiManagement/service/tenant",
+ "name": "access",
+ "properties": {
+ "enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateUser.json
new file mode 100644
index 000000000000..270fce3b58d8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateUser.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "userId": "5931a75ae4bbd512a88c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foobar@outlook.com"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "type": "Microsoft.ApiManagement/service/users",
+ "name": "5931a75ae4bbd512a88c680b",
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foobar@outlook.com",
+ "state": "active",
+ "registrationDate": "2017-06-02T17:58:50.357Z",
+ "identities": [
+ {
+ "provider": "Microsoft",
+ "id": "*************"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspace.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspace.json
new file mode 100644
index 000000000000..6d24aa93c9f0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspace.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "my workspace",
+ "description": "workspace 1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1",
+ "type": "Microsoft.ApiManagement/service/workspaces",
+ "name": "wks1",
+ "properties": {
+ "description": "workspace 1",
+ "displayName": "my workspace"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceApi.json
new file mode 100644
index 000000000000..9b413f66afce
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceApi.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "echo-api",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "Echo API New",
+ "serviceUrl": "http://echoapi.cloudapp.net/api2",
+ "path": "newecho"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/echo-api",
+ "type": "Microsoft.ApiManagement/service/workspaces/pis",
+ "name": "echo-api",
+ "properties": {
+ "displayName": "Echo API New",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api2",
+ "path": "newecho",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceApiDiagnostic.json
new file mode 100644
index 000000000000..b6a84c17c910
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceApiDiagnostic.json
@@ -0,0 +1,105 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "diagnosticId": "applicationinsights",
+ "apiId": "echo-api",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/workspaces/wks1/loggers/applicationinsights",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/echo-api/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ },
+ "frontend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceApiOperation.json
new file mode 100644
index 000000000000..8cac810e0548
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceApiOperation.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "echo-api",
+ "operationId": "operationId",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "Retrieve resource",
+ "method": "GET",
+ "urlTemplate": "/resource",
+ "templateParameters": [],
+ "request": {
+ "queryParameters": [
+ {
+ "name": "param1",
+ "description": "A sample parameter that is required and has a default value of \"sample\".",
+ "type": "string",
+ "defaultValue": "sample",
+ "required": true,
+ "values": [
+ "sample"
+ ]
+ }
+ ]
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "Returned in all cases.",
+ "representations": [],
+ "headers": []
+ },
+ {
+ "statusCode": 500,
+ "description": "Server Error.",
+ "representations": [],
+ "headers": []
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "displayName": "CancelOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/CancelOrder",
+ "templateParameters": [],
+ "request": {
+ "description": "IFazioService_CancelOrder_InputMessage",
+ "queryParameters": [],
+ "headers": [],
+ "representations": [
+ {
+ "contentType": "text/xml",
+ "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8",
+ "typeName": "CancelOrder"
+ }
+ ]
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "IFazioService_CancelOrder_OutputMessage",
+ "representations": [
+ {
+ "contentType": "text/xml",
+ "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8",
+ "typeName": "CancelOrderResponse"
+ }
+ ],
+ "headers": []
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceApiRelease.json
new file mode 100644
index 000000000000..0d4985a2f643
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceApiRelease.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "apiId": "a1",
+ "releaseId": "testrev",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/a1",
+ "notes": "yahooagain"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/a1/releases/testrev",
+ "type": "Microsoft.ApiManagement/service/workspaces/apis/releases",
+ "name": "testrev",
+ "properties": {
+ "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/a1",
+ "createdDateTime": "2018-02-08T20:38:29.173Z",
+ "updatedDateTime": "2018-02-08T20:38:29.173Z",
+ "notes": "yahoo"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceApiVersionSet.json
new file mode 100644
index 000000000000..c6897a05aac1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceApiVersionSet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "versionSetId": "vs1",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apiVersionSets/vs1",
+ "type": "Microsoft.ApiManagement/service/workspaces.api-version-sets",
+ "name": "vs1",
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceBackend.json
new file mode 100644
index 000000000000..7b6f0a9c1e08
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceBackend.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "backendId": "proxybackend",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "description": "description5308",
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/backends/proxybackend",
+ "type": "Microsoft.ApiManagement/service/workspaces/backends",
+ "name": "proxybackend",
+ "properties": {
+ "description": "description5308",
+ "url": "https://backendname2644/",
+ "protocol": "http",
+ "credentials": {
+ "query": {
+ "sv": [
+ "xx",
+ "bb",
+ "cc"
+ ]
+ },
+ "header": {
+ "x-my-1": [
+ "val1",
+ "val2"
+ ]
+ },
+ "authorization": {
+ "scheme": "Basic",
+ "parameter": "opensesma"
+ }
+ },
+ "proxy": {
+ "url": "http://192.168.1.1:8080",
+ "username": "Contoso\\admin",
+ "password": ""
+ },
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceDiagnostic.json
new file mode 100644
index 000000000000..b50554f74b9b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceDiagnostic.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "diagnosticId": "applicationinsights",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/workspaces/wks1/loggers/applicationinsights",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/workspaces/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceGroup.json
new file mode 100644
index 000000000000..9c832b22f25f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceGroup.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "groupId": "tempgroup",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "temp group"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/groups/tempgroup",
+ "type": "Microsoft.ApiManagement/service/workspaces/groups",
+ "name": "tempgroup",
+ "properties": {
+ "displayName": "tempgroup",
+ "description": "awesome group of people",
+ "builtIn": false,
+ "type": "external",
+ "externalId": "aad://samiraad.onmicrosoft.com/groups/3773adf4-032e-4d25-9988-eaff9ca72eca"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceLogger.json
new file mode 100644
index 000000000000..5d6062e5d514
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceLogger.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "loggerId": "eh1",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "loggerType": "azureEventHub",
+ "description": "updating description"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/eh1",
+ "type": "Microsoft.ApiManagement/service/workspaces/loggers",
+ "name": "eh1",
+ "properties": {
+ "loggerType": "azureEventHub",
+ "description": "updating description",
+ "credentials": {
+ "connectionString": "{{Logger-Credentials-5f28745bbebeeb13cc3f7301}}"
+ },
+ "isBuffered": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceNamedValue.json
new file mode 100644
index 000000000000..b8e56d4bfcec
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceNamedValue.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "namedValueId": "testprop2",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "prop3name",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar2"
+ ],
+ "secret": false
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/namedValues/testprop2?api-version=2023-09-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=200",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2023-09-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/namedValues/testprop2",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "properties": {
+ "displayName": "prop3name",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar2"
+ ],
+ "secret": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceProduct.json
new file mode 100644
index 000000000000..f076f1610516
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceProduct.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "productId": "testproduct",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "Test Template ProductName 4"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/products/testproduct",
+ "type": "Microsoft.ApiManagement/service/workspaces/products",
+ "name": "testproduct",
+ "properties": {
+ "displayName": "Test Template ProductName 4",
+ "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.",
+ "subscriptionRequired": true,
+ "approvalRequired": true,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceSubscription.json
new file mode 100644
index 000000000000..41159e7eb3ed
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceSubscription.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "sid": "testsub",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "testsub"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/subscriptions/testsub",
+ "type": "Microsoft.ApiManagement/service/workspaces/subscriptions",
+ "name": "testsub",
+ "properties": {
+ "ownerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/products/5600b59475ff190048060002",
+ "displayName": "testsub",
+ "state": "submitted",
+ "createdDate": "2017-06-02T17:59:06.223Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceTag.json
new file mode 100644
index 000000000000..0ac413e26374
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceTag.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "tagId": "temptag",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "temp tag"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/tags/temptag",
+ "type": "Microsoft.ApiManagement/service/workspaces/tags",
+ "name": "temptag",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUserConfirmationPasswordSend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUserConfirmationPasswordSend.json
new file mode 100644
index 000000000000..7ab7e28db28f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUserConfirmationPasswordSend.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "userId": "57127d485157a511ace86ae7"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUserGenerateSsoUrl.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUserGenerateSsoUrl.json
new file mode 100644
index 000000000000..5db8ab0a21e2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUserGenerateSsoUrl.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "userId": "57127d485157a511ace86ae7"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "https://apimService1.portal.azure-api.net/signin-sso?token=57127d485157a511ace86ae7%26201706051624%267VY18MlwAom***********2bYr2bDQHg21OzQsNakExQ%3d%3d"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUserToken.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUserToken.json
new file mode 100644
index 000000000000..8f23a8f761eb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUserToken.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "userId": "userId1718",
+ "parameters": {
+ "properties": {
+ "keyType": "primary",
+ "expiry": "2019-04-21T00:44:24.2845269Z"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "userId1718&201904210044&9A1GR1f5WIhFvFmzQG+xxxxxxxxxxx/kBeu87DWad3tkasUXuvPL+MgzlwUHyg=="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementValidatePolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementValidatePolicies.json
new file mode 100644
index 000000000000..267f78251f37
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementValidatePolicies.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ApiManagement/service/apimService1/validatePolicies?api-version=2023-05-01"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "6074e652093a9d0dac3d733c",
+ "type": "Microsoft.ApiManagement/service/tenant/operationResults",
+ "name": "6074e652093a9d0dac3d733c",
+ "properties": {
+ "status": "Succeeded",
+ "started": "2023-04-13T00:31:14.94Z",
+ "updated": "2023-04-13T00:31:27.59Z",
+ "resultInfo": "All the policies were validated",
+ "actionLog": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementWorkspaceNamedValueListValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementWorkspaceNamedValueListValue.json
new file mode 100644
index 000000000000..b4b1fa260326
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementWorkspaceNamedValueListValue.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "namedValueId": "testarmTemplateproperties2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "propValue"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementWorkspaceSubscriptionListSecrets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementWorkspaceSubscriptionListSecrets.json
new file mode 100644
index 000000000000..b2c5a02af3e9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementWorkspaceSubscriptionListSecrets.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "sid": "5931a769d8d14f0ad8ce13b8"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "",
+ "secondaryKey": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementWorkspaceSubscriptionRegeneratePrimaryKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementWorkspaceSubscriptionRegeneratePrimaryKey.json
new file mode 100644
index 000000000000..9e0efc2f6ec6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementWorkspaceSubscriptionRegeneratePrimaryKey.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "sid": "testsub"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementWorkspaceSubscriptionRegenerateSecondaryKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementWorkspaceSubscriptionRegenerateSecondaryKey.json
new file mode 100644
index 000000000000..9e0efc2f6ec6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementWorkspaceSubscriptionRegenerateSecondaryKey.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "workspaceId": "wks1",
+ "sid": "testsub"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/operationStatuses.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/operationStatuses.json
new file mode 100644
index 000000000000..b85867523018
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/operationStatuses.json
@@ -0,0 +1,107 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Resource provider operation status.",
+ "version": "2023-09-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/locations/{location}/operationStatuses/{operationId}": {
+ "get": {
+ "operationId": "OperationStatus_Get",
+ "description": "Returns the current status of an async operation.",
+ "x-ms-examples": {
+ "Get operation status": {
+ "$ref": "./examples/ApiManagementGetOperationStatus.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/OperationIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Requested operation status",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/locations/{location}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "OperationResults"
+ ],
+ "description": "Returns operation results for long running operations executing DELETE or PATCH on the resource.",
+ "operationId": "OperationsResults_Get",
+ "x-ms-examples": {
+ "ApiManagementGetOperationResult": {
+ "$ref": "./examples/ApiManagementGetOperationResult.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/OperationIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the operation result."
+ },
+ "202": {
+ "description": "The operation is still in progress.",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "URL for determining when an operation has completed."
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md
index ed3884fc7f8a..1f0fc90826aa 100644
--- a/specification/apimanagement/resource-manager/readme.md
+++ b/specification/apimanagement/resource-manager/readme.md
@@ -28,15 +28,81 @@ These are the global settings for the ApiManagement API.
title: ApiManagementClient
description: ApiManagement Client
openapi-type: arm
-tag: package-preview-2023-05
+tag: package-preview-2023-09
```
+### Tag: package-preview-2023-09
+
+These settings apply only when `--tag=package-preview-2023-09` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2023-09'
+input-file:
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimallpolicies.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apigateway.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimanagement.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimapis.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimapisByTags.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimapiversionsets.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimauthorizationproviders.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimauthorizationservers.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimbackends.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimcaches.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimcertificates.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimconnectivitycheck.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimcontenttypes.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimdeletedservices.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimdeployment.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimdiagnostics.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimdocumentations.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimemailtemplates.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimgateways.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimgatewayConfigConnections.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimgroups.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimidentityprovider.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimissues.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimloggers.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimnamedvalues.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimnetworkstatus.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimnotifications.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimoutbounddependency.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimpolicies.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimpolicydescriptions.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimpolicyfragments.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimpolicyrestrictions.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimpolicyrestrictionsvalidation.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimportalconfigs.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimportalrevisions.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimportalsettings.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimprivatelink.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimproducts.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimproductsByTags.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimquotas.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimregions.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimreports.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimschema.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimsettings.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimskus.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimsubscriptions.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimtagresources.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimtags.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimtenant.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimusers.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacecertificates.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaceloggers.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacelinks.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaces.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/definitions.json
+ - Microsoft.ApiManagement/preview/2023-09-01-preview/operationStatuses.json
+```
### Tag: package-preview-2023-05
These settings apply only when `--tag=package-preview-2023-05` is specified on the command line.
-```yaml $(tag) == 'package-preview-2023-05'
+``` yaml $(tag) == 'package-preview-2023-05'
input-file:
- Microsoft.ApiManagement/preview/2023-05-01-preview/apimanagement.json
- Microsoft.ApiManagement/preview/2023-05-01-preview/apimallpolicies.json
@@ -90,6 +156,7 @@ input-file:
- Microsoft.ApiManagement/preview/2023-05-01-preview/apimworkspaces.json
- Microsoft.ApiManagement/preview/2023-05-01-preview/definitions.json
```
+
### Tag: package-preview-2023-03
These settings apply only when `--tag=package-preview-2023-03` is specified on the command line.
@@ -1073,6 +1140,29 @@ suppressions:
- code: PropertiesTypeObjectNoDefinition
from: definitions.json
reason: Invalid error
-```
-
+ - code: PutRequestResponseSchemeArm
+ from: apimworkspacecertificates.json
+ where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/certificates/{certificateId}"].put
+ reason: Certificate is a secret and it should not be available through get request
+ - code: GetCollectionOnlyHasValueAndNextLink
+ from: apimworkspacecertificates.json
+ where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/certificates].get.responses["200"].schema.properties
+ reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs.
+ - code: GetCollectionOnlyHasValueAndNextLink
+ from: apimworkspacebackends.json
+ where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends"].get.responses["200"].schema.properties
+ reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs.
+ - code: GetCollectionOnlyHasValueAndNextLink
+ from: apimworkspacediagnostics.json
+ where:
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/diagnostics"].get.responses["200"].schema.properties
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/diagnostics"].get.responses.["200"].schema.properties
+ reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs.
+ - code: GetCollectionOnlyHasValueAndNextLink
+ from: apimworkspaceloggers.json
+ where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/loggers"].get.responses["200"].schema.properties
+ reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs.
+ - code: PatchBodyParametersSchema
+ from: apimworkspacebackends.json
+ reasons: This are the object fields which when updated require some data to be present.
diff --git a/specification/apimanagement/resource-manager/sdk-suppressions.yaml b/specification/apimanagement/resource-manager/sdk-suppressions.yaml
new file mode 100644
index 000000000000..e189d2c371d5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/sdk-suppressions.yaml
@@ -0,0 +1,9 @@
+suppressions:
+ azure-sdk-for-python:
+ - package: azure-mgmt-apimanagement
+ breaking-changes:
+ - Model ErrorResponse no longer has parameter code
+ - Model ErrorResponse no longer has parameter details
+ - Model ErrorResponse no longer has parameter message
+ - Renamed operation ApiOperations.delete to ApiOperations.begin_delete
+ - Renamed operation UserOperations.delete to UserOperations.begin_delete
From 336fc73b8f6cd34b59b62046e1a4c0c8905926bd Mon Sep 17 00:00:00 2001
From: Jose Alvarez
Date: Wed, 5 Jun 2024 18:50:53 +0200
Subject: [PATCH 114/343] Fixed typo in documentation (#29341)
---
specification/ai/OpenAI.Assistants/tools/models.tsp | 2 +-
.../OpenApiV3/2024-05-01-preview/assistants_generated.yaml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/specification/ai/OpenAI.Assistants/tools/models.tsp b/specification/ai/OpenAI.Assistants/tools/models.tsp
index 7b0118649f98..72e17b73dae6 100644
--- a/specification/ai/OpenAI.Assistants/tools/models.tsp
+++ b/specification/ai/OpenAI.Assistants/tools/models.tsp
@@ -287,7 +287,7 @@ union AssistantsNamedToolChoiceType {
fileSearch: "file_search",
}
-/** The function name that will be used, if using the `funtion` tool */
+/** The function name that will be used, if using the `function` tool */
@added(ServiceApiVersions.v2024_05_01_preview)
model FunctionName {
/** The name of the function to call */
diff --git a/specification/ai/data-plane/OpenAI.Assistants/OpenApiV3/2024-05-01-preview/assistants_generated.yaml b/specification/ai/data-plane/OpenAI.Assistants/OpenApiV3/2024-05-01-preview/assistants_generated.yaml
index 050d1237ad90..bb72844194ac 100644
--- a/specification/ai/data-plane/OpenAI.Assistants/OpenApiV3/2024-05-01-preview/assistants_generated.yaml
+++ b/specification/ai/data-plane/OpenAI.Assistants/OpenApiV3/2024-05-01-preview/assistants_generated.yaml
@@ -2072,7 +2072,7 @@ components:
name:
type: string
description: The name of the function to call
- description: The function name that will be used, if using the `funtion` tool
+ description: The function name that will be used, if using the `function` tool
FunctionToolDefinition:
type: object
required:
From d9f06f3de6cb00796a91b86b622dcf50340952a2 Mon Sep 17 00:00:00 2001
From: Francisco Gamino
Date: Wed, 5 Jun 2024 11:13:49 -0700
Subject: [PATCH 115/343] Update 2023-12-01 Microsoft.Web functionAppConfig
definition (#29226)
* Rename enum to functionsDeploymentStorageType
* Update enum name to camel case
* Update enum names to camel case
---
.../Microsoft.Web/stable/2023-12-01/CommonDefinitions.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2023-12-01/CommonDefinitions.json b/specification/web/resource-manager/Microsoft.Web/stable/2023-12-01/CommonDefinitions.json
index fa9b45a208eb..b5b40169df97 100644
--- a/specification/web/resource-manager/Microsoft.Web/stable/2023-12-01/CommonDefinitions.json
+++ b/specification/web/resource-manager/Microsoft.Web/stable/2023-12-01/CommonDefinitions.json
@@ -3624,7 +3624,7 @@
"blobContainer"
],
"x-ms-enum": {
- "name": "storageType",
+ "name": "FunctionsDeploymentStorageType",
"modelAsString": true
}
},
@@ -3646,7 +3646,7 @@
"StorageAccountConnectionString"
],
"x-ms-enum": {
- "name": "authenticationType",
+ "name": "AuthenticationType",
"modelAsString": true
}
},
@@ -3731,7 +3731,7 @@
"custom"
],
"x-ms-enum": {
- "name": "runtimeName",
+ "name": "RuntimeName",
"modelAsString": true
}
},
From 08c7c64963eff669a1e29456ba8ab5a7c90e504c Mon Sep 17 00:00:00 2001
From: Travis Angevine
Date: Wed, 5 Jun 2024 14:37:38 -0700
Subject: [PATCH 116/343] Move csharp client property renames
Signed-off-by: Travis Angevine
---
specification/ai/ModelClient/client.tsp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/specification/ai/ModelClient/client.tsp b/specification/ai/ModelClient/client.tsp
index b6996c54f3d5..30e0fb2196d9 100644
--- a/specification/ai/ModelClient/client.tsp
+++ b/specification/ai/ModelClient/client.tsp
@@ -85,3 +85,10 @@ interface Client3 {
embedImage is ModelClient.getImageEmbeddings;
getModelInfo is ModelClient.getModelInfo;
}
+
+// The following is to update names as necessary for specific programming languages.
+// Done in this file to provide a single point of reference for any renames.
+@@clientName(Azure.OpenAI.ChatCompletionOptions.top_p, "NucleusSamplingFactor", "csharp")
+@@clientName(Azure.OpenAI.ChatCompletionOptions.stop, "StopSequences", "csharp")
+@@clientName(Azure.OpenAI.ChatCompletionOptions.stream, "InternalShouldStreamResponse", "csharp")
+@@clientName(Azure.OpenAI.ChatChoice.delta, "InternalStreamingDeltaMessage", "csharp")
From 491e00d17f24909ecf5e1030b3833bed51224e92 Mon Sep 17 00:00:00 2001
From: Dylan Martinez
Date: Wed, 5 Jun 2024 15:03:47 -0700
Subject: [PATCH 117/343] Update `securityPostureReference` in VMScaleSet API
(#28891)
* update securityPostureRef properties in VMScaleSet spec
* add securityPostureReference to UpdateVMProfile definition and fix min version
* add prettier changes
* remove unsupported 'major.*' from spec
* add optional fields in security posture example
* add required fields
* correct minimum api version
* add prettier fixes
* remove extensionsSettings property
* create new Update model for security posture reference & update
* fix validation issue
* Create sdk-suppressions.yaml
* add azure-sdk-for-go suppression
* Update sdk-suppressions.yaml
---------
Co-authored-by: Dylan Martinez
Co-authored-by: Yuchao Yan
Co-authored-by: Alancere <804873052@qq.com>
Co-authored-by: kazrael2119 <98569699+kazrael2119@users.noreply.github.com>
---
...t_Create_WithSecurityPostureReference.json | 18 ++++++--
.../2024-03-01/virtualMachineScaleSet.json | 42 ++++++++++++++++---
.../resource-manager/sdk-suppressions.yaml | 14 +++++++
3 files changed, 66 insertions(+), 8 deletions(-)
create mode 100644 specification/compute/resource-manager/sdk-suppressions.yaml
diff --git a/specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2024-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithSecurityPostureReference.json b/specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2024-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithSecurityPostureReference.json
index 516e1f660510..8c7a40646ad6 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2024-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithSecurityPostureReference.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2024-03-01/examples/virtualMachineScaleSetExamples/VirtualMachineScaleSet_Create_WithSecurityPostureReference.json
@@ -15,7 +15,11 @@
"overprovision": true,
"virtualMachineProfile": {
"securityPostureReference": {
- "id": "/CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest"
+ "id": "/CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|latest",
+ "excludeExtensions": [
+ "{securityPostureVMExtensionName}"
+ ],
+ "isOverridable": true
},
"storageProfile": {
"imageReference": {
@@ -81,7 +85,11 @@
"uniqueId": "d12ccb3d-ab15-4794-9836-c4196392e9f2",
"virtualMachineProfile": {
"securityPostureReference": {
- "id": "/CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest"
+ "id": "/CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|latest",
+ "excludeExtensions": [
+ "{securityPostureVMExtensionName}"
+ ],
+ "isOverridable": true
},
"storageProfile": {
"imageReference": {
@@ -159,7 +167,11 @@
"uniqueId": "d12ccb3d-ab15-4794-9836-c4196392e9f2",
"virtualMachineProfile": {
"securityPostureReference": {
- "id": "/CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest"
+ "id": "/CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|latest",
+ "excludeExtensions": [
+ "{securityPostureVMExtensionName}"
+ ],
+ "isOverridable": true
},
"storageProfile": {
"imageReference": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2024-03-01/virtualMachineScaleSet.json b/specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2024-03-01/virtualMachineScaleSet.json
index 579d93d9d08f..40974f0e3632 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2024-03-01/virtualMachineScaleSet.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2024-03-01/virtualMachineScaleSet.json
@@ -5181,7 +5181,7 @@
},
"securityPostureReference": {
"$ref": "#/definitions/SecurityPostureReference",
- "description": "Specifies the security posture to be used for all virtual machines in the scale set. Minimum api-version: 2023-03-01"
+ "description": "Specifies the security posture to be used in the scale set. Minimum api-version: 2023-03-01"
},
"timeCreated": {
"readOnly": true,
@@ -5206,6 +5206,10 @@
"$ref": "#/definitions/VirtualMachineScaleSetUpdateNetworkProfile",
"description": "The virtual machine scale set network profile."
},
+ "securityPostureReference": {
+ "$ref": "#/definitions/SecurityPostureReferenceUpdate",
+ "description": "The virtual machine scale set security posture reference."
+ },
"securityProfile": {
"$ref": "./computeRPCommon.json#/definitions/SecurityProfile",
"description": "The virtual machine scale set Security profile"
@@ -6336,17 +6340,45 @@
"properties": {
"id": {
"type": "string",
- "description": "The security posture reference id in the form of /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest"
+ "description": "The security posture reference id in the form of /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|latest"
},
"excludeExtensions": {
"type": "array",
"items": {
- "$ref": "./virtualMachine.json#/definitions/VirtualMachineExtension"
+ "type": "string"
},
- "description": "List of virtual machine extensions to exclude when applying the Security Posture."
+ "description": "The list of virtual machine extension names to exclude when applying the security posture."
+ },
+ "isOverridable": {
+ "type": "boolean",
+ "description": "Whether the security posture can be overridden by the user."
+ }
+ },
+ "description": "Specifies the security posture to be used in the scale set. Minimum api-version: 2023-03-01",
+ "required": [
+ "id"
+ ]
+ },
+ "SecurityPostureReferenceUpdate": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The security posture reference id in the form of /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|latest"
+ },
+ "excludeExtensions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of virtual machine extension names to exclude when applying the security posture."
+ },
+ "isOverridable": {
+ "type": "boolean",
+ "description": "Whether the security posture can be overridden by the user."
}
},
- "description": "Specifies the security posture to be used for all virtual machines in the scale set. Minimum api-version: 2023-03-01"
+ "description": "Specifies the security posture to be used in the scale set. Minimum api-version: 2023-03-01"
}
}
}
diff --git a/specification/compute/resource-manager/sdk-suppressions.yaml b/specification/compute/resource-manager/sdk-suppressions.yaml
new file mode 100644
index 000000000000..4591cd0aac17
--- /dev/null
+++ b/specification/compute/resource-manager/sdk-suppressions.yaml
@@ -0,0 +1,14 @@
+suppressions:
+ azure-sdk-for-python:
+ - package: azure-mgmt-compute
+ breaking-changes:
+ - Parameter id of model SecurityPostureReference is now required
+ azure-sdk-for-go:
+ - package: sdk/resourcemanager/compute/armcompute
+ breaking-changes:
+ - Type of `SecurityPostureReference.ExcludeExtensions` has been changed from `[]*VirtualMachineExtension` to `[]*string`
+ azure-sdk-for-js:
+ - package: "@azure/arm-compute"
+ breaking-changes:
+ - Parameter id of interface SecurityPostureReference is now required
+ - Type of parameter excludeExtensions of interface SecurityPostureReference is changed from VirtualMachineExtension[] to string[]
\ No newline at end of file
From d88c94b22a8efdd47c0cadfe6d8d489107db2b23 Mon Sep 17 00:00:00 2001
From: Priyanshi Jain <87351063+priyjain358@users.noreply.github.com>
Date: Thu, 6 Jun 2024 03:34:21 +0530
Subject: [PATCH 118/343] [Microsoft.AzureStackHCI] Add 2024-04-01 for StackHCI
(#29110)
* Add 2024-04-01 for StackHCI
* add missing properties
* add log collection job type
* changes in sdk suppressions
* sdk suppression changes
---
.../StackHCI/readme.azureresourceschema.md | 18 +
.../StackHCI/readme.csharp.md | 15 +
.../StackHCI/readme.go.md | 13 +
.../StackHCI/readme.md | 242 +++
.../StackHCI/readme.python.md | 24 +
.../StackHCI/readme.typescript.md | 13 +
.../stable/2024-04-01/arcSettings.json | 819 +++++++++
.../StackHCI/stable/2024-04-01/clusters.json | 1550 +++++++++++++++++
.../stable/2024-04-01/deploymentSettings.json | 999 +++++++++++
.../stable/2024-04-01/edgeDevices.json | 1237 +++++++++++++
.../examples/ConfigureRemoteSupport.json | 113 ++
.../ConsentAndInstallDefaultExtensions.json | 52 +
.../examples/CreateArcIdentity.json | 26 +
.../2024-04-01/examples/CreateCluster.json | 60 +
.../examples/CreateClusterIdentity.json | 25 +
.../examples/CreateHciEdgeDevice.json | 257 +++
.../2024-04-01/examples/DeleteArcSetting.json | 18 +
.../2024-04-01/examples/DeleteCluster.json | 17 +
.../examples/DeleteDeploymentSettings.json | 17 +
.../examples/DeleteEdgeDevices.json | 15 +
.../2024-04-01/examples/DeleteExtension.json | 19 +
.../examples/DeleteSecuritySettings.json | 17 +
.../2024-04-01/examples/DeleteUpdateRuns.json | 19 +
.../examples/DeleteUpdateSummaries.json | 17 +
.../2024-04-01/examples/DeleteUpdates.json | 18 +
.../ExtendSoftwareAssuranceBenefit.json | 82 +
.../examples/Extensions_Upgrade.json | 22 +
.../2024-04-01/examples/GeneratePassword.json | 19 +
.../2024-04-01/examples/GetArcSetting.json | 61 +
.../2024-04-01/examples/GetCluster.json | 122 ++
.../examples/GetDeploymentSettings.json | 269 +++
.../2024-04-01/examples/GetEdgeDevices.json | 46 +
.../2024-04-01/examples/GetExtension.json | 80 +
.../stable/2024-04-01/examples/GetOffer.json | 34 +
.../2024-04-01/examples/GetPublisher.json | 18 +
.../examples/GetSecuritySettings.json | 38 +
.../stable/2024-04-01/examples/GetSku.json | 36 +
.../2024-04-01/examples/GetUpdateRuns.json | 43 +
.../examples/GetUpdateSummaries.json | 41 +
.../2024-04-01/examples/GetUpdates.json | 44 +
.../examples/InitializeDisableProcess.json | 19 +
.../examples/ListArcSettingsByCluster.json | 64 +
.../examples/ListClustersByResourceGroup.json | 131 ++
.../examples/ListClustersBySubscription.json | 130 ++
.../ListDeploymentSettingsByCluster.json | 202 +++
.../2024-04-01/examples/ListEdgeDevices.json | 72 +
.../examples/ListExtensionsByArcSetting.json | 95 +
.../examples/ListOffersByCluster.json | 36 +
.../examples/ListOffersByPublisher.json | 37 +
.../examples/ListPublishersByCluster.json | 21 +
.../ListSecuritySettingsByCluster.json | 41 +
.../2024-04-01/examples/ListSkusByOffer.json | 39 +
.../2024-04-01/examples/ListUpdateRuns.json | 46 +
.../examples/ListUpdateSummaries.json | 45 +
.../2024-04-01/examples/ListUpdates.json | 47 +
.../2024-04-01/examples/PatchArcSetting.json | 74 +
.../2024-04-01/examples/PatchExtension.json | 99 ++
.../2024-04-01/examples/PostUpdates.json | 17 +
.../2024-04-01/examples/PutArcSetting.json | 53 +
.../examples/PutDeploymentSettings.json | 729 ++++++++
.../2024-04-01/examples/PutExtension.json | 164 ++
.../examples/PutSecuritySettings.json | 72 +
.../2024-04-01/examples/PutUpdateRuns.json | 68 +
.../examples/PutUpdateSummaries.json | 52 +
.../2024-04-01/examples/PutUpdates.json | 71 +
.../examples/TriggerLogCollection.json | 95 +
.../2024-04-01/examples/UpdateCluster.json | 125 ++
.../examples/UploadCertificate.json | 23 +
.../examples/ValidateEdgeDevices.json | 26 +
.../stable/2024-04-01/extensions.json | 707 ++++++++
.../StackHCI/stable/2024-04-01/hciCommon.json | 367 ++++
.../StackHCI/stable/2024-04-01/offers.json | 302 ++++
.../stable/2024-04-01/publishers.json | 188 ++
.../stable/2024-04-01/securitySettings.json | 502 ++++++
.../StackHCI/stable/2024-04-01/skus.json | 275 +++
.../stable/2024-04-01/updateRuns.json | 412 +++++
.../stable/2024-04-01/updateSummaries.json | 408 +++++
.../StackHCI/stable/2024-04-01/updates.json | 577 ++++++
.../2024-04-01/examples/ListOperations.json | 453 +++++
.../stable/2024-04-01/operations.json | 73 +
.../resource-manager/sdk-suppressions.yaml | 2 +-
specification/azurestackhci/suppressions.yaml | 7 +
82 files changed, 13540 insertions(+), 1 deletion(-)
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.azureresourceschema.md
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.csharp.md
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.go.md
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.md
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.python.md
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.typescript.md
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/arcSettings.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/clusters.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/deploymentSettings.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/edgeDevices.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ConfigureRemoteSupport.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ConsentAndInstallDefaultExtensions.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/CreateArcIdentity.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/CreateCluster.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/CreateClusterIdentity.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/CreateHciEdgeDevice.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteArcSetting.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteCluster.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteDeploymentSettings.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteEdgeDevices.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteExtension.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteSecuritySettings.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteUpdateRuns.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteUpdateSummaries.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteUpdates.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ExtendSoftwareAssuranceBenefit.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/Extensions_Upgrade.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GeneratePassword.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetArcSetting.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetCluster.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetDeploymentSettings.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetEdgeDevices.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetExtension.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetOffer.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetPublisher.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetSecuritySettings.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetSku.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetUpdateRuns.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetUpdateSummaries.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetUpdates.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/InitializeDisableProcess.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListArcSettingsByCluster.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListClustersByResourceGroup.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListClustersBySubscription.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListDeploymentSettingsByCluster.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListEdgeDevices.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListExtensionsByArcSetting.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListOffersByCluster.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListOffersByPublisher.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListPublishersByCluster.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListSecuritySettingsByCluster.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListSkusByOffer.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListUpdateRuns.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListUpdateSummaries.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListUpdates.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PatchArcSetting.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PatchExtension.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PostUpdates.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutArcSetting.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutDeploymentSettings.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutExtension.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutSecuritySettings.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutUpdateRuns.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutUpdateSummaries.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutUpdates.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/TriggerLogCollection.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/UpdateCluster.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/UploadCertificate.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ValidateEdgeDevices.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/extensions.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/hciCommon.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/offers.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/publishers.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/securitySettings.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/skus.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/updateRuns.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/updateSummaries.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/updates.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/operations/stable/2024-04-01/examples/ListOperations.json
create mode 100644 specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/operations/stable/2024-04-01/operations.json
create mode 100644 specification/azurestackhci/suppressions.yaml
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.azureresourceschema.md b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.azureresourceschema.md
new file mode 100644
index 000000000000..9942b7e6e1c8
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.azureresourceschema.md
@@ -0,0 +1,18 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+```yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: package-2020-11-01
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: package-2020-11-01 and azureresourceschema
+
+```yaml $(tag) == '2020-11-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+```
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.csharp.md b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.csharp.md
new file mode 100644
index 000000000000..7f5c47f16abd
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/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.AzureStackHCI
+ output-folder: $(csharp-sdks-folder)/azurestackhci/management/Microsoft.AzureStackHCI/GeneratedProtocol
+```
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.go.md b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.go.md
new file mode 100644
index 000000000000..69fb71092716
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.go.md
@@ -0,0 +1,13 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+```yaml $(go) && $(track2)
+go:
+ license-header: MICROSOFT_MIT_NO_VERSION
+ module-name: sdk/resourcemanager/azurestackhci/armazurestackhci
+ module: github.com/Azure/azure-sdk-for-go/$(module-name)
+ output-folder: $(go-sdk-folder)/$(module-name)
+ azure-arm: true
+```
+
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.md b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.md
new file mode 100644
index 000000000000..25421f6157a2
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.md
@@ -0,0 +1,242 @@
+# azurestackhci
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for azurestackhci.
+
+## Getting Started
+
+To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run:
+
+> `autorest readme.md`
+
+To see additional help and options, run:
+
+> `autorest --help`
+
+For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page.
+
+---
+
+## Configuration
+
+### Basic Information
+
+These are the global settings for the azurestackhci.
+
+``` yaml
+title: AzureStackHCIClient
+description: Azure Stack HCI management service
+openapi-type: arm
+openapi-subtype: rpaas
+tag: package-2024-04
+```
+
+## Suppression
+
+``` yaml
+directive:
+ - suppress: R3020
+ from:
+ - arcSettings.json
+ - clusters.json
+ - extensions.json
+ - operations.json
+ - offers.json
+ - publishers.json
+ - skus.json
+ - updates.json
+ - updateRuns.json
+ - updateSummaries.json
+ - deploymentSettings.json
+ - edgeDevices.json
+ - securitySettings.json
+ - hciCommon.json
+
+ reason: Microsoft.AzureStackHCI is the correct name for our RP.
+suppressions:
+ - code: PathResourceProviderNamePascalCase
+ reason: Microsoft.AzureStackHCI was chosen over Microsoft.AzureStackHci or Microsoft.AzureStackHyperConvergedInfrastructure
+ from:
+ - arcSettings.json
+ - clusters.json
+ - extensions.json
+ - operations.json
+ - offers.json
+ - publishers.json
+ - skus.json
+ - updates.json
+ - updateRuns.json
+ - updateSummaries.json
+ - deploymentSettings.json
+ - edgeDevices.json
+ - securitySettings.json
+
+ - code: ResourceNameRestriction
+ reason: ClusterName didn't have a pattern initially, adding the constraint now will cause a breaking change
+ from:
+ - deploymentSettings.json
+ - clusters.json
+ - securitySettings.json
+ - arcSettings.json
+ - extensions.json
+ - offers.json
+ - publishers.json
+ - skus.json
+ - updateRuns.json
+ - updates.json
+ - updateSummaries.json
+
+ - code: ParametersInPointGet
+ reason: already used in GA api version, fixing it will cause a breaking change
+ from:
+ - offers.json
+ - skus.json
+
+ - code: PatchPropertiesCorrespondToPutProperties
+ reason: already used in GA api version, fixing it will cause breaking change
+ from:
+ - clusters.json
+
+ - code: PatchBodyParametersSchema
+ reason: already used in GA api version, fixing it will cause breaking change
+ from:
+ - clusters.json
+
+ - code: PutResponseCodes
+ reason: already used in GA api version, fixing it will cause breaking change
+ from:
+ - clusters.json
+ - arcSettings.json
+ - updateRuns.json
+ - updates.json
+ - updateSummaries.json
+
+ - code: ConsistentPatchProperties
+ reason: already used in GA api version, fixing it will cause breaking change
+ from:
+ - arcSettings.json
+
+ - code: PostResponseCodes
+ reason: already used in GA api version, fixing it will cause breaking change
+ from:
+ - arcSettings.json
+ - updates.json
+
+ - code: DeleteResponseCodes
+ reason: already used in GA api version, fixing it will cause breaking change
+ from:
+ - clusters.json
+ - extensions.json
+ - arcSettings.json
+ - updateRuns.json
+ - updates.json
+ - updateSummaries.json
+
+ - code: LroLocationHeader
+ reason: already used in GA api version, fixing it will cause breaking change
+ from:
+ - extensions.json
+ - clusters.json
+ - arcSettings.json
+ - updateRuns.json
+ - updates.json
+ - updateSummaries.json
+
+ - code: ProvisioningStateSpecifiedForLROPut
+ reason: already working without the properties section, adding it will break polymorphism
+ from:
+ - edgeDevices.json
+
+ - code: XmsPageableForListCalls
+ reason: already used in GA api version, fixing it will cause breaking change
+ from:
+ - operations.json
+ - updateSummaries.json
+
+ - code: RequestSchemaForTrackedResourcesMustHaveTags
+ reason: these are not tracked resources, so tags are not needed
+ from:
+ - updates.json
+ - updateRuns.json
+ - updateSummaries.json
+
+ - code: TrackedResourcePatchOperation
+ reason: these are not tracked resources, so no tags and corresponding patch operation is needed
+ from:
+ - updates.json
+ - updateRuns.json
+ - updateSummaries.json
+
+ - code: AvoidAdditionalProperties
+ reason: already used in GA api version, fixing it will cause breaking change
+ from:
+ - updates.json
+
+ - code: EvenSegmentedPathForPutOperation
+ reason: already used in GA api version, fixing it will cause breaking change
+ from:
+ - updateSummaries.json
+
+ - code: DefinitionsPropertiesNamesCamelCase
+ reason: We have a dependency on other team which is already using these values, changing it will break backward compatibility
+ from:
+ - deploymentSettings.json
+ where:
+ - $.definitions.QosPolicyOverrides.properties.priorityValue8021Action_Cluster
+ - $.definitions.QosPolicyOverrides.properties.priorityValue8021Action_SMB
+ - $.definitions.QosPolicyOverrides.properties.bandwidthPercentage_SMB
+ - $.definitions.SetInformationJobProperties.properties.priorityValue8021Action_Cluster
+ - $.definitions.SetInformationJobProperties.properties.priorityValue8021Action_SMB
+ - $.definitions.SetInformationJobProperties.properties.bandwidthPercentage_SMB
+
+ - code: TopLevelResourcesListBySubscription
+ reason: It is reporting issue for proxy extension resource which doesn't have use case to ListBySubscription as this resource will always tied to one parent resource only. Additionally, there is a 1:1 relationship between HybridCompute Machines and AzureStackHCI VirtualMachineInstances.
+```
+
+
+### Tag: package-2024-04
+
+These settings apply only when `--tag=package-2024-04` is specified on the command line.
+
+```yaml $(tag) == 'package-2024-04'
+input-file:
+ - stable/2024-04-01/arcSettings.json
+ - stable/2024-04-01/clusters.json
+ - stable/2024-04-01/deploymentSettings.json
+ - stable/2024-04-01/edgeDevices.json
+ - stable/2024-04-01/extensions.json
+ - stable/2024-04-01/hciCommon.json
+ - stable/2024-04-01/offers.json
+ - ../operations/stable/2024-04-01/operations.json
+ - stable/2024-04-01/publishers.json
+ - stable/2024-04-01/securitySettings.json
+ - stable/2024-04-01/skus.json
+ - stable/2024-04-01/updateRuns.json
+ - stable/2024-04-01/updateSummaries.json
+ - stable/2024-04-01/updates.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-track2
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_azurestackhci']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js azurestackhci/resource-manager
+ - repo: azure-powershell
+```
+
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.python.md b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.python.md
new file mode 100644
index 000000000000..08dd0c5a7b4c
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.python.md
@@ -0,0 +1,24 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+```yaml $(python)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-azurestackhci
+namespace: azure.mgmt.azurestackhci
+package-version: 1.0.0b1
+clear-output-folder: true
+```
+
+```yaml $(python)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/azurestackhci/azure-mgmt-azurestackhci/azure/mgmt/azurestackhci
+```
+
+
+``` yaml $(python)
+modelerfour:
+ lenient-model-deduplication: true
+```
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.typescript.md b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.typescript.md
new file mode 100644
index 000000000000..c1b75dbf1e2d
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/readme.typescript.md
@@ -0,0 +1,13 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+```yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "@azure/arm-azurestackhci"
+ output-folder: "$(typescript-sdks-folder)/sdk/azurestackhci/arm-azurestackhci"
+ payload-flattening-threshold: 1
+ generate-metadata: true
+```
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/arcSettings.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/arcSettings.json
new file mode 100644
index 000000000000..5f38a31256d8
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/arcSettings.json
@@ -0,0 +1,819 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-04-01",
+ "title": "AzureStackHCI",
+ "description": "Azure Stack HCI management service"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings": {
+ "get": {
+ "operationId": "ArcSettings_ListByCluster",
+ "description": "Get ArcSetting resources of HCI Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ArcSettingList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List ArcSetting resources by HCI Cluster": {
+ "$ref": "./examples/ListArcSettingsByCluster.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}": {
+ "get": {
+ "operationId": "ArcSettings_Get",
+ "description": "Get ArcSetting resource details of HCI Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ArcSetting"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get ArcSetting": {
+ "$ref": "./examples/GetArcSetting.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "ArcSettings_Create",
+ "description": "Create ArcSetting for HCI cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "name": "arcSetting",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ArcSetting"
+ },
+ "description": "Parameters supplied to the Create ArcSetting resource for this HCI cluster."
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ArcSetting"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create ArcSetting": {
+ "$ref": "./examples/PutArcSetting.json"
+ }
+ }
+ },
+ "patch": {
+ "operationId": "ArcSettings_Update",
+ "description": "Update ArcSettings for HCI cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "name": "arcSetting",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ArcSettingsPatch"
+ },
+ "description": "ArcSettings parameters that needs to be updated"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ArcSetting"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch ArcSetting": {
+ "$ref": "./examples/PatchArcSetting.json"
+ }
+ }
+ },
+ "delete": {
+ "operationId": "ArcSettings_Delete",
+ "description": "Delete ArcSetting resource details of HCI Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Delete ArcSetting": {
+ "$ref": "./examples/DeleteArcSetting.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}/generatePassword": {
+ "post": {
+ "tags": [
+ "ArcSettings"
+ ],
+ "operationId": "ArcSettings_GeneratePassword",
+ "description": "Generate password for arc settings.",
+ "x-ms-examples": {
+ "Generate Password": {
+ "$ref": "./examples/GeneratePassword.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PasswordCredential"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}/createArcIdentity": {
+ "post": {
+ "tags": [
+ "ArcSettings"
+ ],
+ "operationId": "ArcSettings_CreateIdentity",
+ "description": "Create Aad identity for arc settings.",
+ "x-ms-examples": {
+ "Create Arc Identity": {
+ "$ref": "./examples/CreateArcIdentity.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ArcIdentityResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}/consentAndInstallDefaultExtensions": {
+ "post": {
+ "tags": [
+ "ArcSettings"
+ ],
+ "operationId": "ArcSettings_ConsentAndInstallDefaultExtensions",
+ "description": "Add consent time for default extensions and initiate extensions installation",
+ "x-ms-examples": {
+ "Consent And Install Default Extensions": {
+ "$ref": "./examples/ConsentAndInstallDefaultExtensions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ArcSetting"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}/initializeDisableProcess": {
+ "post": {
+ "tags": [
+ "ArcSettings"
+ ],
+ "operationId": "ArcSettings_InitializeDisableProcess",
+ "description": "Initializes ARC Disable process on the cluster",
+ "x-ms-examples": {
+ "Trigger ARC Disable": {
+ "$ref": "./examples/InitializeDisableProcess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ArcSettingList": {
+ "description": "List of ArcSetting proxy resources for the HCI cluster.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of ArcSetting proxy resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ArcSetting"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ArcSettingsPatch": {
+ "description": "ArcSetting details to update.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "description": "ArcSettings properties.",
+ "$ref": "#/definitions/ArcSettingsPatchProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ArcSettingsPatchProperties": {
+ "description": "ArcSettings properties.",
+ "type": "object",
+ "properties": {
+ "connectivityProperties": {
+ "description": "contains connectivity related configuration for ARC resources",
+ "type": "object",
+ "items": {
+ "$ref": "#/definitions/ArcConnectivityProperties"
+ }
+ }
+ }
+ },
+ "ArcSetting": {
+ "description": "ArcSetting details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "ArcSetting properties.",
+ "$ref": "#/definitions/ArcSettingProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ArcSettingProperties": {
+ "description": "ArcSetting properties.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the ArcSetting proxy resource.",
+ "type": "string",
+ "enum": [
+ "NotSpecified",
+ "Error",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Connected",
+ "Disconnected",
+ "Deleted",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Moving",
+ "PartiallySucceeded",
+ "PartiallyConnected",
+ "InProgress",
+ "Accepted",
+ "Provisioning",
+ "DisableInProgress"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "arcInstanceResourceGroup": {
+ "description": "The resource group that hosts the Arc agents, ie. Hybrid Compute Machine resources.",
+ "type": "string"
+ },
+ "arcApplicationClientId": {
+ "description": "App id of arc AAD identity.",
+ "type": "string"
+ },
+ "arcApplicationTenantId": {
+ "description": "Tenant id of arc AAD identity.",
+ "type": "string"
+ },
+ "arcServicePrincipalObjectId": {
+ "description": "Object id of arc AAD service principal.",
+ "type": "string"
+ },
+ "arcApplicationObjectId": {
+ "description": "Object id of arc AAD identity.",
+ "type": "string"
+ },
+ "aggregateState": {
+ "description": "Aggregate state of Arc agent across the nodes in this HCI cluster.",
+ "type": "string",
+ "enum": [
+ "NotSpecified",
+ "Error",
+ "Succeeded",
+ "Canceled",
+ "Failed",
+ "Connected",
+ "Disconnected",
+ "Deleted",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Moving",
+ "PartiallySucceeded",
+ "PartiallyConnected",
+ "InProgress",
+ "Accepted",
+ "Provisioning",
+ "DisableInProgress"
+ ],
+ "x-ms-enum": {
+ "name": "ArcSettingAggregateState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "perNodeDetails": {
+ "description": "State of Arc agent in each of the nodes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PerNodeState"
+ },
+ "readOnly": true
+ },
+ "connectivityProperties": {
+ "description": "contains connectivity related configuration for ARC resources",
+ "type": "object",
+ "items": {
+ "$ref": "#/definitions/ArcConnectivityProperties"
+ }
+ },
+ "defaultExtensions": {
+ "description": "Properties for each of the default extensions category",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DefaultExtensionDetails"
+ },
+ "x-ms-identifiers": [
+ "category"
+ ],
+ "readOnly": true
+ }
+ }
+ },
+ "PerNodeState": {
+ "description": "Status of Arc agent for a particular node in HCI Cluster.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of the Node in HCI Cluster"
+ },
+ "arcInstance": {
+ "description": "Fully qualified resource ID for the Arc agent of this node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "arcNodeServicePrincipalObjectId": {
+ "description": "The service principal id of the arc for server node",
+ "type": "string",
+ "readOnly": true
+ },
+ "state": {
+ "description": "State of Arc agent in this node.",
+ "type": "string",
+ "enum": [
+ "NotSpecified",
+ "Error",
+ "Succeeded",
+ "Canceled",
+ "Failed",
+ "Connected",
+ "Disconnected",
+ "Deleted",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Moving",
+ "PartiallySucceeded",
+ "PartiallyConnected",
+ "InProgress",
+ "Accepted",
+ "Provisioning",
+ "DisableInProgress"
+ ],
+ "x-ms-enum": {
+ "name": "NodeArcState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "DefaultExtensionDetails": {
+ "description": "Properties for a particular default extension category.",
+ "type": "object",
+ "properties": {
+ "category": {
+ "description": "Default extension category",
+ "type": "string",
+ "readOnly": true
+ },
+ "consentTime": {
+ "description": "Consent time for extension category",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ }
+ }
+ },
+ "ArcConnectivityProperties": {
+ "description": "Connectivity related configuration required by arc server.",
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "True indicates ARC connectivity is enabled"
+ },
+ "serviceConfigurations": {
+ "type": "array",
+ "description": "Service configurations associated with the connectivity resource. They are only processed by the server if 'enabled' property is set to 'true'.",
+ "items": {
+ "$ref": "#/definitions/ServiceConfiguration"
+ },
+ "x-ms-identifiers": [
+ "serviceName"
+ ]
+ }
+ },
+ "additionalProperties": false
+ },
+ "ServiceConfiguration": {
+ "type": "object",
+ "description": "Service configuration details",
+ "required": [
+ "serviceName",
+ "port"
+ ],
+ "properties": {
+ "serviceName": {
+ "type": "string",
+ "description": "Name of the service.",
+ "enum": [
+ "WAC"
+ ],
+ "x-ms-enum": {
+ "name": "serviceName",
+ "modelAsString": true
+ }
+ },
+ "port": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The port on which service is enabled."
+ }
+ }
+ },
+ "PasswordCredential": {
+ "type": "object",
+ "properties": {
+ "secretText": {
+ "type": "string"
+ },
+ "keyId": {
+ "type": "string"
+ },
+ "startDateTime": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "endDateTime": {
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "additionalProperties": false,
+ "readOnly": true
+ },
+ "ArcIdentityResponse": {
+ "description": "ArcIdentity details.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "ArcIdentity properties.",
+ "$ref": "#/definitions/ArcIdentityResponseProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ArcIdentityResponseProperties": {
+ "type": "object",
+ "properties": {
+ "arcApplicationClientId": {
+ "type": "string"
+ },
+ "arcApplicationTenantId": {
+ "type": "string"
+ },
+ "arcServicePrincipalObjectId": {
+ "type": "string"
+ },
+ "arcApplicationObjectId": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "readOnly": true
+ }
+ },
+ "parameters": {
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the cluster.",
+ "x-ms-parameter-location": "method"
+ },
+ "ArcSettingNameParameter": {
+ "name": "arcSettingName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the proxy resource holding details of HCI ArcSetting information.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/clusters.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/clusters.json
new file mode 100644
index 000000000000..325400afbfa3
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/clusters.json
@@ -0,0 +1,1550 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-04-01",
+ "title": "AzureStackHCI",
+ "description": "Azure Stack HCI management service"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/clusters": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_ListBySubscription",
+ "x-ms-examples": {
+ "List clusters in a given subscription": {
+ "$ref": "./examples/ListClustersBySubscription.json"
+ }
+ },
+ "description": "List all HCI clusters in a subscription.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ClusterList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_ListByResourceGroup",
+ "x-ms-examples": {
+ "List clusters in a given resource group": {
+ "$ref": "./examples/ListClustersByResourceGroup.json"
+ }
+ },
+ "description": "List all HCI clusters in a resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ClusterList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Get",
+ "x-ms-examples": {
+ "Get cluster": {
+ "$ref": "./examples/GetCluster.json"
+ }
+ },
+ "description": "Get HCI cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Create",
+ "x-ms-examples": {
+ "Create cluster": {
+ "$ref": "./examples/CreateCluster.json"
+ }
+ },
+ "description": "Create an HCI cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "cluster",
+ "in": "body",
+ "description": "Details of the HCI cluster.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Update",
+ "x-ms-examples": {
+ "Update cluster": {
+ "$ref": "./examples/UpdateCluster.json"
+ }
+ },
+ "description": "Update an HCI cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "cluster",
+ "in": "body",
+ "description": "Details of the HCI cluster.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Delete",
+ "x-ms-examples": {
+ "Delete cluster": {
+ "$ref": "./examples/DeleteCluster.json"
+ }
+ },
+ "description": "Delete an HCI cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/uploadCertificate": {
+ "post": {
+ "tags": [
+ "Cluster"
+ ],
+ "operationId": "Clusters_UploadCertificate",
+ "x-ms-examples": {
+ "Upload certificate": {
+ "$ref": "./examples/UploadCertificate.json"
+ }
+ },
+ "description": "Upload certificate.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "uploadCertificateRequest",
+ "in": "body",
+ "description": "Upload certificate request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UploadCertificateRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/createClusterIdentity": {
+ "post": {
+ "tags": [
+ "Cluster"
+ ],
+ "operationId": "Clusters_CreateIdentity",
+ "description": "Create cluster identity.",
+ "x-ms-examples": {
+ "Create cluster Identity": {
+ "$ref": "./examples/CreateClusterIdentity.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ClusterIdentityResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/extendSoftwareAssuranceBenefit": {
+ "post": {
+ "tags": [
+ "Cluster"
+ ],
+ "operationId": "Clusters_ExtendSoftwareAssuranceBenefit",
+ "description": "Extends Software Assurance Benefit to a cluster",
+ "x-ms-examples": {
+ "Create cluster Identity": {
+ "$ref": "./examples/ExtendSoftwareAssuranceBenefit.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "softwareAssuranceChangeRequest",
+ "in": "body",
+ "description": "Software Assurance Change Request Payload",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SoftwareAssuranceChangeRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/triggerLogCollection": {
+ "post": {
+ "tags": [
+ "Cluster"
+ ],
+ "operationId": "Clusters_TriggerLogCollection",
+ "description": "Trigger Log Collection on a cluster",
+ "x-ms-examples": {
+ "Trigger Log Collection": {
+ "$ref": "./examples/TriggerLogCollection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "logCollectionRequest",
+ "in": "body",
+ "description": "Trigger Log Collection Request Payload",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LogCollectionRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/configureRemoteSupport": {
+ "post": {
+ "tags": [
+ "Cluster"
+ ],
+ "operationId": "Clusters_ConfigureRemoteSupport",
+ "description": "Configure RemoteSupport on a cluster",
+ "x-ms-examples": {
+ "Configure Remote Support": {
+ "$ref": "./examples/ConfigureRemoteSupport.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "remoteSupportRequest",
+ "in": "body",
+ "description": "Configure Remote Support Request Payload",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RemoteSupportRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ClusterList": {
+ "description": "List of clusters.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of clusters.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Cluster": {
+ "description": "Cluster details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "identity": {
+ "description": "Identity of Cluster resource",
+ "$ref": "../../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity",
+ "x-ms-client-flatten": true
+ },
+ "properties": {
+ "description": "Cluster properties.",
+ "$ref": "#/definitions/ClusterProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ClusterPatch": {
+ "description": "Cluster details to update.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "identity": {
+ "description": "Identity of Cluster resource",
+ "$ref": "../../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity",
+ "x-ms-client-flatten": true
+ },
+ "properties": {
+ "description": "Cluster properties.",
+ "$ref": "#/definitions/ClusterPatchProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ClusterProperties": {
+ "description": "Cluster properties.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state.",
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Accepted",
+ "Provisioning",
+ "NotSpecified",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Moving",
+ "Deleted",
+ "PartiallySucceeded",
+ "InProgress",
+ "DisableInProgress",
+ "Connected",
+ "PartiallyConnected",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the cluster agent.",
+ "type": "string",
+ "enum": [
+ "NotYetRegistered",
+ "ConnectedRecently",
+ "NotConnectedRecently",
+ "Disconnected",
+ "Error",
+ "NotSpecified",
+ "ValidationInProgress",
+ "ValidationSuccess",
+ "ValidationFailed",
+ "DeploymentInProgress",
+ "DeploymentFailed",
+ "DeploymentSuccess"
+ ],
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "connectivityStatus": {
+ "description": "Overall connectivity status for the cluster resource.",
+ "type": "string",
+ "enum": [
+ "NotYetRegistered",
+ "Connected",
+ "NotConnectedRecently",
+ "PartiallyConnected",
+ "Disconnected",
+ "NotSpecified"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectivityStatus",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "cloudId": {
+ "description": "Unique, immutable resource id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "cloudManagementEndpoint": {
+ "description": "Endpoint configured for management from the Azure portal.",
+ "type": "string"
+ },
+ "aadClientId": {
+ "description": "App id of cluster AAD identity.",
+ "type": "string"
+ },
+ "aadTenantId": {
+ "description": "Tenant id of cluster AAD identity.",
+ "type": "string"
+ },
+ "aadApplicationObjectId": {
+ "description": "Object id of cluster AAD identity.",
+ "type": "string"
+ },
+ "aadServicePrincipalObjectId": {
+ "description": "Id of cluster identity service principal.",
+ "type": "string"
+ },
+ "softwareAssuranceProperties": {
+ "description": "Software Assurance properties of the cluster.",
+ "$ref": "#/definitions/SoftwareAssuranceProperties"
+ },
+ "logCollectionProperties": {
+ "description": "Log Collection properties of the cluster.",
+ "$ref": "#/definitions/LogCollectionProperties"
+ },
+ "remoteSupportProperties": {
+ "description": "RemoteSupport properties of the cluster.",
+ "$ref": "#/definitions/RemoteSupportProperties"
+ },
+ "desiredProperties": {
+ "description": "Desired properties of the cluster.",
+ "$ref": "#/definitions/ClusterDesiredProperties"
+ },
+ "reportedProperties": {
+ "description": "Properties reported by cluster agent.",
+ "$ref": "#/definitions/ClusterReportedProperties",
+ "readOnly": true
+ },
+ "isolatedVmAttestationConfiguration": {
+ "description": "Attestation configurations for isolated VM (e.g. TVM, CVM) of the cluster.",
+ "$ref": "#/definitions/IsolatedVmAttestationConfiguration",
+ "readOnly": true
+ },
+ "trialDaysRemaining": {
+ "description": "Number of days remaining in the trial period.",
+ "type": "number",
+ "readOnly": true
+ },
+ "billingModel": {
+ "description": "Type of billing applied to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "registrationTimestamp": {
+ "description": "First cluster sync timestamp.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "lastSyncTimestamp": {
+ "description": "Most recent cluster sync timestamp.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "lastBillingTimestamp": {
+ "description": "Most recent billing meter timestamp.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "serviceEndpoint": {
+ "description": "Region specific DataPath Endpoint of the cluster.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceProviderObjectId": {
+ "description": "Object id of RP Service Principal",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ClusterPatchProperties": {
+ "description": "Cluster properties.",
+ "type": "object",
+ "properties": {
+ "cloudManagementEndpoint": {
+ "description": "Endpoint configured for management from the Azure portal",
+ "type": "string"
+ },
+ "aadClientId": {
+ "description": "App id of cluster AAD identity.",
+ "type": "string"
+ },
+ "aadTenantId": {
+ "description": "Tenant id of cluster AAD identity.",
+ "type": "string"
+ },
+ "desiredProperties": {
+ "description": "Desired properties of the cluster.",
+ "$ref": "#/definitions/ClusterDesiredProperties"
+ }
+ }
+ },
+ "LogCollectionProperties": {
+ "description": "Log Collection properties of the cluster.",
+ "type": "object",
+ "properties": {
+ "fromDate": {
+ "description": "From DateTimeStamp from when logs need to be connected",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "toDate": {
+ "description": "To DateTimeStamp till when logs need to be connected",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "lastLogGenerated": {
+ "description": "Recent DateTimeStamp where logs are successfully generated",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "logCollectionSessionDetails": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogCollectionSession"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "LogCollectionSession": {
+ "description": "Log Collection Session details of the cluster.",
+ "type": "object",
+ "properties": {
+ "logStartTime": {
+ "description": "Start Time of the logs when it was collected",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "logEndTime": {
+ "description": "End Time of the logs when it was collected",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "timeCollected": {
+ "description": "Duration of logs collected",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "logSize": {
+ "description": "Size of the logs collected",
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true
+ },
+ "logCollectionStatus": {
+ "description": "LogCollection status",
+ "type": "string",
+ "enum": [
+ "None",
+ "InProgress",
+ "Failed",
+ "Succeeded"
+ ],
+ "x-ms-enum": {
+ "name": "LogCollectionStatus",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "logCollectionJobType": {
+ "description": "LogCollection job type",
+ "type": "string",
+ "enum": [
+ "OnDemand",
+ "Scheduled"
+ ],
+ "x-ms-enum": {
+ "name": "LogCollectionJobType",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "correlationId": {
+ "description": "CorrelationId of the log collection",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTimeCollected": {
+ "description": "End Time of the logs when it was collected",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "logCollectionError": {
+ "$ref": "#/definitions/LogCollectionError",
+ "readOnly": true
+ }
+ }
+ },
+ "AccessLevel": {
+ "description": "Remote Support Access Level",
+ "type": "string",
+ "enum": [
+ "Diagnostics",
+ "DiagnosticsAndRepair"
+ ],
+ "x-ms-enum": {
+ "name": "AccessLevel",
+ "modelAsString": true
+ }
+ },
+ "LogCollectionError": {
+ "description": "Log Collection Error details of the cluster.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "description": "Error Code of the log collection",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessage": {
+ "description": "Error Message of the log collection",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "RemoteSupportProperties": {
+ "description": "Remote Support properties of the cluster.",
+ "type": "object",
+ "properties": {
+ "accessLevel": {
+ "$ref": "#/definitions/AccessLevel",
+ "readOnly": true
+ },
+ "expirationTimeStamp": {
+ "description": "Expiration DateTimeStamp when Remote Support Access will be expired",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "remoteSupportType": {
+ "description": "Remote Support Type for cluster",
+ "type": "string",
+ "enum": [
+ "Enable",
+ "Revoke"
+ ],
+ "x-ms-enum": {
+ "name": "RemoteSupportType",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "remoteSupportNodeSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RemoteSupportNodeSettings"
+ },
+ "readOnly": true
+ },
+ "remoteSupportSessionDetails": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PerNodeRemoteSupportSession"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "RemoteSupportNodeSettings": {
+ "description": "Remote Support Node Settings of the cluster.",
+ "type": "object",
+ "properties": {
+ "arcResourceId": {
+ "description": "Arc ResourceId of the Node",
+ "type": "string",
+ "readOnly": true
+ },
+ "state": {
+ "description": "Remote Support Access Connection State on the Node",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdAt": {
+ "description": "Remote Support Enablement Request Created TimeStamp on the Node",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "updatedAt": {
+ "description": "Remote Support Enablement Request Updated TimeStamp on the Node",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "connectionStatus": {
+ "description": "Remote Support Access Connection Status on the Node",
+ "type": "string",
+ "readOnly": true
+ },
+ "connectionErrorMessage": {
+ "description": "Remote Support Access Connection Error Message on the Node",
+ "type": "string",
+ "readOnly": true
+ },
+ "transcriptLocation": {
+ "description": "Remote Support Transcript location on the node",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PerNodeRemoteSupportSession": {
+ "description": "Remote Support Node Session Details on the Node.",
+ "type": "object",
+ "properties": {
+ "sessionStartTime": {
+ "description": "Remote Support Session StartTime on the Node",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "sessionEndTime": {
+ "description": "Remote Support Session EndTime on the Node",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "nodeName": {
+ "description": "Name of the node",
+ "type": "string",
+ "readOnly": true
+ },
+ "duration": {
+ "description": "Duration of Remote Support Enablement",
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true
+ },
+ "accessLevel": {
+ "$ref": "#/definitions/AccessLevel",
+ "readOnly": true
+ }
+ }
+ },
+ "SoftwareAssuranceProperties": {
+ "description": "Software Assurance properties of the cluster.",
+ "type": "object",
+ "properties": {
+ "softwareAssuranceStatus": {
+ "description": "Status of the Software Assurance for the cluster.",
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "SoftwareAssuranceStatus",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "softwareAssuranceIntent": {
+ "description": "Customer Intent for Software Assurance Benefit.",
+ "type": "string",
+ "enum": [
+ "Enable",
+ "Disable"
+ ],
+ "x-ms-enum": {
+ "name": "SoftwareAssuranceIntent",
+ "modelAsString": true
+ }
+ },
+ "lastUpdated": {
+ "description": "TimeStamp denoting the latest SA benefit applicability is validated.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ }
+ }
+ },
+ "IsolatedVmAttestationConfiguration": {
+ "description": "Attestation configurations for isolated VM (e.g. TVM, CVM) of the cluster.",
+ "type": "object",
+ "properties": {
+ "attestationResourceId": {
+ "description": "Fully qualified Azure resource id of the Microsoft Azure attestation resource associated with this cluster.",
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Attestation/attestationProviders",
+ "scopes": [
+ "Tenant"
+ ]
+ }
+ ]
+ },
+ "readOnly": true
+ },
+ "relyingPartyServiceEndpoint": {
+ "description": "Region specific endpoint for relying party service.",
+ "type": "string",
+ "readOnly": true
+ },
+ "attestationServiceEndpoint": {
+ "description": "Region specific endpoint for Microsoft Azure Attestation service for the cluster",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ClusterDesiredProperties": {
+ "description": "Desired properties of the cluster.",
+ "type": "object",
+ "properties": {
+ "windowsServerSubscription": {
+ "description": "Desired state of Windows Server Subscription.",
+ "type": "string",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "WindowsServerSubscription",
+ "modelAsString": true
+ }
+ },
+ "diagnosticLevel": {
+ "description": "Desired level of diagnostic data emitted by the cluster.",
+ "type": "string",
+ "enum": [
+ "Off",
+ "Basic",
+ "Enhanced"
+ ],
+ "x-ms-enum": {
+ "name": "DiagnosticLevel",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ClusterReportedProperties": {
+ "description": "Properties reported by cluster agent.",
+ "type": "object",
+ "properties": {
+ "clusterName": {
+ "description": "Name of the on-prem cluster connected to this resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "clusterId": {
+ "description": "Unique id generated by the on-prem cluster.",
+ "type": "string",
+ "readOnly": true
+ },
+ "clusterVersion": {
+ "description": "Version of the cluster software.",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodes": {
+ "description": "List of nodes reported by the cluster.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClusterNode"
+ },
+ "readOnly": true
+ },
+ "lastUpdated": {
+ "description": "Last time the cluster reported the data.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "imdsAttestation": {
+ "description": "IMDS attestation status of the cluster.",
+ "type": "string",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "ImdsAttestation",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "diagnosticLevel": {
+ "description": "Level of diagnostic data emitted by the cluster.",
+ "type": "string",
+ "enum": [
+ "Off",
+ "Basic",
+ "Enhanced"
+ ],
+ "x-ms-enum": {
+ "name": "DiagnosticLevel",
+ "modelAsString": true
+ }
+ },
+ "supportedCapabilities": {
+ "description": "Capabilities supported by the cluster.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "clusterType": {
+ "description": "The node type of all the nodes of the cluster.",
+ "type": "string",
+ "enum": [
+ "FirstParty",
+ "ThirdParty"
+ ],
+ "x-ms-enum": {
+ "name": "ClusterNodeType",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "manufacturer": {
+ "description": "The manufacturer of all the nodes of the cluster.",
+ "type": "string",
+ "readOnly": true
+ },
+ "oemActivation": {
+ "description": "OEM activation status of the cluster.",
+ "type": "string",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "OemActivation",
+ "modelAsString": true
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ClusterNode": {
+ "description": "Cluster node details.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the cluster node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Id of the node in the cluster.",
+ "type": "number",
+ "readOnly": true
+ },
+ "windowsServerSubscription": {
+ "description": "State of Windows Server Subscription.",
+ "type": "string",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "WindowsServerSubscription",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "nodeType": {
+ "description": "Type of the cluster node hardware.",
+ "type": "string",
+ "enum": [
+ "FirstParty",
+ "ThirdParty"
+ ],
+ "x-ms-enum": {
+ "name": "ClusterNodeType",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "ehcResourceId": {
+ "description": "Edge Hardware Center Resource Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "manufacturer": {
+ "description": "Manufacturer of the cluster node hardware.",
+ "type": "string",
+ "readOnly": true
+ },
+ "model": {
+ "description": "Model name of the cluster node hardware.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osName": {
+ "description": "Operating system running on the cluster node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osVersion": {
+ "description": "Version of the operating system running on the cluster node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osDisplayVersion": {
+ "description": "Display version of the operating system running on the cluster node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serialNumber": {
+ "description": "Immutable id of the cluster node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "coreCount": {
+ "description": "Number of physical cores on the cluster node.",
+ "type": "number",
+ "readOnly": true
+ },
+ "memoryInGiB": {
+ "description": "Total available memory on the cluster node (in GiB).",
+ "type": "number",
+ "readOnly": true
+ },
+ "lastLicensingTimestamp": {
+ "description": "Most recent licensing timestamp.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "oemActivation": {
+ "description": "OEM activation status of the node.",
+ "type": "string",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "OemActivation",
+ "modelAsString": true
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "RawCertificateData": {
+ "type": "object",
+ "properties": {
+ "certificates": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "UploadCertificateRequest": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RawCertificateData"
+ }
+ },
+ "additionalProperties": false
+ },
+ "LogCollectionRequestProperties": {
+ "description": "Properties for Log Collection Request",
+ "type": "object",
+ "properties": {
+ "fromDate": {
+ "description": "From DateTimeStamp from when logs need to be connected",
+ "type": "string",
+ "format": "date-time"
+ },
+ "toDate": {
+ "description": "To DateTimeStamp till when logs need to be connected",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "fromDate",
+ "toDate"
+ ],
+ "additionalProperties": false
+ },
+ "RemoteSupportRequestProperties": {
+ "description": "Properties for Remote Support Request",
+ "type": "object",
+ "properties": {
+ "accessLevel": {
+ "$ref": "#/definitions/AccessLevel",
+ "readOnly": true
+ },
+ "expirationTimeStamp": {
+ "description": "Expiration DateTimeStamp when Remote Support Access will be expired",
+ "type": "string",
+ "format": "date-time"
+ },
+ "remoteSupportType": {
+ "description": "Remote Support Type for cluster",
+ "type": "string",
+ "enum": [
+ "Enable",
+ "Revoke"
+ ],
+ "x-ms-enum": {
+ "name": "RemoteSupportType",
+ "modelAsString": true
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "SoftwareAssuranceChangeRequestProperties": {
+ "type": "object",
+ "properties": {
+ "softwareAssuranceIntent": {
+ "type": "string",
+ "enum": [
+ "Enable",
+ "Disable"
+ ],
+ "x-ms-enum": {
+ "name": "SoftwareAssuranceIntent",
+ "modelAsString": true
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "SoftwareAssuranceChangeRequest": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SoftwareAssuranceChangeRequestProperties"
+ }
+ },
+ "additionalProperties": false
+ },
+ "LogCollectionRequest": {
+ "description": "Log Collection Request",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/LogCollectionRequestProperties"
+ }
+ },
+ "additionalProperties": false
+ },
+ "RemoteSupportRequest": {
+ "description": "Remote Support Request",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RemoteSupportRequestProperties"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ClusterIdentityResponse": {
+ "description": "Cluster Identity details.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Cluster identity properties.",
+ "$ref": "#/definitions/ClusterIdentityResponseProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ClusterIdentityResponseProperties": {
+ "type": "object",
+ "properties": {
+ "aadClientId": {
+ "type": "string"
+ },
+ "aadTenantId": {
+ "type": "string"
+ },
+ "aadServicePrincipalObjectId": {
+ "type": "string"
+ },
+ "aadApplicationObjectId": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "readOnly": true
+ }
+ },
+ "parameters": {
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the cluster.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/deploymentSettings.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/deploymentSettings.json
new file mode 100644
index 000000000000..fbe9009422c9
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/deploymentSettings.json
@@ -0,0 +1,999 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Deployment Settings",
+ "version": "2024-04-01",
+ "description": "Azure Stack HCI Deployment Settings."
+ },
+ "schemes": [
+ "https"
+ ],
+ "host": "management.azure.com",
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "tags": [
+ {
+ "name": "DeploymentSettings"
+ }
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/deploymentSettings": {
+ "get": {
+ "operationId": "DeploymentSettings_ListByClusters",
+ "tags": [
+ "DeploymentSettings"
+ ],
+ "description": "List DeploymentSetting resources by Clusters",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentSettingListResult"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Deployment Settings": {
+ "$ref": "./examples/ListDeploymentSettingsByCluster.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/deploymentSettings/{deploymentSettingsName}": {
+ "get": {
+ "operationId": "DeploymentSettings_Get",
+ "tags": [
+ "DeploymentSettings"
+ ],
+ "description": "Get a DeploymentSetting",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "deploymentSettingsName",
+ "in": "path",
+ "description": "Name of Deployment Setting",
+ "required": true,
+ "type": "string",
+ "default": "default",
+ "pattern": "^[a-zA-Z0-9-]{3,24}$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentSetting"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Deployment Settings": {
+ "$ref": "./examples/GetDeploymentSettings.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "DeploymentSettings_CreateOrUpdate",
+ "tags": [
+ "DeploymentSettings"
+ ],
+ "description": "Create a DeploymentSetting",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "deploymentSettingsName",
+ "in": "path",
+ "description": "Name of Deployment Setting",
+ "required": true,
+ "type": "string",
+ "default": "default",
+ "pattern": "^[a-zA-Z0-9-]{3,24}$"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "description": "Resource create parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeploymentSetting"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resource 'DeploymentSetting' update operation succeeded",
+ "schema": {
+ "$ref": "#/definitions/DeploymentSetting"
+ }
+ },
+ "201": {
+ "description": "Resource 'DeploymentSetting' create operation succeeded",
+ "schema": {
+ "$ref": "#/definitions/DeploymentSetting"
+ },
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ }
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create Deployment Settings": {
+ "$ref": "./examples/PutDeploymentSettings.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "DeploymentSettings_Delete",
+ "tags": [
+ "DeploymentSettings"
+ ],
+ "description": "Delete a DeploymentSetting",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "deploymentSettingsName",
+ "in": "path",
+ "description": "Name of Deployment Setting",
+ "required": true,
+ "type": "string",
+ "default": "default",
+ "pattern": "^[a-zA-Z0-9-]{3,24}$"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Resource deletion accepted.",
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ },
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ }
+ }
+ },
+ "204": {
+ "description": "Resource deleted successfully."
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Deployment Settings": {
+ "$ref": "./examples/DeleteDeploymentSettings.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-long-running-operation": true
+ }
+ }
+ },
+ "definitions": {
+ "AdapterPropertyOverrides": {
+ "type": "object",
+ "description": "The AdapterPropertyOverrides of a cluster.",
+ "properties": {
+ "jumboPacket": {
+ "type": "string",
+ "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation."
+ },
+ "networkDirect": {
+ "type": "string",
+ "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation."
+ },
+ "networkDirectTechnology": {
+ "type": "string",
+ "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. Expected values are 'iWARP', 'RoCEv2', 'RoCE'"
+ }
+ }
+ },
+ "DeploymentCluster": {
+ "type": "object",
+ "description": "AzureStackHCI Cluster deployment properties.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The cluster name provided when preparing Active Directory."
+ },
+ "witnessType": {
+ "type": "string",
+ "description": "Use a cloud witness if you have internet access and if you use an Azure Storage account to provide a vote on cluster quorum. A cloud witness uses Azure Blob Storage to read or write a blob file and then uses it to arbitrate in split-brain resolution. Only allowed values are 'Cloud', 'FileShare'. "
+ },
+ "witnessPath": {
+ "type": "string",
+ "description": "Specify the fileshare path for the local witness for your Azure Stack HCI cluster."
+ },
+ "cloudAccountName": {
+ "type": "string",
+ "description": "Specify the Azure Storage account name for cloud witness for your Azure Stack HCI cluster."
+ },
+ "azureServiceEndpoint": {
+ "type": "string",
+ "description": "For Azure blob service endpoint type, select either Default or Custom domain. If you selected **Custom domain, enter the domain for the blob service in this format core.windows.net."
+ }
+ }
+ },
+ "DeploymentConfiguration": {
+ "type": "object",
+ "description": "Deployment Configuration",
+ "properties": {
+ "version": {
+ "type": "string",
+ "description": "deployment template version "
+ },
+ "scaleUnits": {
+ "type": "array",
+ "description": "Scale units will contains list of deployment data",
+ "items": {
+ "$ref": "#/definitions/ScaleUnits"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "required": [
+ "scaleUnits"
+ ]
+ },
+ "DeploymentData": {
+ "type": "object",
+ "description": "The Deployment data of AzureStackHCI Cluster.",
+ "properties": {
+ "securitySettings": {
+ "$ref": "#/definitions/DeploymentSecuritySettings",
+ "description": "SecuritySettings to deploy AzureStackHCI Cluster."
+ },
+ "observability": {
+ "$ref": "#/definitions/Observability",
+ "description": "Observability config to deploy AzureStackHCI Cluster."
+ },
+ "cluster": {
+ "$ref": "#/definitions/DeploymentCluster",
+ "description": "Observability config to deploy AzureStackHCI Cluster."
+ },
+ "storage": {
+ "$ref": "#/definitions/Storage",
+ "description": "Storage config to deploy AzureStackHCI Cluster."
+ },
+ "namingPrefix": {
+ "type": "string",
+ "description": "naming prefix to deploy cluster.",
+ "pattern": "^[a-zA-Z0-9-]{1,8}$"
+ },
+ "domainFqdn": {
+ "type": "string",
+ "description": "FQDN to deploy cluster"
+ },
+ "infrastructureNetwork": {
+ "type": "array",
+ "description": "InfrastructureNetwork config to deploy AzureStackHCI Cluster.",
+ "items": {
+ "$ref": "#/definitions/InfrastructureNetwork"
+ },
+ "x-ms-identifiers": []
+ },
+ "physicalNodes": {
+ "type": "array",
+ "description": "list of physical nodes config to deploy AzureStackHCI Cluster.",
+ "items": {
+ "$ref": "#/definitions/PhysicalNodes"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "hostNetwork": {
+ "$ref": "#/definitions/HostNetwork",
+ "description": "HostNetwork config to deploy AzureStackHCI Cluster."
+ },
+ "sdnIntegration": {
+ "$ref": "#/definitions/SdnIntegration",
+ "description": "SDN Integration config to deploy AzureStackHCI Cluster."
+ },
+ "adouPath": {
+ "type": "string",
+ "description": "The path to the Active Directory Organizational Unit container object prepared for the deployment. "
+ },
+ "secretsLocation": {
+ "type": "string",
+ "description": "Azure keyvault endpoint. This property is deprecated from 2023-12-01-preview. Please use secrets property instead."
+ },
+ "secrets": {
+ "type": "array",
+ "description": "secrets used for cloud deployment.",
+ "items": {
+ "$ref": "./hciCommon.json#/definitions/EceDeploymentSecrets"
+ },
+ "x-ms-identifiers": [
+ "secretName"
+ ]
+ },
+ "optionalServices": {
+ "$ref": "#/definitions/OptionalServices",
+ "description": "OptionalServices config to deploy AzureStackHCI Cluster."
+ }
+ }
+ },
+ "DeploymentSetting": {
+ "type": "object",
+ "description": "Edge device resource",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DeploymentSettingsProperties",
+ "description": "The resource-specific properties for this resource.",
+ "x-ms-client-flatten": true,
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "DeploymentSettingListResult": {
+ "type": "object",
+ "description": "The response of a DeploymentSetting list operation.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "The DeploymentSetting items on this page",
+ "items": {
+ "$ref": "#/definitions/DeploymentSetting"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "format": "uri",
+ "description": "The link to the next page of items"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "DeploymentSettingsProperties": {
+ "type": "object",
+ "description": "DeploymentSetting properties",
+ "properties": {
+ "provisioningState": {
+ "$ref": "./hciCommon.json#/definitions/ProvisioningState",
+ "description": "DeploymentSetting provisioning state",
+ "readOnly": true
+ },
+ "arcNodeResourceIds": {
+ "type": "array",
+ "description": "Azure resource ids of Arc machines to be part of cluster.",
+ "items": {
+ "type": "string"
+ },
+ "x-ms-identifiers": []
+ },
+ "deploymentMode": {
+ "$ref": "./hciCommon.json#/definitions/DeploymentMode",
+ "description": "The deployment mode for cluster deployment."
+ },
+ "operationType": {
+ "type": "string",
+ "description": "The intended operation for a cluster.",
+ "enum": [
+ "ClusterProvisioning",
+ "ClusterUpgrade"
+ ],
+ "default": "ClusterProvisioning",
+ "x-ms-enum": {
+ "name": "OperationType",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "ClusterProvisioning",
+ "value": "ClusterProvisioning",
+ "description": "Cluster provisioning operation."
+ },
+ {
+ "name": "ClusterUpgrade",
+ "value": "ClusterUpgrade",
+ "description": "Cluster upgrade operation."
+ }
+ ]
+ }
+ },
+ "deploymentConfiguration": {
+ "$ref": "#/definitions/DeploymentConfiguration",
+ "description": "Scale units will contains list of deployment data",
+ "x-ms-identifiers": []
+ },
+ "reportedProperties": {
+ "$ref": "./hciCommon.json#/definitions/EceReportedProperties",
+ "description": "Deployment Status reported from cluster.",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "arcNodeResourceIds",
+ "deploymentMode",
+ "deploymentConfiguration"
+ ]
+ },
+ "HostNetwork": {
+ "type": "object",
+ "description": "The HostNetwork of a cluster.",
+ "properties": {
+ "intents": {
+ "type": "array",
+ "description": "The network intents assigned to the network reference pattern used for the deployment. Each intent will define its own name, traffic type, adapter names, and overrides as recommended by your OEM.",
+ "items": {
+ "$ref": "#/definitions/Intents"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "storageNetworks": {
+ "type": "array",
+ "description": "List of StorageNetworks config to deploy AzureStackHCI Cluster.",
+ "items": {
+ "$ref": "#/definitions/StorageNetworks"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "storageConnectivitySwitchless": {
+ "type": "boolean",
+ "description": "Defines how the storage adapters between nodes are connected either switch or switch less..",
+ "default": false
+ },
+ "enableStorageAutoIp": {
+ "type": "boolean",
+ "description": "Optional parameter required only for 3 Nodes Switchless deployments. This allows users to specify IPs and Mask for Storage NICs when Network ATC is not assigning the IPs for storage automatically.",
+ "default": false
+ }
+ }
+ },
+ "InfrastructureNetwork": {
+ "type": "object",
+ "description": "The InfrastructureNetwork of a AzureStackHCI Cluster.",
+ "properties": {
+ "subnetMask": {
+ "type": "string",
+ "description": "Subnet mask that matches the provided IP address space."
+ },
+ "gateway": {
+ "type": "string",
+ "description": "Default gateway that should be used for the provided IP address space."
+ },
+ "ipPools": {
+ "type": "array",
+ "description": "Range of IP addresses from which addresses are allocated for nodes within a subnet.",
+ "items": {
+ "$ref": "#/definitions/IpPools"
+ },
+ "x-ms-identifiers": []
+ },
+ "dnsServers": {
+ "type": "array",
+ "description": "IPv4 address of the DNS servers in your environment.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "useDhcp": {
+ "type": "boolean",
+ "description": "Allows customers to use DHCP for Hosts and Cluster IPs. If not declared, the deployment will default to static IPs. When true, GW and DNS servers are not required"
+ }
+ }
+ },
+ "Intents": {
+ "type": "object",
+ "description": "The Intents of a cluster.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the network intent you wish to create."
+ },
+ "trafficType": {
+ "type": "array",
+ "description": "List of network traffic types. Only allowed values are 'Compute', 'Storage', 'Management'.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "adapter": {
+ "type": "array",
+ "description": "Array of network interfaces used for the network intent.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "overrideVirtualSwitchConfiguration": {
+ "type": "boolean",
+ "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.",
+ "default": false
+ },
+ "virtualSwitchConfigurationOverrides": {
+ "$ref": "#/definitions/VirtualSwitchConfigurationOverrides",
+ "description": "Set virtualSwitch ConfigurationOverrides for cluster."
+ },
+ "overrideQosPolicy": {
+ "type": "boolean",
+ "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.",
+ "default": false
+ },
+ "qosPolicyOverrides": {
+ "$ref": "#/definitions/QosPolicyOverrides",
+ "description": "Set QoS PolicyOverrides for cluster."
+ },
+ "overrideAdapterProperty": {
+ "type": "boolean",
+ "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.",
+ "default": false
+ },
+ "adapterPropertyOverrides": {
+ "$ref": "#/definitions/AdapterPropertyOverrides",
+ "description": "Set Adapter PropertyOverrides for cluster."
+ }
+ }
+ },
+ "IpPools": {
+ "type": "object",
+ "description": "The dnsServers of a device.",
+ "properties": {
+ "startingAddress": {
+ "type": "string",
+ "description": "Starting IP address for the management network. A minimum of six free, contiguous IPv4 addresses (excluding your host IPs) are needed for infrastructure services such as clustering."
+ },
+ "endingAddress": {
+ "type": "string",
+ "description": "Ending IP address for the management network. A minimum of six free, contiguous IPv4 addresses (excluding your host IPs) are needed for infrastructure services such as clustering."
+ }
+ }
+ },
+ "NetworkController": {
+ "type": "object",
+ "description": "network controller config for SDN Integration to deploy AzureStackHCI Cluster.",
+ "properties": {
+ "macAddressPoolStart": {
+ "type": "string",
+ "description": "macAddressPoolStart of network controller used for SDN Integration."
+ },
+ "macAddressPoolStop": {
+ "type": "string",
+ "description": "macAddressPoolStop of network controller used for SDN Integration."
+ },
+ "networkVirtualizationEnabled": {
+ "type": "boolean",
+ "description": "NetworkVirtualizationEnabled of network controller used for SDN Integration."
+ }
+ }
+ },
+ "Observability": {
+ "type": "object",
+ "description": "The Observability of AzureStackHCI Cluster.",
+ "properties": {
+ "streamingDataClient": {
+ "type": "boolean",
+ "description": "Enables telemetry data to be sent to Microsoft",
+ "default": true
+ },
+ "euLocation": {
+ "type": "boolean",
+ "description": "Location of your cluster. The log and diagnostic data is sent to the appropriate diagnostics servers depending upon where your cluster resides. Setting this to false results in all data sent to Microsoft to be stored outside of the EU.",
+ "default": false
+ },
+ "episodicDataUpload": {
+ "type": "boolean",
+ "description": "When set to true, collects log data to facilitate quicker issue resolution.",
+ "default": true
+ }
+ }
+ },
+ "OptionalServices": {
+ "type": "object",
+ "description": "The OptionalServices of AzureStackHCI Cluster.",
+ "properties": {
+ "customLocation": {
+ "type": "string",
+ "description": "The name of custom location."
+ }
+ }
+ },
+ "PhysicalNodes": {
+ "type": "object",
+ "description": "The PhysicalNodes of a cluster.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "NETBIOS name of each physical server on your Azure Stack HCI cluster."
+ },
+ "ipv4Address": {
+ "type": "string",
+ "description": "The IPv4 address assigned to each physical server on your Azure Stack HCI cluster."
+ }
+ }
+ },
+ "QosPolicyOverrides": {
+ "type": "object",
+ "description": "The QoSPolicyOverrides of a cluster.",
+ "properties": {
+ "priorityValue8021Action_Cluster": {
+ "type": "string",
+ "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation."
+ },
+ "priorityValue8021Action_SMB": {
+ "type": "string",
+ "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation."
+ },
+ "bandwidthPercentage_SMB": {
+ "type": "string",
+ "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation."
+ }
+ }
+ },
+ "SbePartnerInfo": {
+ "type": "object",
+ "description": "The solution builder extension (SBE) partner deployment info for cluster.",
+ "properties": {
+ "sbeDeploymentInfo": {
+ "$ref": "#/definitions/SbeDeploymentInfo",
+ "description": "SBE package and manifest information for the solution Builder Extension staged for AzureStackHCI cluster deployment."
+ },
+ "partnerProperties": {
+ "type": "array",
+ "description": "List of SBE partner properties for AzureStackHCI cluster deployment.",
+ "items": {
+ "$ref": "#/definitions/SbePartnerProperties"
+ },
+ "x-ms-identifiers": []
+ },
+ "credentialList": {
+ "type": "array",
+ "description": "SBE credentials list for AzureStackHCI cluster deployment.",
+ "items": {
+ "$ref": "#/definitions/SbeCredentials"
+ },
+ "x-ms-identifiers": [
+ "secretName"
+ ]
+ }
+ }
+ },
+ "SbeDeploymentInfo": {
+ "type": "object",
+ "description": "Solution builder extension (SBE) package and manifest information for the solution builder extension staged for AzureStackHCI cluster deployment.",
+ "properties": {
+ "version": {
+ "type": "string",
+ "description": "SBE package version."
+ },
+ "family": {
+ "type": "string",
+ "description": "SBE family name."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "SBE manifest publisher."
+ },
+ "sbeManifestSource": {
+ "type": "string",
+ "description": "SBE Manifest Source."
+ },
+ "sbeManifestCreationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "SBE Manifest Creation Date."
+ }
+ }
+ },
+ "SbePartnerProperties": {
+ "type": "object",
+ "description": "Solution builder extension (SBE) partner properties object.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "SBE partner property name."
+ },
+ "value": {
+ "type": "string",
+ "description": "SBE partner property value."
+ }
+ }
+ },
+ "SbeCredentials": {
+ "type": "object",
+ "description": "secrets used for solution builder extension (SBE) partner extensibility.",
+ "properties": {
+ "secretName": {
+ "type": "string",
+ "description": "secret name stored in keyvault."
+ },
+ "eceSecretName": {
+ "type": "string",
+ "description": "secret name expected for Enterprise Cloud Engine (ECE)."
+ },
+ "secretLocation": {
+ "type": "string",
+ "format": "uri",
+ "description": "secret URI stored in keyvault."
+ }
+ }
+ },
+ "ScaleUnits": {
+ "type": "object",
+ "description": "Scale units will contains list of deployment data",
+ "properties": {
+ "deploymentData": {
+ "$ref": "#/definitions/DeploymentData",
+ "description": "Deployment Data to deploy AzureStackHCI Cluster."
+ },
+ "sbePartnerInfo": {
+ "$ref": "#/definitions/SbePartnerInfo",
+ "description": "Solution builder extension (SBE) partner properties"
+ }
+ },
+ "required": [
+ "deploymentData"
+ ],
+ "externalDocs": {
+ "description": "Deploy Azure Stack HCI using an existing configuration file",
+ "url": "https://learn.microsoft.com/en-us/azure-stack/hci/deploy/deployment-tool-existing-file"
+ }
+ },
+ "SdnIntegration": {
+ "type": "object",
+ "description": "SDN Integration config to deploy AzureStackHCI Cluster.",
+ "properties": {
+ "networkController": {
+ "$ref": "#/definitions/NetworkController",
+ "description": "network controller config for SDN Integration to deploy AzureStackHCI Cluster."
+ }
+ }
+ },
+ "DeploymentSecuritySettings": {
+ "type": "object",
+ "description": "The SecuritySettings of AzureStackHCI Cluster.",
+ "properties": {
+ "hvciProtection": {
+ "type": "boolean",
+ "description": "By default, Hypervisor-protected Code Integrity is enabled on your Azure HCI cluster.",
+ "default": true
+ },
+ "drtmProtection": {
+ "type": "boolean",
+ "description": "By default, Secure Boot is enabled on your Azure HCI cluster. This setting is hardware dependent.",
+ "default": true
+ },
+ "driftControlEnforced": {
+ "type": "boolean",
+ "description": "When set to true, the security baseline is re-applied regularly.",
+ "default": true
+ },
+ "credentialGuardEnforced": {
+ "type": "boolean",
+ "description": "When set to true, Credential Guard is enabled.",
+ "default": false
+ },
+ "smbSigningEnforced": {
+ "type": "boolean",
+ "description": "When set to true, the SMB default instance requires sign in for the client and server services.",
+ "default": true
+ },
+ "smbClusterEncryption": {
+ "type": "boolean",
+ "description": "When set to true, cluster east-west traffic is encrypted.",
+ "default": false
+ },
+ "sideChannelMitigationEnforced": {
+ "type": "boolean",
+ "description": "When set to true, all the side channel mitigations are enabled",
+ "default": true
+ },
+ "bitlockerBootVolume": {
+ "type": "boolean",
+ "description": "When set to true, BitLocker XTS_AES 256-bit encryption is enabled for all data-at-rest on the OS volume of your Azure Stack HCI cluster. This setting is TPM-hardware dependent. ",
+ "default": true
+ },
+ "bitlockerDataVolumes": {
+ "type": "boolean",
+ "description": "When set to true, BitLocker XTS-AES 256-bit encryption is enabled for all data-at-rest on your Azure Stack HCI cluster shared volumes.",
+ "default": true
+ },
+ "wdacEnforced": {
+ "type": "boolean",
+ "description": "WDAC is enabled by default and limits the applications and the code that you can run on your Azure Stack HCI cluster.",
+ "default": true
+ }
+ }
+ },
+ "Storage": {
+ "type": "object",
+ "description": "The Storage config of AzureStackHCI Cluster.",
+ "properties": {
+ "configurationMode": {
+ "type": "string",
+ "description": "By default, this mode is set to Express and your storage is configured as per best practices based on the number of nodes in the cluster. Allowed values are 'Express','InfraOnly', 'KeepStorage'",
+ "default": "Express"
+ }
+ }
+ },
+ "StorageAdapterIPInfo": {
+ "type": "object",
+ "description": "The StorageAdapter physical nodes of a cluster.",
+ "properties": {
+ "physicalNode": {
+ "type": "string",
+ "description": "storage adapter physical node name."
+ },
+ "ipv4Address": {
+ "type": "string",
+ "description": "The IPv4 address assigned to each storage adapter physical node on your Azure Stack HCI cluster."
+ },
+ "subnetMask": {
+ "type": "string",
+ "description": "The SubnetMask address assigned to each storage adapter physical node on your Azure Stack HCI cluster."
+ }
+ }
+ },
+ "StorageNetworks": {
+ "type": "object",
+ "description": "The StorageNetworks of a cluster.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the storage network."
+ },
+ "networkAdapterName": {
+ "type": "string",
+ "description": "Name of the storage network adapter."
+ },
+ "vlanId": {
+ "type": "string",
+ "description": "ID specified for the VLAN storage network. This setting is applied to the network interfaces that route the storage and VM migration traffic. "
+ },
+ "storageAdapterIPInfo": {
+ "type": "array",
+ "description": "List of Storage adapter physical nodes config to deploy AzureStackHCI Cluster.",
+ "items": {
+ "$ref": "#/definitions/StorageAdapterIPInfo"
+ },
+ "x-ms-identifiers": [
+ "physicalNode"
+ ]
+ }
+ }
+ },
+ "VirtualSwitchConfigurationOverrides": {
+ "type": "object",
+ "description": "The VirtualSwitchConfigurationOverrides of a cluster.",
+ "properties": {
+ "enableIov": {
+ "type": "string",
+ "description": "Enable IoV for Virtual Switch"
+ },
+ "loadBalancingAlgorithm": {
+ "type": "string",
+ "description": "Load Balancing Algorithm for Virtual Switch"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the cluster.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/edgeDevices.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/edgeDevices.json
new file mode 100644
index 000000000000..0cf93143542f
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/edgeDevices.json
@@ -0,0 +1,1237 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Edge Devices",
+ "version": "2024-04-01",
+ "description": "Azure Arc-enabled Edge Device."
+ },
+ "schemes": [
+ "https"
+ ],
+ "host": "management.azure.com",
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "tags": [
+ {
+ "name": "EdgeDevices"
+ }
+ ],
+ "paths": {
+ "/{resourceUri}/providers/Microsoft.AzureStackHCI/edgeDevices": {
+ "get": {
+ "operationId": "EdgeDevices_List",
+ "tags": [
+ "EdgeDevices"
+ ],
+ "description": "List EdgeDevice resources by parent",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Azure operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/EdgeDeviceListResult"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Edge Devices": {
+ "$ref": "./examples/ListEdgeDevices.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.AzureStackHCI/edgeDevices/{edgeDeviceName}": {
+ "get": {
+ "operationId": "EdgeDevices_Get",
+ "tags": [
+ "EdgeDevices"
+ ],
+ "description": "Get a EdgeDevice",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter"
+ },
+ {
+ "name": "edgeDeviceName",
+ "in": "path",
+ "description": "Name of Device",
+ "required": true,
+ "type": "string",
+ "default": "default",
+ "pattern": "^[a-zA-Z0-9-]{3,24}$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Azure operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/EdgeDevice"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Edge Device": {
+ "$ref": "./examples/GetEdgeDevices.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "EdgeDevices_CreateOrUpdate",
+ "tags": [
+ "EdgeDevices"
+ ],
+ "description": "Create a EdgeDevice",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter"
+ },
+ {
+ "name": "edgeDeviceName",
+ "in": "path",
+ "description": "Name of Device",
+ "required": true,
+ "type": "string",
+ "default": "default",
+ "pattern": "^[a-zA-Z0-9-]{3,24}$"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "description": "Resource create parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EdgeDevice"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Azure operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/EdgeDevice"
+ }
+ },
+ "201": {
+ "description": "Resource successfully created.",
+ "schema": {
+ "$ref": "#/definitions/EdgeDevice"
+ },
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ }
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create HCI Edge Device": {
+ "$ref": "./examples/CreateHciEdgeDevice.json"
+ }
+ }
+ },
+ "delete": {
+ "operationId": "EdgeDevices_Delete",
+ "tags": [
+ "EdgeDevices"
+ ],
+ "description": "Delete a EdgeDevice",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter"
+ },
+ {
+ "name": "edgeDeviceName",
+ "in": "path",
+ "description": "Name of Device",
+ "required": true,
+ "type": "string",
+ "default": "default",
+ "pattern": "^[a-zA-Z0-9-]{3,24}$"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Resource deletion accepted.",
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ },
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ }
+ }
+ },
+ "204": {
+ "description": "Resource deleted successfully."
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Edge Devices": {
+ "$ref": "./examples/DeleteEdgeDevices.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.AzureStackHCI/edgeDevices/{edgeDeviceName}/validate": {
+ "post": {
+ "operationId": "EdgeDevices_Validate",
+ "tags": [
+ "EdgeDevices"
+ ],
+ "description": "A long-running resource action.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter"
+ },
+ {
+ "name": "edgeDeviceName",
+ "in": "path",
+ "description": "Name of Device",
+ "required": true,
+ "type": "string",
+ "default": "default",
+ "pattern": "^[a-zA-Z0-9-]{3,24}$"
+ },
+ {
+ "name": "ValidateRequest",
+ "in": "body",
+ "description": "The content of the action request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Azure operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ValidateResponse"
+ }
+ },
+ "202": {
+ "description": "Resource operation accepted.",
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ },
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ }
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Validate Edge Devices": {
+ "$ref": "./examples/ValidateEdgeDevices.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-long-running-operation": true
+ }
+ }
+ },
+ "definitions": {
+ "AdapterPropertyOverrides": {
+ "type": "object",
+ "description": "The AdapterPropertyOverrides of a cluster.",
+ "properties": {
+ "jumboPacket": {
+ "type": "string",
+ "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.",
+ "readOnly": true
+ },
+ "networkDirect": {
+ "type": "string",
+ "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.",
+ "readOnly": true
+ },
+ "networkDirectTechnology": {
+ "type": "string",
+ "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. Expected values are 'iWARP', 'RoCEv2', 'RoCE'",
+ "readOnly": true
+ }
+ }
+ },
+ "ArcExtensionState": {
+ "type": "string",
+ "description": "Arc extension installation state.",
+ "enum": [
+ "NotSpecified",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Accepted",
+ "Creating",
+ "Updating",
+ "Moving",
+ "Deleting",
+ "Deleted"
+ ],
+ "x-ms-enum": {
+ "name": "ArcExtensionState",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "NotSpecified",
+ "value": "NotSpecified",
+ "description": "Arc extension state is not specified."
+ },
+ {
+ "name": "Succeeded",
+ "value": "Succeeded",
+ "description": "Arc extension state is Succeeded."
+ },
+ {
+ "name": "Failed",
+ "value": "Failed",
+ "description": "Arc extension state is Failed."
+ },
+ {
+ "name": "Canceled",
+ "value": "Canceled",
+ "description": "Arc extension state is Canceled."
+ },
+ {
+ "name": "Accepted",
+ "value": "Accepted",
+ "description": "Arc extension state is Accepted when extension installation triggered."
+ },
+ {
+ "name": "Creating",
+ "value": "Creating",
+ "description": "Arc extension is in Creating State."
+ },
+ {
+ "name": "Updating",
+ "value": "Updating",
+ "description": "Arc extension is in Updating State."
+ },
+ {
+ "name": "Moving",
+ "value": "Moving",
+ "description": "Arc extension is in Moving State."
+ },
+ {
+ "name": "Deleting",
+ "value": "Deleting",
+ "description": "Arc extension is in Deleting State."
+ },
+ {
+ "name": "Deleted",
+ "value": "Deleted",
+ "description": "Arc extension is in Deleted State."
+ }
+ ]
+ }
+ },
+ "DeviceConfiguration": {
+ "type": "object",
+ "description": "The device Configuration for edge device.",
+ "properties": {
+ "nicDetails": {
+ "type": "array",
+ "description": "NIC Details of device",
+ "items": {
+ "$ref": "#/definitions/NicDetail"
+ },
+ "x-ms-identifiers": [
+ "adapterName"
+ ]
+ },
+ "deviceMetadata": {
+ "type": "string",
+ "description": "Device metadata details."
+ }
+ }
+ },
+ "DeviceKind": {
+ "type": "string",
+ "description": "Edge device kind.",
+ "enum": [
+ "HCI"
+ ],
+ "default": "HCI",
+ "x-ms-enum": {
+ "name": "DeviceKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "HCI",
+ "value": "HCI",
+ "description": "Arc-enabled edge device with HCI OS."
+ }
+ ]
+ }
+ },
+ "DeviceState": {
+ "type": "string",
+ "description": "The edge device state.",
+ "enum": [
+ "NotSpecified",
+ "Connected",
+ "Disconnected",
+ "Repairing",
+ "Draining",
+ "InMaintenance",
+ "Resuming",
+ "Processing"
+ ],
+ "x-ms-enum": {
+ "name": "DeviceState",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "NotSpecified",
+ "value": "NotSpecified",
+ "description": "The edge device state is not specified."
+ },
+ {
+ "name": "Connected",
+ "value": "Connected",
+ "description": "The edge device state is in connected state."
+ },
+ {
+ "name": "Disconnected",
+ "value": "Disconnected",
+ "description": "The edge device state is in disconnected state."
+ },
+ {
+ "name": "Repairing",
+ "value": "Repairing",
+ "description": "The edge device state is in repairing state."
+ },
+ {
+ "name": "Draining",
+ "value": "Draining",
+ "description": "The edge device state is in draining state."
+ },
+ {
+ "name": "InMaintenance",
+ "value": "InMaintenance",
+ "description": "The edge device state is in maintenance state."
+ },
+ {
+ "name": "Resuming",
+ "value": "Resuming",
+ "description": "The edge device state is in resuming state."
+ },
+ {
+ "name": "Processing",
+ "value": "Processing",
+ "description": "The edge device state is in processing state."
+ }
+ ]
+ }
+ },
+ "EdgeDevice": {
+ "type": "object",
+ "description": "Edge device resource.",
+ "properties": {
+ "kind": {
+ "$ref": "#/definitions/DeviceKind",
+ "description": "Device kind to support polymorphic resource.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ }
+ },
+ "discriminator": "kind",
+ "required": [
+ "kind"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "EdgeDeviceListResult": {
+ "type": "object",
+ "description": "The response of a EdgeDevice list operation.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "The EdgeDevice items on this page",
+ "items": {
+ "$ref": "#/definitions/EdgeDevice"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "format": "uri",
+ "description": "The link to the next page of items"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "EdgeDeviceProperties": {
+ "type": "object",
+ "description": "Edge Device properties",
+ "properties": {
+ "deviceConfiguration": {
+ "$ref": "#/definitions/DeviceConfiguration",
+ "description": "Device Configuration"
+ },
+ "provisioningState": {
+ "$ref": "./hciCommon.json#/definitions/ProvisioningState",
+ "description": "Provisioning state of edgeDevice resource",
+ "readOnly": true
+ }
+ }
+ },
+ "ErrorDetail": {
+ "type": "object",
+ "description": "details of validation failure",
+ "properties": {
+ "exception": {
+ "type": "string",
+ "description": "Exception details while installing extension.",
+ "readOnly": true
+ }
+ }
+ },
+ "Extension": {
+ "type": "object",
+ "description": "Arc extension installed on edge device.",
+ "properties": {
+ "extensionName": {
+ "type": "string",
+ "description": "Arc extension name installed on edge device.",
+ "readOnly": true
+ },
+ "state": {
+ "$ref": "#/definitions/ArcExtensionState",
+ "description": "Arc extension state from arc machine extension.",
+ "readOnly": true
+ },
+ "errorDetails": {
+ "type": "array",
+ "description": "Error details while installing Arc extension.",
+ "items": {
+ "$ref": "#/definitions/ErrorDetail"
+ },
+ "readOnly": true,
+ "x-ms-identifiers": []
+ },
+ "extensionResourceId": {
+ "type": "string",
+ "format": "arm-id",
+ "description": "Arc Extension Azure resource id.",
+ "readOnly": true
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Extension version installed.",
+ "readOnly": true
+ },
+ "managedBy": {
+ "type": "string",
+ "description": "Extension managed by user or Azure.",
+ "default": "Azure",
+ "enum": [
+ "User",
+ "Azure"
+ ],
+ "x-ms-enum": {
+ "name": "ExtensionManagedBy",
+ "modelAsString": true
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ExtensionManagedBy": {
+ "type": "string",
+ "description": "Arc extension managed by Azure or User.",
+ "enum": [
+ "User",
+ "Azure"
+ ],
+ "x-ms-enum": {
+ "name": "ExtensionManagedBy",
+ "modelAsString": true
+ }
+ },
+ "ExtensionProfile": {
+ "type": "object",
+ "description": "Extensions details for edge device.",
+ "properties": {
+ "extensions": {
+ "type": "array",
+ "description": "List of Arc extensions installed on edge device.",
+ "items": {
+ "$ref": "#/definitions/Extension"
+ },
+ "readOnly": true,
+ "x-ms-identifiers": [
+ "extensionName"
+ ]
+ }
+ }
+ },
+ "HciEdgeDevice": {
+ "type": "object",
+ "description": "Arc-enabled edge device with HCI OS.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/HciEdgeDeviceProperties",
+ "description": "properties for Arc-enabled edge device with HCI OS."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/EdgeDevice"
+ }
+ ],
+ "x-ms-discriminator-value": "HCI"
+ },
+ "HciEdgeDeviceProperties": {
+ "type": "object",
+ "description": "properties for Arc-enabled edge device with HCI OS.",
+ "properties": {
+ "reportedProperties": {
+ "$ref": "#/definitions/HciReportedProperties",
+ "description": "The instance view of all current configurations on HCI device.",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/EdgeDeviceProperties"
+ }
+ ]
+ },
+ "HciNetworkProfile": {
+ "type": "object",
+ "description": "The network profile of a device.",
+ "properties": {
+ "nicDetails": {
+ "type": "array",
+ "description": "List of NIC Details of device.",
+ "items": {
+ "$ref": "#/definitions/HciNicDetail"
+ },
+ "readOnly": true,
+ "x-ms-identifiers": [
+ "adapterName"
+ ]
+ },
+ "switchDetails": {
+ "type": "array",
+ "description": "List of switch details for edge device.",
+ "items": {
+ "$ref": "#/definitions/SwitchDetail"
+ },
+ "readOnly": true,
+ "x-ms-identifiers": [
+ "switchName"
+ ]
+ },
+ "hostNetwork": {
+ "$ref": "#/definitions/HostNetwork",
+ "description": "HostNetwork config to deploy AzureStackHCI Cluster.",
+ "readOnly": true
+ }
+ }
+ },
+ "HciNicDetail": {
+ "type": "object",
+ "description": "The NIC Detail of a device.",
+ "properties": {
+ "adapterName": {
+ "type": "string",
+ "description": "Adapter Name of NIC",
+ "readOnly": true
+ },
+ "interfaceDescription": {
+ "type": "string",
+ "description": "Interface Description of NIC",
+ "readOnly": true
+ },
+ "componentId": {
+ "type": "string",
+ "description": "Component Id of NIC",
+ "readOnly": true
+ },
+ "driverVersion": {
+ "type": "string",
+ "description": "Driver Version of NIC",
+ "readOnly": true
+ },
+ "ip4Address": {
+ "type": "string",
+ "description": "Subnet Mask of NIC",
+ "readOnly": true
+ },
+ "subnetMask": {
+ "type": "string",
+ "description": "Subnet Mask of NIC",
+ "readOnly": true
+ },
+ "defaultGateway": {
+ "type": "string",
+ "description": "Default Gateway of NIC",
+ "readOnly": true
+ },
+ "dnsServers": {
+ "type": "array",
+ "description": "DNS Servers for NIC",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "x-ms-identifiers": []
+ },
+ "defaultIsolationId": {
+ "type": "string",
+ "description": "Default Isolation of Management NIC",
+ "readOnly": true
+ },
+ "macAddress": {
+ "type": "string",
+ "description": "MAC address information of NIC.",
+ "readOnly": true
+ },
+ "slot": {
+ "type": "string",
+ "description": "The slot attached to the NIC.",
+ "readOnly": true
+ },
+ "switchName": {
+ "type": "string",
+ "description": "The switch attached to the NIC, if any.",
+ "readOnly": true
+ },
+ "nicType": {
+ "type": "string",
+ "description": "The type of NIC, physical, virtual, management.",
+ "readOnly": true
+ },
+ "vlanId": {
+ "type": "string",
+ "description": "The VLAN ID of the physical NIC.",
+ "readOnly": true
+ },
+ "nicStatus": {
+ "type": "string",
+ "description": "The status of NIC, up, disconnected.",
+ "readOnly": true
+ }
+ }
+ },
+ "HciOsProfile": {
+ "type": "object",
+ "description": "OS configurations for HCI device.",
+ "properties": {
+ "bootType": {
+ "type": "string",
+ "description": "The boot type of the device. e.g. UEFI, Legacy etc",
+ "readOnly": true
+ },
+ "assemblyVersion": {
+ "type": "string",
+ "description": "Version of assembly present on device",
+ "readOnly": true
+ }
+ }
+ },
+ "HciReportedProperties": {
+ "type": "object",
+ "description": "The device Configuration for HCI device.",
+ "properties": {
+ "networkProfile": {
+ "$ref": "#/definitions/HciNetworkProfile",
+ "description": "HCI device network information.",
+ "readOnly": true
+ },
+ "osProfile": {
+ "$ref": "#/definitions/HciOsProfile",
+ "description": "HCI device OS specific information.",
+ "readOnly": true
+ },
+ "sbeDeploymentPackageInfo": {
+ "$ref": "#/definitions/SbeDeploymentPackageInfo",
+ "description": "Solution builder extension (SBE) deployment package information.",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReportedProperties"
+ }
+ ]
+ },
+ "HostNetwork": {
+ "type": "object",
+ "description": "The HostNetwork of a cluster.",
+ "properties": {
+ "intents": {
+ "type": "array",
+ "description": "The network intents assigned to the network reference pattern used for the deployment. Each intent will define its own name, traffic type, adapter names, and overrides as recommended by your OEM.",
+ "items": {
+ "$ref": "#/definitions/Intents"
+ },
+ "readOnly": true,
+ "x-ms-identifiers": [
+ "intentName"
+ ]
+ },
+ "storageNetworks": {
+ "type": "array",
+ "description": "List of StorageNetworks config to deploy AzureStackHCI Cluster.",
+ "items": {
+ "$ref": "#/definitions/StorageNetworks"
+ },
+ "readOnly": true,
+ "x-ms-identifiers": [
+ "networkAdapterName"
+ ]
+ },
+ "storageConnectivitySwitchless": {
+ "type": "boolean",
+ "description": "Defines how the storage adapters between nodes are connected either switch or switch less.",
+ "readOnly": true
+ },
+ "enableStorageAutoIp": {
+ "type": "boolean",
+ "description": "Optional parameter required only for 3 Nodes Switchless deployments. This allows users to specify IPs and Mask for Storage NICs when Network ATC is not assigning the IPs for storage automatically.",
+ "readOnly": true
+ }
+ }
+ },
+ "Intents": {
+ "type": "object",
+ "description": "The Intents of a cluster.",
+ "properties": {
+ "scope": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Scope for host network intent.",
+ "readOnly": true
+ },
+ "intentType": {
+ "type": "integer",
+ "format": "int64",
+ "description": "IntentType for host network intent.",
+ "readOnly": true
+ },
+ "isComputeIntentSet": {
+ "type": "boolean",
+ "description": "IsComputeIntentSet for host network intent.",
+ "readOnly": true
+ },
+ "isStorageIntentSet": {
+ "type": "boolean",
+ "description": "IsStorageIntentSet for host network intent.",
+ "readOnly": true
+ },
+ "isOnlyStorage": {
+ "type": "boolean",
+ "description": "IntentType for host network intent.",
+ "readOnly": true
+ },
+ "isManagementIntentSet": {
+ "type": "boolean",
+ "description": "IsManagementIntentSet for host network intent.",
+ "readOnly": true
+ },
+ "isStretchIntentSet": {
+ "type": "boolean",
+ "description": "IsStretchIntentSet for host network intent.",
+ "readOnly": true
+ },
+ "isOnlyStretch": {
+ "type": "boolean",
+ "description": "IsOnlyStretch for host network intent.",
+ "readOnly": true
+ },
+ "isNetworkIntentType": {
+ "type": "boolean",
+ "description": "IsNetworkIntentType for host network intent.",
+ "readOnly": true
+ },
+ "intentName": {
+ "type": "string",
+ "description": "Name of the network intent you wish to create.",
+ "readOnly": true
+ },
+ "intentAdapters": {
+ "type": "array",
+ "description": "Array of adapters used for the network intent.",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "overrideVirtualSwitchConfiguration": {
+ "type": "boolean",
+ "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.",
+ "readOnly": true
+ },
+ "virtualSwitchConfigurationOverrides": {
+ "$ref": "#/definitions/VirtualSwitchConfigurationOverrides",
+ "description": "Set virtualSwitch ConfigurationOverrides for cluster.",
+ "readOnly": true
+ },
+ "overrideQosPolicy": {
+ "type": "boolean",
+ "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.",
+ "readOnly": true
+ },
+ "qosPolicyOverrides": {
+ "$ref": "./deploymentSettings.json#/definitions/QosPolicyOverrides",
+ "description": "Set QoS PolicyOverrides for cluster.",
+ "readOnly": true
+ },
+ "overrideAdapterProperty": {
+ "type": "boolean",
+ "description": "This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation.",
+ "readOnly": true
+ },
+ "adapterPropertyOverrides": {
+ "$ref": "#/definitions/AdapterPropertyOverrides",
+ "description": "Set Adapter PropertyOverrides for cluster.",
+ "readOnly": true
+ }
+ }
+ },
+ "NicDetail": {
+ "type": "object",
+ "description": "The NIC Detail of a device.",
+ "properties": {
+ "adapterName": {
+ "type": "string",
+ "description": "Adapter Name of NIC"
+ },
+ "interfaceDescription": {
+ "type": "string",
+ "description": "Interface Description of NIC"
+ },
+ "componentId": {
+ "type": "string",
+ "description": "Component Id of NIC"
+ },
+ "driverVersion": {
+ "type": "string",
+ "description": "Driver Version of NIC"
+ },
+ "ip4Address": {
+ "type": "string",
+ "description": "Subnet Mask of NIC"
+ },
+ "subnetMask": {
+ "type": "string",
+ "description": "Subnet Mask of NIC"
+ },
+ "defaultGateway": {
+ "type": "string",
+ "description": "Default Gateway of NIC"
+ },
+ "dnsServers": {
+ "type": "array",
+ "description": "DNS Servers for NIC",
+ "items": {
+ "type": "string"
+ },
+ "x-ms-identifiers": []
+ },
+ "defaultIsolationId": {
+ "type": "string",
+ "description": "Default Isolation of Management NIC"
+ }
+ }
+ },
+ "ReportedProperties": {
+ "type": "object",
+ "description": "Reported properties pushed from edge device.",
+ "properties": {
+ "deviceState": {
+ "$ref": "#/definitions/DeviceState",
+ "description": "edge device state.",
+ "readOnly": true
+ },
+ "extensionProfile": {
+ "$ref": "#/definitions/ExtensionProfile",
+ "description": "Extensions details for edge device.",
+ "readOnly": true
+ }
+ }
+ },
+ "SbeDeploymentPackageInfo": {
+ "type": "object",
+ "description": "Solution builder extension (SBE) deployment package information.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "SBE deployment validation code.",
+ "readOnly": true
+ },
+ "message": {
+ "type": "string",
+ "description": "A detailed message that explains the SBE package validation result.",
+ "readOnly": true
+ },
+ "sbeManifest": {
+ "type": "string",
+ "description": "This represents discovered update results for matching updates and store it as SBE manifest.",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAdapterIPInfo": {
+ "type": "object",
+ "description": "The StorageAdapter physical nodes of a cluster.",
+ "properties": {
+ "physicalNode": {
+ "type": "string",
+ "description": "storage adapter physical node name.",
+ "readOnly": true
+ },
+ "ipv4Address": {
+ "type": "string",
+ "description": "The IPv4 address assigned to each storage adapter physical node on your Azure Stack HCI cluster.",
+ "readOnly": true
+ },
+ "subnetMask": {
+ "type": "string",
+ "description": "The SubnetMask address assigned to each storage adapter physical node on your Azure Stack HCI cluster.",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageNetworks": {
+ "type": "object",
+ "description": "The StorageNetworks of a cluster.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the storage network.",
+ "readOnly": true
+ },
+ "networkAdapterName": {
+ "type": "string",
+ "description": "Name of the storage network adapter.",
+ "readOnly": true
+ },
+ "storageVlanId": {
+ "type": "string",
+ "description": "ID specified for the VLAN storage network. This setting is applied to the network interfaces that route the storage and VM migration traffic. ",
+ "readOnly": true
+ },
+ "storageAdapterIPInfo": {
+ "type": "array",
+ "description": "List of Storage adapter physical nodes config to deploy AzureStackHCI Cluster.",
+ "items": {
+ "$ref": "#/definitions/StorageAdapterIPInfo"
+ },
+ "readOnly": true,
+ "x-ms-identifiers": [
+ "physicalNode"
+ ]
+ }
+ }
+ },
+ "SwitchDetail": {
+ "type": "object",
+ "description": "List of switch details for edge device.",
+ "properties": {
+ "switchName": {
+ "type": "string",
+ "description": "The name of the switch.",
+ "readOnly": true
+ },
+ "switchType": {
+ "type": "string",
+ "description": "The type of the switch. e.g. external, internal.",
+ "readOnly": true
+ },
+ "extensions": {
+ "type": "array",
+ "description": "This represents extensions installed on virtualSwitch.",
+ "items": {
+ "$ref": "#/definitions/SwitchExtension"
+ },
+ "readOnly": true,
+ "x-ms-identifiers": [
+ "extensionName"
+ ]
+ }
+ }
+ },
+ "SwitchExtension": {
+ "type": "object",
+ "description": "This represents extensions installed on virtualSwitch.",
+ "properties": {
+ "switchId": {
+ "type": "string",
+ "description": "Unique identifier for virtualSwitch.",
+ "readOnly": true
+ },
+ "extensionName": {
+ "type": "string",
+ "description": "This will show extension name for virtualSwitch.",
+ "readOnly": true
+ },
+ "extensionEnabled": {
+ "type": "boolean",
+ "description": "This represents whether extension is enabled on virtualSwitch.",
+ "readOnly": true
+ }
+ }
+ },
+ "ValidateRequest": {
+ "type": "object",
+ "description": "The validate request for Edge Device.",
+ "properties": {
+ "edgeDeviceIds": {
+ "type": "array",
+ "description": "Node Ids against which, current node has to be validated.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "additionalInfo": {
+ "type": "string",
+ "description": "Additional info required for validation."
+ }
+ },
+ "required": [
+ "edgeDeviceIds"
+ ]
+ },
+ "ValidateResponse": {
+ "type": "object",
+ "description": "An Accepted response with an Operation-Location header.",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "edge device validation status",
+ "readOnly": true
+ }
+ }
+ },
+ "VirtualSwitchConfigurationOverrides": {
+ "type": "object",
+ "description": "The VirtualSwitchConfigurationOverrides of a cluster.",
+ "properties": {
+ "enableIov": {
+ "type": "string",
+ "description": "Enable IoV for Virtual Switch",
+ "readOnly": true
+ },
+ "loadBalancingAlgorithm": {
+ "type": "string",
+ "description": "Load Balancing Algorithm for Virtual Switch",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "Azure.ResourceManager.ResourceUriParameter": {
+ "name": "resourceUri",
+ "in": "path",
+ "description": "The fully qualified Azure Resource manager identifier of the resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ConfigureRemoteSupport.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ConfigureRemoteSupport.json
new file mode 100644
index 000000000000..59079ea4467c
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ConfigureRemoteSupport.json
@@ -0,0 +1,113 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "mycluster",
+ "api-version": "2024-04-01",
+ "remoteSupportRequest": {
+ "properties": {
+ "accessLevel": "Diagnostics",
+ "expirationTimeStamp": "2020-01-01T17:18:19.1234567Z",
+ "remoteSupportType": "Enable"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster",
+ "name": "myCluster",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "ConnectedRecently",
+ "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
+ "cloudManagementEndpoint": "https://98294836-31be-4668-aeae-698667faf99b.waconazure.com",
+ "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "desiredProperties": {
+ "windowsServerSubscription": "Enabled",
+ "diagnosticLevel": "Basic"
+ },
+ "remoteSupportProperties": {
+ "accessLevel": "Diagnostics",
+ "expirationTimeStamp": "2020-01-01T17:18:19.1234567Z",
+ "remoteSupportType": "Enable",
+ "remoteSupportNodeSettings": [
+ {
+ "arcResourceId": "/subscriptions//resourcegroups//Microsoft.HybridCompute/machines/arcNode0",
+ "state": "Active",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "updatedAt": "2020-01-01T17:18:19.1234567Z",
+ "connectionStatus": "Connected",
+ "connectionErrorMessage": "test",
+ "transcriptLocation": "test"
+ },
+ {
+ "arcResourceId": "/subscriptions//resourcegroups//Microsoft.HybridCompute/machines/arcNode1",
+ "state": "Active",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "updatedAt": "2020-01-01T17:18:19.1234567Z",
+ "connectionStatus": "Connected",
+ "connectionErrorMessage": "test",
+ "transcriptLocation": "test"
+ }
+ ],
+ "remoteSupportSessionDetails": [
+ {
+ "sessionStartTime": "2020-01-01T17:18:19.1234567Z",
+ "sessionEndTime": "2020-01-01T17:18:19.1234567Z",
+ "nodeName": "arcNode0",
+ "duration": 120,
+ "accessLevel": "Diagnostics"
+ }
+ ]
+ },
+ "reportedProperties": {
+ "clusterName": "cluster1",
+ "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425",
+ "clusterVersion": "10.0.17777",
+ "nodes": [
+ {
+ "name": "Node1",
+ "id": 1,
+ "windowsServerSubscription": "Enabled",
+ "nodeType": "ThirdParty",
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q45CZC3",
+ "coreCount": 8,
+ "memoryInGiB": 128
+ }
+ ],
+ "lastUpdated": "2020-03-11T19:24:42.1946017Z",
+ "imdsAttestation": "Disabled",
+ "diagnosticLevel": "Basic"
+ },
+ "trialDaysRemaining": 30,
+ "billingModel": "Trial",
+ "registrationTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ConsentAndInstallDefaultExtensions.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ConsentAndInstallDefaultExtensions.json
new file mode 100644
index 000000000000..a8d4b38d29aa
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ConsentAndInstallDefaultExtensions.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/arcSettings/default",
+ "type": "Microsoft.AzureStackHCI/clusters/arcSettings",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "arcInstanceResourceGroup": "ArcInstance-rg",
+ "aggregateState": "Creating",
+ "perNodeDetails": [
+ {
+ "name": "Node-1",
+ "arcInstance": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1",
+ "state": "Creating"
+ },
+ {
+ "name": "Node-2",
+ "arcInstance": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-2",
+ "state": "Creating"
+ }
+ ],
+ "connectivityProperties": {
+ "enabled": false,
+ "serviceConfigurations": []
+ },
+ "defaultExtensions": [
+ {
+ "category": "Telemetry",
+ "consentTime": "2023-01-01T17:18:19.1234567Z"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/CreateArcIdentity.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/CreateArcIdentity.json
new file mode 100644
index 000000000000..13a425a48d9c
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/CreateArcIdentity.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "arcApplicationClientId": "7b93bf67-60ac-4909-a987-ac438e69f9ba",
+ "arcApplicationTenantId": "bdb2c88c-9cfd-4e19-927d-51e875f6912b",
+ "arcApplicationObjectId": "400bd05f-395f-45a6-ba75-72601df80107",
+ "arcServicePrincipalObjectId": "00cc4014-482e-4de9-9932-83415cc75f45"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/CreateCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/CreateCluster.json
new file mode 100644
index 000000000000..e1ae7cec68f4
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/CreateCluster.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-04-01",
+ "cluster": {
+ "location": "East US",
+ "properties": {
+ "cloudManagementEndpoint": "https://98294836-31be-4668-aeae-698667faf99b.waconazure.com",
+ "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster",
+ "name": "myCluster",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "identity": {
+ "principalId": "87a834db-2e45-409e-911b-e16a44562ec3",
+ "tenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "type": "SystemAssigned"
+ },
+ "tags": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "NotYetRegistered",
+ "connectivityStatus": "NotYetRegistered",
+ "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
+ "cloudManagementEndpoint": "https://98294836-31be-4668-aeae-698667faf99b.waconazure.com",
+ "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "desiredProperties": {
+ "windowsServerSubscription": "Disabled",
+ "diagnosticLevel": "Basic"
+ },
+ "reportedProperties": {},
+ "trialDaysRemaining": 30,
+ "billingModel": "Trial",
+ "serviceEndpoint": "https://azurestackhci.azurefd.net/eastus"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/CreateClusterIdentity.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/CreateClusterIdentity.json
new file mode 100644
index 000000000000..9ac63f9947e8
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/CreateClusterIdentity.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "aadClientId": "7b93bf67-60ac-4909-a987-ac438e69f9ba",
+ "aadTenantId": "bdb2c88c-9cfd-4e19-927d-51e875f6912b",
+ "aadServicePrincipalObjectId": "400bd05f-395f-45a6-ba75-72601df80107",
+ "aadApplicationObjectId": "00cc4014-482e-4de9-9932-83415cc75f45"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/CreateHciEdgeDevice.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/CreateHciEdgeDevice.json
new file mode 100644
index 000000000000..0c3e49a73e10
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/CreateHciEdgeDevice.json
@@ -0,0 +1,257 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1",
+ "edgeDeviceName": "default",
+ "api-version": "2024-04-01",
+ "resource": {
+ "kind": "HCI",
+ "properties": {
+ "deviceConfiguration": {
+ "nicDetails": [
+ {
+ "adapterName": "ethernet",
+ "interfaceDescription": "NDIS 6.70 ",
+ "componentId": "VMBUS{f8615163-df3e-46c5-913f-f2d2f965ed0g} ",
+ "driverVersion": "10.0.20348.1547 ",
+ "ip4Address": "10.10.10.10",
+ "subnetMask": "255.255.255.0",
+ "defaultGateway": "10.10.10.1",
+ "dnsServers": [
+ "100.10.10.1"
+ ],
+ "defaultIsolationId": "0"
+ }
+ ],
+ "deviceMetadata": ""
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1/providers/Microsoft.AzureStackHCI/edgeDevices/default",
+ "name": "default",
+ "type": "Microsoft.AzureStackHCI/edgeDevices",
+ "kind": "HCI",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "reportedProperties": {
+ "deviceState": "Connected",
+ "networkProfile": {
+ "nicDetails": [
+ {
+ "adapterName": "vmanagement",
+ "interfaceDescription": "Hyper-V Virtual Ethernet Adapter",
+ "componentId": "vms_mp",
+ "driverVersion": "10.0.25398.1",
+ "ip4Address": "192.168.200.92",
+ "subnetMask": "255.255.255.0",
+ "defaultGateway": "192.168.200.1",
+ "dnsServers": [
+ "192.168.200.222"
+ ],
+ "defaultIsolationId": "0",
+ "slot": "0",
+ "macAddress": "000000000041",
+ "switchName": null,
+ "nicType": "Virtual",
+ "vlanId": "0",
+ "nicStatus": "Up"
+ }
+ ],
+ "switchDetails": [
+ {
+ "switchName": "vmanagement",
+ "switchType": "External"
+ }
+ ],
+ "hostNetwork": {
+ "intents": [
+ {
+ "intentName": "managementcomputestorage",
+ "scope": 0,
+ "intentType": 14,
+ "isComputeIntentSet": true,
+ "isStorageIntentSet": true,
+ "isOnlyStorage": false,
+ "isManagementIntentSet": true,
+ "isStretchIntentSet": false,
+ "isOnlyStretch": false,
+ "isNetworkIntentType": true,
+ "intentAdapters": [
+ "ethernet",
+ "ethernet2"
+ ],
+ "overrideVirtualSwitchConfiguration": true,
+ "virtualSwitchConfigurationOverrides": {
+ "enableIov": "True",
+ "loadBalancingAlgorithm": "HyperVPort"
+ },
+ "overrideQosPolicy": true,
+ "qosPolicyOverrides": {
+ "priorityValue8021Action_Cluster": null,
+ "priorityValue8021Action_SMB": null,
+ "bandwidthPercentage_SMB": null
+ },
+ "overrideAdapterProperty": true,
+ "adapterPropertyOverrides": {
+ "jumboPacket": null,
+ "networkDirect": "0",
+ "networkDirectTechnology": null
+ }
+ }
+ ],
+ "storageNetworks": [
+ {
+ "name": "StorageIntent1",
+ "networkAdapterName": "ethernet",
+ "storageVlanId": "8",
+ "storageAdapterIPInfo": [
+ {
+ "physicalNode": "v-host1",
+ "ipv4Address": "192.168.120.192",
+ "subnetMask": "255.255.244.0"
+ }
+ ]
+ }
+ ],
+ "storageConnectivitySwitchless": false,
+ "enableStorageAutoIp": false
+ }
+ },
+ "osProfile": {
+ "bootType": "UEFI",
+ "assemblyVersion": "2402.1"
+ },
+ "sbeDeploymentPackageInfo": {
+ "code": "NewerThanLatestPublished",
+ "message": "The SBE package at path 'C:\\SBE' with version 4.1.2312.10 is published later than the latest SBE manifest published for online discovery. ",
+ "sbeManifest": "PEFwcGxpY2Fi"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1/providers/Microsoft.AzureStackHCI/edgeDevices/default",
+ "name": "default",
+ "type": "Microsoft.AzureStackHCI/edgeDevices",
+ "kind": "HCI",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "reportedProperties": {
+ "deviceState": "Connected",
+ "networkProfile": {
+ "nicDetails": [
+ {
+ "adapterName": "vmanagement",
+ "interfaceDescription": "Hyper-V Virtual Ethernet Adapter",
+ "componentId": "vms_mp",
+ "driverVersion": "10.0.25398.1",
+ "ip4Address": "192.168.200.92",
+ "subnetMask": "255.255.255.0",
+ "defaultGateway": "192.168.200.1",
+ "dnsServers": [
+ "192.168.200.222"
+ ],
+ "defaultIsolationId": "0",
+ "slot": "0",
+ "macAddress": "000000000041",
+ "switchName": null,
+ "nicType": "Virtual",
+ "vlanId": "0",
+ "nicStatus": "Up"
+ }
+ ],
+ "switchDetails": [
+ {
+ "switchName": "vmanagement",
+ "switchType": "External"
+ }
+ ],
+ "hostNetwork": {
+ "intents": [
+ {
+ "intentName": "managementcomputestorage",
+ "scope": 0,
+ "intentType": 14,
+ "isComputeIntentSet": true,
+ "isStorageIntentSet": true,
+ "isOnlyStorage": false,
+ "isManagementIntentSet": true,
+ "isStretchIntentSet": false,
+ "isOnlyStretch": false,
+ "intentAdapters": [
+ "ethernet",
+ "ethernet2"
+ ],
+ "overrideVirtualSwitchConfiguration": true,
+ "virtualSwitchConfigurationOverrides": {
+ "enableIov": "True",
+ "loadBalancingAlgorithm": "HyperVPort"
+ },
+ "overrideQosPolicy": true,
+ "qosPolicyOverrides": {
+ "priorityValue8021Action_Cluster": null,
+ "priorityValue8021Action_SMB": null,
+ "bandwidthPercentage_SMB": null
+ },
+ "overrideAdapterProperty": true,
+ "adapterPropertyOverrides": {
+ "jumboPacket": null,
+ "networkDirect": "0",
+ "networkDirectTechnology": null
+ }
+ }
+ ],
+ "storageNetworks": [
+ {
+ "name": "StorageIntent1",
+ "networkAdapterName": "ethernet",
+ "storageVlanId": "8",
+ "storageAdapterIPInfo": [
+ {
+ "physicalNode": "v-host1",
+ "ipv4Address": "192.168.120.192",
+ "subnetMask": "255.255.244.0"
+ }
+ ]
+ }
+ ],
+ "storageConnectivitySwitchless": false,
+ "enableStorageAutoIp": false
+ }
+ },
+ "osProfile": {
+ "bootType": "UEFI",
+ "assemblyVersion": "2402.1"
+ },
+ "sbeDeploymentPackageInfo": {
+ "code": "NewerThanLatestPublished",
+ "message": "The SBE package at path 'C:\\SBE' with version 4.1.2312.10 is published later than the latest SBE manifest published for online discovery. ",
+ "sbeManifest": "PEFwcGxpY2Fi"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteArcSetting.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteArcSetting.json
new file mode 100644
index 000000000000..f9dbff0fbe7b
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteArcSetting.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteCluster.json
new file mode 100644
index 000000000000..b8caa9c19623
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteCluster.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteDeploymentSettings.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteDeploymentSettings.json
new file mode 100644
index 000000000000..917c57f5507b
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteDeploymentSettings.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "deploymentSettingsName": "default",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteEdgeDevices.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteEdgeDevices.json
new file mode 100644
index 000000000000..104d8387c560
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteEdgeDevices.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1",
+ "edgeDeviceName": "default",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteExtension.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteExtension.json
new file mode 100644
index 000000000000..f9f32f9da758
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteExtension.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "extensionName": "MicrosoftMonitoringAgent",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteSecuritySettings.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteSecuritySettings.json
new file mode 100644
index 000000000000..be97c58dac77
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteSecuritySettings.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "securitySettingsName": "default",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteUpdateRuns.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteUpdateRuns.json
new file mode 100644
index 000000000000..dc58e7b7ed87
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteUpdateRuns.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "b8d594e5-51f3-4c11-9c54-a7771b81c712",
+ "resourceGroupName": "testrg",
+ "clusterName": "testcluster",
+ "updateName": "Microsoft4.2203.2.32",
+ "updateRunName": "23b779ba-0d52-4a80-8571-45ca74664ec3",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteUpdateSummaries.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteUpdateSummaries.json
new file mode 100644
index 000000000000..be6b9900ba37
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteUpdateSummaries.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "b8d594e5-51f3-4c11-9c54-a7771b81c712",
+ "resourceGroupName": "testrg",
+ "clusterName": "testcluster",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteUpdates.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteUpdates.json
new file mode 100644
index 000000000000..5804c91f29d5
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/DeleteUpdates.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "b8d594e5-51f3-4c11-9c54-a7771b81c712",
+ "resourceGroupName": "testrg",
+ "clusterName": "testcluster",
+ "updateName": "Microsoft4.2203.2.32",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ExtendSoftwareAssuranceBenefit.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ExtendSoftwareAssuranceBenefit.json
new file mode 100644
index 000000000000..dfc929d3c51c
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ExtendSoftwareAssuranceBenefit.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-04-01",
+ "softwareAssuranceChangeRequest": {
+ "properties": {
+ "softwareAssuranceIntent": "Enable"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster",
+ "name": "myCluster",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "ConnectedRecently",
+ "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
+ "cloudManagementEndpoint": "https://98294836-31be-4668-aeae-698667faf99b.waconazure.com",
+ "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "desiredProperties": {
+ "windowsServerSubscription": "Enabled",
+ "diagnosticLevel": "Basic"
+ },
+ "softwareAssuranceProperties": {
+ "softwareAssuranceStatus": "Enabled",
+ "lastUpdated": "2022-08-18T22:01:12.4191603Z",
+ "softwareAssuranceIntent": "Enable"
+ },
+ "reportedProperties": {
+ "clusterName": "cluster1",
+ "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425",
+ "clusterVersion": "10.0.17777",
+ "nodes": [
+ {
+ "name": "Node1",
+ "id": 1,
+ "windowsServerSubscription": "Enabled",
+ "nodeType": "ThirdParty",
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q45CZC3",
+ "coreCount": 8,
+ "memoryInGiB": 128
+ }
+ ],
+ "lastUpdated": "2020-03-11T19:24:42.1946017Z",
+ "imdsAttestation": "Disabled",
+ "diagnosticLevel": "Basic"
+ },
+ "trialDaysRemaining": 30,
+ "billingModel": "Trial",
+ "registrationTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/Extensions_Upgrade.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/Extensions_Upgrade.json
new file mode 100644
index 000000000000..06ed96f6960d
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/Extensions_Upgrade.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "extensionName": "MicrosoftMonitoringAgent",
+ "api-version": "2024-04-01",
+ "extensionUpgradeParameters": {
+ "targetVersion": "1.0.18062.0"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses",
+ "Retry-After": 200,
+ "Azure-AsyncOperation": "https://foo.com/operationStatuses"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GeneratePassword.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GeneratePassword.json
new file mode 100644
index 000000000000..59f4fff9db00
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GeneratePassword.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "secretText": "secretText",
+ "startDateTime": "2022-02-17T16:24:23.6264005+05:30",
+ "endDateTime": "2121-02-17T16:24:23.6264377+05:30",
+ "keyId": "00000000-2d47-4fb2-8ed2-fed71a5c197b"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetArcSetting.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetArcSetting.json
new file mode 100644
index 000000000000..aead6e343a82
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetArcSetting.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/arcSettings/default",
+ "type": "Microsoft.AzureStackHCI/clusters/arcSettings",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "arcInstanceResourceGroup": "ArcInstance-rg",
+ "aggregateState": "PartiallyConnected",
+ "perNodeDetails": [
+ {
+ "name": "Node-1",
+ "arcInstance": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1",
+ "state": "Connected"
+ },
+ {
+ "name": "Node-2",
+ "arcInstance": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-2",
+ "state": "Disconnected"
+ }
+ ],
+ "connectivityProperties": {
+ "enabled": false,
+ "serviceConfigurations": [
+ {
+ "serviceName": "WAC",
+ "port": 6516
+ }
+ ]
+ },
+ "defaultExtensions": [
+ {
+ "category": "Telemetry",
+ "consentTime": "2023-01-01T17:18:19.1234567Z"
+ },
+ {
+ "category": "Supportability",
+ "consentTime": null
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetCluster.json
new file mode 100644
index 000000000000..0fa28803fcb2
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetCluster.json
@@ -0,0 +1,122 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster",
+ "name": "myCluster",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "ConnectedRecently",
+ "connectivityStatus": "Connected",
+ "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
+ "cloudManagementEndpoint": "https://98294836-31be-4668-aeae-698667faf99b.waconazure.com",
+ "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "desiredProperties": {
+ "windowsServerSubscription": "Enabled",
+ "diagnosticLevel": "Basic"
+ },
+ "isolatedVmAttestationConfiguration": {
+ "attestationResourceId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.Attestation/attestationProviders/testmaa",
+ "relyingPartyServiceEndpoint": "https://azurestackhci.azurefd.net/eastus",
+ "attestationServiceEndpoint": "https://dantestnoauth01.eus.attest.azure.net"
+ },
+ "logCollectionProperties": {
+ "fromDate": "2020-01-01T17:18:19.1234567Z",
+ "toDate": "2021-01-01T17:18:19.1234567Z",
+ "lastLogGenerated": "2020-01-01T17:18:19.1234567Z",
+ "logCollectionSessionDetails": [
+ {
+ "logStartTime": "2020-01-01T17:18:19.1234567Z",
+ "logEndTime": "2020-01-01T17:18:19.1234567Z",
+ "timeCollected": "2020-01-01T17:18:19.1234567Z",
+ "logSize": 1000,
+ "logCollectionStatus": "Succeeded",
+ "logCollectionJobType": "OnDemand",
+ "correlationId": "a76ab33a-1819-4e82-1212-e3e4ec3d1425",
+ "endTimeCollected": "2020-01-01T17:25:19.1234567Z"
+ }
+ ]
+ },
+ "reportedProperties": {
+ "clusterName": "cluster1",
+ "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425",
+ "clusterVersion": "10.0.17777",
+ "clusterType": "ThirdParty",
+ "manufacturer": "Dell Inc.",
+ "oemActivation": "Disabled",
+ "nodes": [
+ {
+ "name": "Node1",
+ "id": 1,
+ "windowsServerSubscription": "Enabled",
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q45CZC3",
+ "coreCount": 8,
+ "memoryInGiB": 128,
+ "lastLicensingTimestamp": "2020-03-11T19:24:42.1946017Z",
+ "oemActivation": "Disabled"
+ },
+ {
+ "name": "Node2",
+ "id": 2,
+ "windowsServerSubscription": "Enabled",
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44BSC3",
+ "coreCount": 8,
+ "memoryInGiB": 128,
+ "lastLicensingTimestamp": "2020-03-11T19:24:42.1946017Z",
+ "oemActivation": "Disabled"
+ },
+ {
+ "name": "Node3",
+ "id": 3,
+ "windowsServerSubscription": "Enabled",
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44RFC3",
+ "coreCount": 16,
+ "memoryInGiB": 256,
+ "lastLicensingTimestamp": "2020-03-11T19:24:42.1946017Z",
+ "oemActivation": "Disabled"
+ }
+ ],
+ "lastUpdated": "2020-03-11T19:24:42.1946017Z",
+ "imdsAttestation": "Disabled",
+ "diagnosticLevel": "Basic"
+ },
+ "trialDaysRemaining": 30,
+ "billingModel": "Trial",
+ "registrationTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetDeploymentSettings.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetDeploymentSettings.json
new file mode 100644
index 000000000000..edbf86a7d62f
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetDeploymentSettings.json
@@ -0,0 +1,269 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "deploymentSettingsName": "default",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/deploymentSettings/default",
+ "name": "default",
+ "type": "Microsoft.AzureStackHCI/clusters/deploymentSettings",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "operationType": "ClusterProvisioning",
+ "deploymentMode": "Deploy",
+ "arcNodeResourceIds": [
+ "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1",
+ "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-2"
+ ],
+ "deploymentConfiguration": {
+ "version": "string",
+ "scaleUnits": [
+ {
+ "deploymentData": {
+ "securitySettings": {
+ "hvciProtection": true,
+ "drtmProtection": true,
+ "driftControlEnforced": true,
+ "credentialGuardEnforced": false,
+ "smbSigningEnforced": true,
+ "smbClusterEncryption": false,
+ "sideChannelMitigationEnforced": true,
+ "bitlockerBootVolume": true,
+ "bitlockerDataVolumes": true,
+ "wdacEnforced": true
+ },
+ "observability": {
+ "streamingDataClient": true,
+ "euLocation": false,
+ "episodicDataUpload": true
+ },
+ "cluster": {
+ "name": "testHCICluster",
+ "witnessType": "Cloud",
+ "witnessPath": "Cloud",
+ "cloudAccountName": "myasestoragacct",
+ "azureServiceEndpoint": "core.windows.net"
+ },
+ "storage": {
+ "configurationMode": "Express"
+ },
+ "namingPrefix": "ms169",
+ "domainFqdn": "ASZ1PLab8.nttest.microsoft.com",
+ "infrastructureNetwork": [
+ {
+ "subnetMask": "255.255.248.0",
+ "gateway": "255.255.248.0",
+ "ipPools": [
+ {
+ "startingAddress": "10.57.48.60",
+ "endingAddress": "10.57.48.66"
+ }
+ ],
+ "dnsServers": [
+ "10.57.50.90"
+ ]
+ }
+ ],
+ "physicalNodes": [
+ {
+ "name": "ms169host",
+ "ipv4Address": "10.57.51.224"
+ },
+ {
+ "name": "ms154host",
+ "ipv4Address": "10.57.53.236"
+ }
+ ],
+ "hostNetwork": {
+ "intents": [
+ {
+ "name": "Compute_Management",
+ "trafficType": [
+ "Compute",
+ "Management"
+ ],
+ "adapter": [
+ "Port2"
+ ],
+ "overrideVirtualSwitchConfiguration": false,
+ "virtualSwitchConfigurationOverrides": {
+ "enableIov": "True",
+ "loadBalancingAlgorithm": "HyperVPort"
+ },
+ "overrideQosPolicy": false,
+ "qosPolicyOverrides": {
+ "priorityValue8021Action_Cluster": "7",
+ "priorityValue8021Action_SMB": "3",
+ "bandwidthPercentage_SMB": "50"
+ },
+ "overrideAdapterProperty": false,
+ "adapterPropertyOverrides": {
+ "jumboPacket": "1514",
+ "networkDirect": "Enabled",
+ "networkDirectTechnology": "iWARP"
+ }
+ }
+ ],
+ "storageNetworks": [
+ {
+ "name": "Storage1Network",
+ "networkAdapterName": "Port3",
+ "vlanId": "5",
+ "storageAdapterIPInfo": [
+ {
+ "physicalNode": "string",
+ "ipv4Address": "10.57.48.60",
+ "subnetMask": "255.255.248.0"
+ }
+ ]
+ }
+ ],
+ "storageConnectivitySwitchless": true,
+ "enableStorageAutoIp": false
+ },
+ "sdnIntegration": {
+ "networkController": {
+ "macAddressPoolStart": "00-0D-3A-1B-C7-21",
+ "macAddressPoolStop": "00-0D-3A-1B-C7-29",
+ "networkVirtualizationEnabled": true
+ }
+ },
+ "adouPath": "OU=ms169,DC=ASZ1PLab8,DC=nttest,DC=microsoft,DC=com",
+ "secretsLocation": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-xxxxxxx/resourceGroups/test-rg/providers/Microsoft.KeyVault/vaults/abcd123",
+ "secrets": [
+ {
+ "secretName": "cluster1-BmcAdminUser-f5bcc1d9-23af-4ae9-aca1-041d0f593a63",
+ "eceSecretName": "BMCAdminUserCred",
+ "secretLocation": "https://sclusterkvnirhci35.vault.azure.net/secrets/cluster-34232342-BmcAdminUser-f5bcc1d9-23af-4ae9-aca1-041d0f593a63/9276354aabfc492fa9b2cdbefb54ae4b"
+ },
+ {
+ "secretName": "cluster2-AzureStackLCMUserCredential-f5bcc1d9-23af-4ae9-aca1-041d0f593a63",
+ "eceSecretName": "AzureStackLCMUserCredential",
+ "secretLocation": "https://sclusterkvnirhci35.vault.azure.net/secrets/cluster-34232342-AzureStackLCMUserCredential-f5bcc1d9-23af-4ae9-aca1-041d0f593a63/9276354aabfc492fa9b2cdbefb54ae4c"
+ }
+ ],
+ "optionalServices": {
+ "customLocation": "customLocationName"
+ }
+ },
+ "sbePartnerInfo": {
+ "sbeDeploymentInfo": {
+ "version": "4.0.2309.13",
+ "family": "Gen5",
+ "publisher": "Contoso",
+ "sbeManifestSource": "default",
+ "sbeManifestCreationDate": "2023-07-25T02:40:33Z"
+ },
+ "partnerProperties": [
+ {
+ "name": "EnableBMCIpV6",
+ "value": "false"
+ },
+ {
+ "name": "PhoneHomePort",
+ "value": "1653"
+ },
+ {
+ "name": "BMCSecurityState",
+ "value": "HighSecurity"
+ }
+ ],
+ "credentialList": [
+ {
+ "secretName": "cluster1-DownloadConnectorCred-f5bcc1d9-23af-4ae9-aca1-041d0f593a63",
+ "eceSecretName": "DownloadConnectorCred",
+ "secretLocation": "https://sclusterkvnirhci35.vault.azure.net/secrets/cluster-34232342-DownloadConnectorCred-f5bcc1d9-23af-4ae9-aca1-041d0f593a63/9276354aabfc492fa9b2cdbefb54ae4b"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "reportedProperties": {
+ "validationStatus": {
+ "status": "Error",
+ "steps": [
+ {
+ "fullStepIndex": "0",
+ "name": "Cloud Deployment",
+ "description": "Deploy Cloud.",
+ "startTimeUtc": "2023-06-09T00:08:19",
+ "endTimeUtc": "2023-06-09T04:01:47",
+ "status": "Error",
+ "steps": [
+ {
+ "fullStepIndex": "0.1",
+ "name": "Before Cloud Deployment",
+ "description": "Before Cloud Deployment",
+ "startTimeUtc": "2023-06-09T00:08:23",
+ "endTimeUtc": "2023-06-09T01:10:10"
+ },
+ {
+ "fullStepIndex": "0.36",
+ "name": "Clean up temporary content",
+ "description": "Clean up temporary content",
+ "startTimeUtc": "2023-06-09T03:58:37",
+ "endTimeUtc": "2023-06-09T04:01:47",
+ "status": "Error",
+ "exception": [
+ "exception1",
+ "exception2"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "deploymentStatus": {
+ "status": "Error",
+ "steps": [
+ {
+ "fullStepIndex": "0",
+ "name": "Cloud Deployment",
+ "description": "Deploy Cloud.",
+ "startTimeUtc": "2023-06-09T00:08:19",
+ "endTimeUtc": "2023-06-09T04:01:47",
+ "status": "Error",
+ "steps": [
+ {
+ "fullStepIndex": "0.1",
+ "name": "Before Cloud Deployment",
+ "description": "Before Cloud Deployment",
+ "startTimeUtc": "2023-06-09T00:08:23",
+ "endTimeUtc": "2023-06-09T01:10:10"
+ },
+ {
+ "fullStepIndex": "0.36",
+ "name": "Clean up temporary content",
+ "description": "Clean up temporary content",
+ "startTimeUtc": "2023-06-09T03:58:37",
+ "endTimeUtc": "2023-06-09T04:01:47",
+ "status": "Error",
+ "exception": [
+ "exception1",
+ "exception2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetEdgeDevices.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetEdgeDevices.json
new file mode 100644
index 000000000000..2420e64ab177
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetEdgeDevices.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1",
+ "edgeDeviceName": "default",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1/providers/Microsoft.AzureStackHCI/edgeDevices/default",
+ "name": "default",
+ "type": "Microsoft.AzureStackHCI/edgeDevices",
+ "kind": "HCI",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "deviceConfiguration": {
+ "nicDetails": [
+ {
+ "adapterName": "ethernet",
+ "interfaceDescription": "NDIS 6.70 ",
+ "componentId": "VMBUS{f8615163-df3e-46c5-913f-f2d2f965ed0g} ",
+ "driverVersion": "10.0.20348.1547 ",
+ "ip4Address": "10.10.10.10",
+ "subnetMask": "255.255.255.0",
+ "defaultGateway": "10.10.10.1",
+ "dnsServers": [
+ "100.10.10.1"
+ ],
+ "defaultIsolationId": "0"
+ }
+ ],
+ "deviceMetadata": ""
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetExtension.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetExtension.json
new file mode 100644
index 000000000000..a2454fdc02dd
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetExtension.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "extensionName": "MicrosoftMonitoringAgent",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/arcSettings/default/extensions/MicrosoftMonitoringAgent",
+ "name": "MicrosoftMonitoringAgent",
+ "type": "Microsoft.AzureStackHCI/clusters/arcSettings/extensions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "extensionParameters": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "enableAutomaticUpgrade": true,
+ "settings": {
+ "workspaceId": "xx"
+ }
+ },
+ "aggregateState": "PartiallySucceeded",
+ "perNodeExtensionDetails": [
+ {
+ "name": "Node-1",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1/Extensions/MicrosoftMonitoringAgent",
+ "state": "Succeeded",
+ "typeHandlerVersion": "1.10.0",
+ "instanceView": {
+ "name": "MicrosoftMonitoringAgent",
+ "type": "MicrosoftMonitoringAgent",
+ "typeHandlerVersion": "1.10.0",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "displayStatus": "Provisioning succeeded",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2019-08-08T20:42:10.999Z"
+ }
+ }
+ },
+ {
+ "name": "Node-2",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-2/Extensions/MicrosoftMonitoringAgent",
+ "state": "Failed",
+ "typeHandlerVersion": "1.10.3",
+ "instanceView": {
+ "name": "MicrosoftMonitoringAgent",
+ "type": "MicrosoftMonitoringAgent",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "error",
+ "level": "Error",
+ "displayStatus": "Provisioning failed",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2019-08-08T20:42:10.999Z"
+ }
+ }
+ }
+ ],
+ "managedBy": "Azure"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetOffer.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetOffer.json
new file mode 100644
index 000000000000..6ed664276390
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetOffer.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "publisherName": "publisher1",
+ "offerName": "offer1",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/publishers/publisher1/offers/offer1",
+ "type": "Microsoft.AzureStackHCI/clusters/publishers/offers",
+ "name": "offer1",
+ "properties": {
+ "content": "{\"id\":\"canonical.ubuntuserver1404lts-arm-14.04.201808140\",\"displayName\":\"Ubuntu Server 14.04 LTS\",\"publisherId\":\"Canonical\",\"publisherName\":\"Canonical\",\"type\":\"VirtualMachine\",\"version\":\"14.04.201808140\",\"properties\":{\"description\":\"Ubuntu Server 14.04.5 LTS amd64. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect virtual machine (VM) platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see Ubuntu on Azure and using Juju to deploy your workloads.
By clicking the Create button, I acknowledge that I am getting this software from Canonical and that the legal terms of Canonical apply to it. Microsoft does not provide rights for third-party software. Also see the privacy statement from Canonical.
\"},\"extendedProperties\":{\"osType\":\"Linux\",\"offer\":\"UbuntuServer\",\"offerVersion\":\"1.0.52\",\"sku\":\"14.04.5-LTS\",\"galleryItemIdentity\":\"Canonical.UbuntuServer1404LTS-ARM.1.0.52\"},\"links\":[{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]}],\"iconUris\":{\"medium\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Medium.png\",\"wide\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Wide.png\",\"large\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Large.png\",\"small\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Small.png\"},\"payloadLength\":32212288276,\"compatibility\":{\"isCompatible\":true,\"message\":\"None\",\"description\":\"None\",\"issues\":[]}}",
+ "contentVersion": "2018-01-01",
+ "publisherId": "publisher1",
+ "provisioningState": "Succeeded",
+ "skuMappings": [
+ {
+ "catalogPlanId": "microsoftsqlserver.sql2019-ubuntu2004enterprise-arm",
+ "marketplaceSkuId": "enterprise",
+ "marketplaceSkuVersions": [
+ "15.0.220208"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetPublisher.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetPublisher.json
new file mode 100644
index 000000000000..b50b77248e4b
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetPublisher.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "publisherName": "publisher1",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/publishers/publisher1",
+ "type": "Microsoft.AzureStackHCI/clusters/publishers",
+ "name": "publisher1"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetSecuritySettings.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetSecuritySettings.json
new file mode 100644
index 000000000000..d46f92c48fd5
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetSecuritySettings.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "securitySettingsName": "default",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/securitySettings/default",
+ "type": "Microsoft.AzureStackHCI/clusters/securitySettings",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "securedCoreComplianceAssignment": "Audit",
+ "wdacComplianceAssignment": "ApplyAndAutoCorrect",
+ "smbEncryptionForIntraClusterTrafficComplianceAssignment": "Audit",
+ "securityComplianceStatus": {
+ "securedCoreCompliance": "Compliant",
+ "wdacCompliance": "Compliant",
+ "dataAtRestEncrypted": "Compliant",
+ "dataInTransitProtected": "Compliant",
+ "lastUpdated": "2023-11-14T07:09:44.771Z"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetSku.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetSku.json
new file mode 100644
index 000000000000..eafffee51bdb
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetSku.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "publisherName": "publisher1",
+ "offerName": "offer1",
+ "skuName": "sku1",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/publishers/publisher1/offers/offer1/skus/sku1",
+ "type": "Microsoft.AzureStackHCI/clusters/publishers/offers/skus",
+ "name": "sku1",
+ "properties": {
+ "publisherId": "publisher1",
+ "offerId": "offer1",
+ "content": "{\"id\":\"canonical.ubuntuserver1404lts-arm-14.04.201808140\",\"displayName\":\"Ubuntu Server 14.04 LTS\",\"publisherId\":\"Canonical\",\"publisherName\":\"Canonical\",\"type\":\"VirtualMachine\",\"version\":\"14.04.201808140\",\"properties\":{\"description\":\"Ubuntu Server 14.04.5 LTS amd64. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect virtual machine (VM) platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see Ubuntu on Azure and using Juju to deploy your workloads.By clicking the Create button, I acknowledge that I am getting this software from Canonical and that the legal terms of Canonical apply to it. Microsoft does not provide rights for third-party software. Also see the privacy statement from Canonical.
\"},\"extendedProperties\":{\"osType\":\"Linux\",\"offer\":\"UbuntuServer\",\"offerVersion\":\"1.0.52\",\"sku\":\"14.04.5-LTS\",\"galleryItemIdentity\":\"Canonical.UbuntuServer1404LTS-ARM.1.0.52\"},\"links\":[{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]}],\"iconUris\":{\"medium\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Medium.png\",\"wide\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Wide.png\",\"large\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Large.png\",\"small\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Small.png\"},\"payloadLength\":32212288276,\"compatibility\":{\"isCompatible\":true,\"message\":\"None\",\"description\":\"None\",\"issues\":[]}}",
+ "contentVersion": "2018-01-01",
+ "provisioningState": "Succeeded",
+ "skuMappings": [
+ {
+ "catalogPlanId": "microsoftsqlserver.sql2019-ubuntu2004enterprise-arm",
+ "marketplaceSkuId": "enterprise",
+ "marketplaceSkuVersions": [
+ "15.0.220208"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetUpdateRuns.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetUpdateRuns.json
new file mode 100644
index 000000000000..57c3f31bbde7
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetUpdateRuns.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "b8d594e5-51f3-4c11-9c54-a7771b81c712",
+ "resourceGroupName": "testrg",
+ "clusterName": "testcluster",
+ "updateName": "Microsoft4.2203.2.32",
+ "updateRunName": "23b779ba-0d52-4a80-8571-45ca74664ec3",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/b8d594e5-51f3-4c11-9c54-a7771b81c712/resourceGroups/testrg/providers/Microsoft.AzureStackHCI/clusters/testcluster/updates/Microsoft4.2203.2.32/updateRuns/23b779ba-0d52-4a80-8571-45ca74664ec3",
+ "name": "Microsoft4.2203.2.32/23b779ba-0d52-4a80-8571-45ca74664ec3",
+ "type": "Microsoft.AzureStackHCI/updates/updateRuns",
+ "location": "West US",
+ "properties": {
+ "progress": {
+ "name": "Unnamed step",
+ "description": "Update Azure Stack.",
+ "errorMessage": "",
+ "status": "Success",
+ "startTimeUtc": "2022-04-06T01:36:33.3876751+00:00",
+ "endTimeUtc": "2022-04-06T13:58:42.969006+00:00",
+ "lastUpdatedTimeUtc": "2022-04-06T13:58:42.969006+00:00",
+ "steps": [
+ {
+ "name": "PreUpdate Cloud",
+ "description": "Prepare for SSU update",
+ "errorMessage": "",
+ "status": "Success",
+ "startTimeUtc": "2022-04-06T01:36:33.3876751+00:00",
+ "endTimeUtc": "2022-04-06T01:37:16.8728314+00:00",
+ "lastUpdatedTimeUtc": "2022-04-06T01:37:16.8728314+00:00",
+ "steps": []
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetUpdateSummaries.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetUpdateSummaries.json
new file mode 100644
index 000000000000..e23f69f320c0
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetUpdateSummaries.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "b8d594e5-51f3-4c11-9c54-a7771b81c712",
+ "resourceGroupName": "testrg",
+ "clusterName": "testcluster",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/b8d594e5-51f3-4c11-9c54-a7771b81c712/resourceGroups/testrg/providers/Microsoft.AzureStackHCI/clusters/testcluster/updateSummaries/default",
+ "name": "default",
+ "type": "Microsoft.AzureStackHCI/updateSummaries",
+ "location": "West US",
+ "properties": {
+ "oemFamily": "DellEMC",
+ "hardwareModel": "PowerEdge R730xd",
+ "packageVersions": [
+ {
+ "packageType": "OEM",
+ "version": "2.2.2108.6",
+ "lastUpdated": "2022-04-07T18:04:07Z"
+ },
+ {
+ "packageType": "Services",
+ "version": "4.2203.2.32",
+ "lastUpdated": "2022-04-07T18:04:07Z"
+ },
+ {
+ "packageType": "Infrastructure",
+ "version": "4.2203.2.32",
+ "lastUpdated": "2022-04-07T18:04:07Z"
+ }
+ ],
+ "currentVersion": "4.2203.2.32",
+ "state": "AppliedSuccessfully"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetUpdates.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetUpdates.json
new file mode 100644
index 000000000000..81bc23aa08a2
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/GetUpdates.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "b8d594e5-51f3-4c11-9c54-a7771b81c712",
+ "resourceGroupName": "testrg",
+ "clusterName": "testcluster",
+ "updateName": "Microsoft4.2203.2.32",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/b8d594e5-51f3-4c11-9c54-a7771b81c712/resourceGroups/testrg/providers/Microsoft.AzureStackHCI/clusters/testcluster/updates/Microsoft4.2203.2.32",
+ "name": "Microsoft4.2203.2.32",
+ "type": "Microsoft.AzureStackHCI/updates",
+ "location": "West US",
+ "properties": {
+ "installedDate": "2022-04-06T14:08:18.254Z",
+ "description": "AzS Update 4.2203.2.32",
+ "state": "Installed",
+ "prerequisites": [
+ {
+ "updateType": "update type",
+ "version": "prerequisite version",
+ "packageName": "update package name"
+ }
+ ],
+ "packagePath": "\\\\SU1FileServer\\SU1_Infrastructure_2\\Updates\\Packages\\Microsoft4.2203.2.32",
+ "packageSizeInMb": 18858,
+ "displayName": "AzS Update - 4.2203.2.32",
+ "version": "4.2203.2.32",
+ "publisher": "Microsoft",
+ "releaseLink": "https://docs.microsoft.com/azure-stack/operator/release-notes?view=azs-2203",
+ "availabilityType": "Local",
+ "packageType": "Infrastructure",
+ "updateStateProperties": {
+ "notifyMessage": "Brief message with instructions for updates of AvailabilityType Notify",
+ "progressPercentage": 0
+ },
+ "additionalProperties": "additional properties"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/InitializeDisableProcess.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/InitializeDisableProcess.json
new file mode 100644
index 000000000000..5abc71ea7a0a
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/InitializeDisableProcess.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses",
+ "Retry-After": 200,
+ "Azure-AsyncOperation": "https://foo.com/operationStatuses"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListArcSettingsByCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListArcSettingsByCluster.json
new file mode 100644
index 000000000000..988ebf57ba61
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListArcSettingsByCluster.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/arcSettings/default",
+ "type": "Microsoft.AzureStackHCI/clusters/arcSettings",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "arcInstanceResourceGroup": "ArcInstance-rg",
+ "aggregateState": "PartiallyConnected",
+ "perNodeDetails": [
+ {
+ "name": "Node-1",
+ "arcInstance": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1",
+ "state": "Connected"
+ },
+ {
+ "name": "Node-2",
+ "arcInstance": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-2",
+ "state": "Disconnected"
+ }
+ ],
+ "connectivityProperties": {
+ "enabled": false,
+ "serviceConfigurations": [
+ {
+ "serviceName": "WAC",
+ "port": 6516
+ }
+ ]
+ },
+ "defaultExtensions": [
+ {
+ "category": "Telemetry",
+ "consentTime": "2023-01-01T17:18:19.1234567Z"
+ },
+ {
+ "category": "Supportability",
+ "consentTime": null
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListClustersByResourceGroup.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListClustersByResourceGroup.json
new file mode 100644
index 000000000000..2daf0b42eea1
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListClustersByResourceGroup.json
@@ -0,0 +1,131 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster1",
+ "name": "myCluster1",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "NotYetRegistered",
+ "connectivityStatus": "NotYetRegistered",
+ "cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd",
+ "cloudManagementEndpoint": "https://98294836-31be-4668-aeae-698667faf99b.waconazure.com",
+ "aadClientId": "515da1c2-379e-49b4-9975-09e3e40c86be",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "desiredProperties": {
+ "windowsServerSubscription": "Enabled",
+ "diagnosticLevel": "Basic"
+ },
+ "reportedProperties": {},
+ "trialDaysRemaining": 29,
+ "billingModel": "Trial"
+ }
+ },
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster2",
+ "name": "myCluster2",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "ConnectedRecently",
+ "connectivityStatus": "PartiallyConnected",
+ "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
+ "cloudManagementEndpoint": "https://98294836-31be-4668-aeae-698667faf99b.waconazure.com",
+ "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "desiredProperties": {
+ "windowsServerSubscription": "Enabled",
+ "diagnosticLevel": "Basic"
+ },
+ "reportedProperties": {
+ "clusterName": "cluster1",
+ "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425",
+ "clusterVersion": "10.0.17777",
+ "clusterType": "ThirdParty",
+ "manufacturer": "Dell Inc.",
+ "oemActivation": "Disabled",
+ "nodes": [
+ {
+ "name": "Node1",
+ "id": 0,
+ "windowsServerSubscription": "Enabled",
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q45CZC3",
+ "coreCount": 8,
+ "memoryInGiB": 128,
+ "oemActivation": "Enabled"
+ },
+ {
+ "name": "Node2",
+ "id": 1,
+ "windowsServerSubscription": "Enabled",
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44BSC3",
+ "coreCount": 8,
+ "memoryInGiB": 128,
+ "oemActivation": "Enabled"
+ },
+ {
+ "name": "Node3",
+ "id": 2,
+ "windowsServerSubscription": "Enabled",
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44RFC3",
+ "coreCount": 16,
+ "memoryInGiB": 256,
+ "oemActivation": "Disabled"
+ }
+ ],
+ "lastUpdated": "2020-03-11T19:24:42.1946017Z",
+ "imdsAttestation": "Disabled",
+ "diagnosticLevel": "Basic"
+ },
+ "trialDaysRemaining": 30,
+ "billingModel": "Trial",
+ "registrationTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListClustersBySubscription.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListClustersBySubscription.json
new file mode 100644
index 000000000000..650f4fa99062
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListClustersBySubscription.json
@@ -0,0 +1,130 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg1/providers/Microsoft.AzureStackHCI/clusters/myCluster1",
+ "name": "myCluster1",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "NotYetRegistered",
+ "connectivityStatus": "NotYetRegistered",
+ "cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd",
+ "cloudManagementEndpoint": "https://98294836-31be-4668-aeae-698667faf99b.waconazure.com",
+ "aadClientId": "515da1c2-379e-49b4-9975-09e3e40c86be",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "desiredProperties": {
+ "windowsServerSubscription": "Enabled",
+ "diagnosticLevel": "Basic"
+ },
+ "reportedProperties": {},
+ "trialDaysRemaining": 29,
+ "billingModel": "Trial"
+ }
+ },
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg2/providers/Microsoft.AzureStackHCI/clusters/myCluster2",
+ "name": "myCluster2",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "West US",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "ConnectedRecently",
+ "connectivityStatus": "Connected",
+ "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
+ "cloudManagementEndpoint": "https://98294836-31be-4668-aeae-698667faf99b.waconazure.com",
+ "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "desiredProperties": {
+ "windowsServerSubscription": "Enabled",
+ "diagnosticLevel": "Basic"
+ },
+ "reportedProperties": {
+ "clusterName": "cluster1",
+ "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425",
+ "clusterVersion": "10.0.17777",
+ "clusterType": "ThirdParty",
+ "manufacturer": "Dell Inc.",
+ "oemActivation": "Enabled",
+ "nodes": [
+ {
+ "name": "Node1",
+ "id": 0,
+ "windowsServerSubscription": "Enabled",
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q45CZC3",
+ "coreCount": 8,
+ "memoryInGiB": 128,
+ "oemActivation": "Enabled"
+ },
+ {
+ "name": "Node2",
+ "id": 1,
+ "windowsServerSubscription": "Enabled",
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44BSC3",
+ "coreCount": 8,
+ "memoryInGiB": 128,
+ "oemActivation": "Enabled"
+ },
+ {
+ "name": "Node3",
+ "id": 2,
+ "windowsServerSubscription": "Enabled",
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44RFC3",
+ "coreCount": 16,
+ "memoryInGiB": 256,
+ "oemActivation": "Enabled"
+ }
+ ],
+ "lastUpdated": "2020-03-11T19:24:42.1946017Z",
+ "imdsAttestation": "Disabled",
+ "diagnosticLevel": "Basic"
+ },
+ "trialDaysRemaining": 30,
+ "billingModel": "Trial",
+ "registrationTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListDeploymentSettingsByCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListDeploymentSettingsByCluster.json
new file mode 100644
index 000000000000..d44c5389e1e7
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListDeploymentSettingsByCluster.json
@@ -0,0 +1,202 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/deploymentSettings/default",
+ "name": "default",
+ "type": "Microsoft.AzureStackHCI/clusters/deploymentSettings",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "operationType": "ClusterProvisioning",
+ "deploymentMode": "Deploy",
+ "arcNodeResourceIds": [
+ "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1",
+ "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-2"
+ ],
+ "deploymentConfiguration": {
+ "version": "string",
+ "scaleUnits": [
+ {
+ "deploymentData": {
+ "securitySettings": {
+ "hvciProtection": true,
+ "drtmProtection": true,
+ "driftControlEnforced": true,
+ "credentialGuardEnforced": false,
+ "smbSigningEnforced": true,
+ "smbClusterEncryption": false,
+ "sideChannelMitigationEnforced": true,
+ "bitlockerBootVolume": true,
+ "bitlockerDataVolumes": true,
+ "wdacEnforced": true
+ },
+ "observability": {
+ "streamingDataClient": true,
+ "euLocation": false,
+ "episodicDataUpload": true
+ },
+ "cluster": {
+ "name": "testHCICluster",
+ "witnessType": "Cloud",
+ "witnessPath": "Cloud",
+ "cloudAccountName": "myasestoragacct",
+ "azureServiceEndpoint": "core.windows.net"
+ },
+ "storage": {
+ "configurationMode": "Express"
+ },
+ "namingPrefix": "ms169",
+ "domainFqdn": "ASZ1PLab8.nttest.microsoft.com",
+ "infrastructureNetwork": [
+ {
+ "subnetMask": "255.255.248.0",
+ "gateway": "255.255.248.0",
+ "ipPools": [
+ {
+ "startingAddress": "10.57.48.60",
+ "endingAddress": "10.57.48.66"
+ }
+ ],
+ "dnsServers": [
+ "10.57.50.90"
+ ]
+ }
+ ],
+ "physicalNodes": [
+ {
+ "name": "ms169host",
+ "ipv4Address": "10.57.51.224"
+ },
+ {
+ "name": "ms154host",
+ "ipv4Address": "10.57.53.236"
+ }
+ ],
+ "hostNetwork": {
+ "intents": [
+ {
+ "name": "Compute_Management",
+ "trafficType": [
+ "Compute",
+ "Management"
+ ],
+ "adapter": [
+ "Port2"
+ ],
+ "overrideVirtualSwitchConfiguration": false,
+ "virtualSwitchConfigurationOverrides": {
+ "enableIov": "True",
+ "loadBalancingAlgorithm": "HyperVPort"
+ },
+ "overrideQosPolicy": false,
+ "qosPolicyOverrides": {
+ "priorityValue8021Action_Cluster": "7",
+ "priorityValue8021Action_SMB": "3",
+ "bandwidthPercentage_SMB": "50"
+ },
+ "overrideAdapterProperty": false,
+ "adapterPropertyOverrides": {
+ "jumboPacket": "1514",
+ "networkDirect": "Enabled",
+ "networkDirectTechnology": "iWARP"
+ }
+ }
+ ],
+ "storageNetworks": [
+ {
+ "name": "Storage1Network",
+ "networkAdapterName": "Port3",
+ "vlanId": "5",
+ "storageAdapterIPInfo": [
+ {
+ "physicalNode": "string",
+ "ipv4Address": "10.57.48.60",
+ "subnetMask": "255.255.248.0"
+ }
+ ]
+ }
+ ],
+ "storageConnectivitySwitchless": true,
+ "enableStorageAutoIp": false
+ },
+ "sdnIntegration": {
+ "networkController": {
+ "macAddressPoolStart": "00-0D-3A-1B-C7-21",
+ "macAddressPoolStop": "00-0D-3A-1B-C7-29",
+ "networkVirtualizationEnabled": true
+ }
+ },
+ "adouPath": "OU=ms169,DC=ASZ1PLab8,DC=nttest,DC=microsoft,DC=com",
+ "secretsLocation": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-xxxxxxx/resourceGroups/test-rg/providers/Microsoft.KeyVault/vaults/abcd123",
+ "secrets": [
+ {
+ "secretName": "cluster1-BmcAdminUser-f5bcc1d9-23af-4ae9-aca1-041d0f593a63",
+ "eceSecretName": "BMCAdminUserCred",
+ "secretLocation": "https://sclusterkvnirhci35.vault.azure.net/secrets/cluster-34232342-BmcAdminUser-f5bcc1d9-23af-4ae9-aca1-041d0f593a63/9276354aabfc492fa9b2cdbefb54ae4b"
+ },
+ {
+ "secretName": "cluster2-AzureStackLCMUserCredential-f5bcc1d9-23af-4ae9-aca1-041d0f593a63",
+ "eceSecretName": "AzureStackLCMUserCredential",
+ "secretLocation": "https://sclusterkvnirhci35.vault.azure.net/secrets/cluster-34232342-AzureStackLCMUserCredential-f5bcc1d9-23af-4ae9-aca1-041d0f593a63/9276354aabfc492fa9b2cdbefb54ae4c"
+ }
+ ],
+ "optionalServices": {
+ "customLocation": "customLocationName"
+ }
+ },
+ "sbePartnerInfo": {
+ "sbeDeploymentInfo": {
+ "version": "4.0.2309.13",
+ "family": "Gen5",
+ "publisher": "Contoso",
+ "sbeManifestSource": "default",
+ "sbeManifestCreationDate": "2023-07-25T02:40:33Z"
+ },
+ "partnerProperties": [
+ {
+ "name": "EnableBMCIpV6",
+ "value": "false"
+ },
+ {
+ "name": "PhoneHomePort",
+ "value": "1653"
+ },
+ {
+ "name": "BMCSecurityState",
+ "value": "HighSecurity"
+ }
+ ],
+ "credentialList": [
+ {
+ "secretName": "cluster1-DownloadConnectorCred-f5bcc1d9-23af-4ae9-aca1-041d0f593a63",
+ "eceSecretName": "DownloadConnectorCred",
+ "secretLocation": "https://sclusterkvnirhci35.vault.azure.net/secrets/cluster-34232342-DownloadConnectorCred-f5bcc1d9-23af-4ae9-aca1-041d0f593a63/9276354aabfc492fa9b2cdbefb54ae4b"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListEdgeDevices.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListEdgeDevices.json
new file mode 100644
index 000000000000..73799b2835d8
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListEdgeDevices.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1",
+ "edgeDeviceName": "default",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1/providers/Microsoft.AzureStackHCI/edgeDevices/default",
+ "name": "default",
+ "type": "Microsoft.AzureStackHCI/edgeDevices",
+ "kind": "HCI",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "reportedProperties": {
+ "networkProfile": {
+ "nicDetails": [
+ {
+ "adapterName": "vmanagement",
+ "interfaceDescription": "Hyper-V Virtual Ethernet Adapter",
+ "componentId": "vms_mp",
+ "driverVersion": "10.0.25398.1",
+ "ip4Address": "192.168.200.92",
+ "subnetMask": "255.255.255.0",
+ "defaultGateway": "192.168.200.1",
+ "dnsServers": [
+ "192.168.200.222"
+ ],
+ "defaultIsolationId": "0",
+ "slot": "0",
+ "macAddress": "000000000041",
+ "switchName": null,
+ "nicType": "Virtual",
+ "vlanId": "0",
+ "nicStatus": "Up"
+ }
+ ],
+ "switchDetails": [
+ {
+ "switchName": "vmanagement",
+ "switchType": "External"
+ }
+ ]
+ },
+ "osProfile": {
+ "bootType": "UEFI",
+ "assemblyVersion": "2402.1"
+ },
+ "sbeDeploymentPackageInfo": {
+ "code": "NewerThanLatestPublished",
+ "message": "The SBE package at path 'C:\\SBE' with version 4.1.2312.10 is published later than the latest SBE manifest published for online discovery. ",
+ "sbeManifest": "PEFwcGxpY2Fi"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListExtensionsByArcSetting.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListExtensionsByArcSetting.json
new file mode 100644
index 000000000000..18fcab0705f3
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListExtensionsByArcSetting.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/arcSettings/default/extensions/MicrosoftMonitoringAgent",
+ "name": "MicrosoftMonitoringAgent",
+ "type": "Microsoft.AzureStackHCI/clusters/arcSettings/extensions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "extensionParameters": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": {
+ "workspaceId": "xx"
+ }
+ },
+ "aggregateState": "PartiallyConnected",
+ "perNodeExtensionDetails": [
+ {
+ "name": "Node-1",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1/Extensions/MicrosoftMonitoringAgent",
+ "state": "Connected"
+ },
+ {
+ "name": "Node-2",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-2/Extensions/MicrosoftMonitoringAgent",
+ "state": "Disconnected"
+ }
+ ],
+ "managedBy": "Azure"
+ }
+ },
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/arcSettings/default/Extensions/SecurityExtension",
+ "name": "CustomScriptExtension",
+ "type": "Microsoft.AzureStackHCI/clusters/arcSettings/extensions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "extensionParameters": {
+ "publisher": "Microsoft.CustomScriptExtension",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": {
+ "scriptLocation": "xx"
+ }
+ },
+ "aggregateState": "PartiallySucceeded",
+ "perNodeExtensionDetails": [
+ {
+ "name": "Node-1",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1/Extensions/SecurityExtension",
+ "state": "Succeeded"
+ },
+ {
+ "name": "Node-2",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-2/Extensions/SecurityExtension",
+ "state": "Failed"
+ }
+ ],
+ "managedBy": "Azure"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListOffersByCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListOffersByCluster.json
new file mode 100644
index 000000000000..f2cb70e3e02e
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListOffersByCluster.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/publishers/publisher1/offers/offer1",
+ "type": "Microsoft.AzureStackHCI/clusters/publishers/offers",
+ "name": "offer1",
+ "properties": {
+ "content": "{\"id\":\"canonical.ubuntuserver1404lts-arm-14.04.201808140\",\"displayName\":\"Ubuntu Server 14.04 LTS\",\"publisherId\":\"Canonical\",\"publisherName\":\"Canonical\",\"type\":\"VirtualMachine\",\"version\":\"14.04.201808140\",\"properties\":{\"description\":\"Ubuntu Server 14.04.5 LTS amd64. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect virtual machine (VM) platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see Ubuntu on Azure and using Juju to deploy your workloads.By clicking the Create button, I acknowledge that I am getting this software from Canonical and that the legal terms of Canonical apply to it. Microsoft does not provide rights for third-party software. Also see the privacy statement from Canonical.
\"},\"extendedProperties\":{\"osType\":\"Linux\",\"offer\":\"UbuntuServer\",\"offerVersion\":\"1.0.52\",\"sku\":\"14.04.5-LTS\",\"galleryItemIdentity\":\"Canonical.UbuntuServer1404LTS-ARM.1.0.52\"},\"links\":[{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]}],\"iconUris\":{\"medium\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Medium.png\",\"wide\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Wide.png\",\"large\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Large.png\",\"small\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Small.png\"},\"payloadLength\":32212288276,\"compatibility\":{\"isCompatible\":true,\"message\":\"None\",\"description\":\"None\",\"issues\":[]}}",
+ "contentVersion": "2018-01-01",
+ "publisherId": "publisher1",
+ "provisioningState": "Succeeded",
+ "skuMappings": [
+ {
+ "catalogPlanId": "microsoftsqlserver.sql2019-ubuntu2004enterprise-arm",
+ "marketplaceSkuId": "enterprise",
+ "marketplaceSkuVersions": [
+ "15.0.220208"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListOffersByPublisher.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListOffersByPublisher.json
new file mode 100644
index 000000000000..b5c62f74652d
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListOffersByPublisher.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "publisherName": "publisher1",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/publishers/publisher1/offers/offer1",
+ "type": "Microsoft.AzureStackHCI/clusters/publishers/offers",
+ "name": "offer1",
+ "properties": {
+ "content": "{\"id\":\"canonical.ubuntuserver1404lts-arm-14.04.201808140\",\"displayName\":\"Ubuntu Server 14.04 LTS\",\"publisherId\":\"Canonical\",\"publisherName\":\"Canonical\",\"type\":\"VirtualMachine\",\"version\":\"14.04.201808140\",\"properties\":{\"description\":\"Ubuntu Server 14.04.5 LTS amd64. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect virtual machine (VM) platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see Ubuntu on Azure and using Juju to deploy your workloads.By clicking the Create button, I acknowledge that I am getting this software from Canonical and that the legal terms of Canonical apply to it. Microsoft does not provide rights for third-party software. Also see the privacy statement from Canonical.
\"},\"extendedProperties\":{\"osType\":\"Linux\",\"offer\":\"UbuntuServer\",\"offerVersion\":\"1.0.52\",\"sku\":\"14.04.5-LTS\",\"galleryItemIdentity\":\"Canonical.UbuntuServer1404LTS-ARM.1.0.52\"},\"links\":[{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]}],\"iconUris\":{\"medium\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Medium.png\",\"wide\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Wide.png\",\"large\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Large.png\",\"small\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Small.png\"},\"payloadLength\":32212288276,\"compatibility\":{\"isCompatible\":true,\"message\":\"None\",\"description\":\"None\",\"issues\":[]}}",
+ "contentVersion": "2018-01-01",
+ "publisherId": "publisher1",
+ "provisioningState": "Succeeded",
+ "skuMappings": [
+ {
+ "catalogPlanId": "microsoftsqlserver.sql2019-ubuntu2004enterprise-arm",
+ "marketplaceSkuId": "enterprise",
+ "marketplaceSkuVersions": [
+ "15.0.220208"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListPublishersByCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListPublishersByCluster.json
new file mode 100644
index 000000000000..5fc94c3d7db5
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListPublishersByCluster.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/publishers/publisher1",
+ "type": "Microsoft.AzureStackHCI/clusters/publishers",
+ "name": "publisher1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListSecuritySettingsByCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListSecuritySettingsByCluster.json
new file mode 100644
index 000000000000..98cc5554dd6f
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListSecuritySettingsByCluster.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/securitySettings/default",
+ "type": "Microsoft.AzureStackHCI/clusters/securitySettings",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "securedCoreComplianceAssignment": "Audit",
+ "wdacComplianceAssignment": "ApplyAndAutoCorrect",
+ "smbEncryptionForIntraClusterTrafficComplianceAssignment": "Audit",
+ "securityComplianceStatus": {
+ "securedCoreCompliance": "Compliant",
+ "wdacCompliance": "Compliant",
+ "dataAtRestEncrypted": "Compliant",
+ "dataInTransitProtected": "Compliant",
+ "lastUpdated": "2023-11-14T07:09:44.771Z"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListSkusByOffer.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListSkusByOffer.json
new file mode 100644
index 000000000000..3ead1d5863b1
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListSkusByOffer.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "publisherName": "publisher1",
+ "offerName": "offer1",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/publishers/publisher1/offers/offer1/skus/sku1",
+ "type": "Microsoft.AzureStackHCI/clusters/publishers/offers/skus",
+ "name": "sku1",
+ "properties": {
+ "content": "{\"id\":\"canonical.ubuntuserver1404lts-arm-14.04.201808140\",\"displayName\":\"Ubuntu Server 14.04 LTS\",\"publisherId\":\"Canonical\",\"publisherName\":\"Canonical\",\"type\":\"VirtualMachine\",\"version\":\"14.04.201808140\",\"properties\":{\"description\":\"Ubuntu Server 14.04.5 LTS amd64. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect virtual machine (VM) platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see Ubuntu on Azure and using Juju to deploy your workloads.By clicking the Create button, I acknowledge that I am getting this software from Canonical and that the legal terms of Canonical apply to it. Microsoft does not provide rights for third-party software. Also see the privacy statement from Canonical.
\"},\"extendedProperties\":{\"osType\":\"Linux\",\"offer\":\"UbuntuServer\",\"offerVersion\":\"1.0.52\",\"sku\":\"14.04.5-LTS\",\"galleryItemIdentity\":\"Canonical.UbuntuServer1404LTS-ARM.1.0.52\"},\"links\":[{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]},{\"name\":[],\"uri\":[]}],\"iconUris\":{\"medium\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Medium.png\",\"wide\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Wide.png\",\"large\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Large.png\",\"small\":\"https://azstmktdfwcu001.blob.core.windows.net/icons/e5da743bb86d4d429320a75bfa5b96b8/Small.png\"},\"payloadLength\":32212288276,\"compatibility\":{\"isCompatible\":true,\"message\":\"None\",\"description\":\"None\",\"issues\":[]}}",
+ "contentVersion": "2018-01-01",
+ "publisherId": "publisher1",
+ "offerId": "offer1",
+ "skuMappings": [
+ {
+ "catalogPlanId": "microsoftsqlserver.sql2019-ubuntu2004enterprise-arm",
+ "marketplaceSkuId": "enterprise",
+ "marketplaceSkuVersions": [
+ "15.0.220208"
+ ]
+ }
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListUpdateRuns.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListUpdateRuns.json
new file mode 100644
index 000000000000..125373cb1b53
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListUpdateRuns.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "b8d594e5-51f3-4c11-9c54-a7771b81c712",
+ "resourceGroupName": "testrg",
+ "clusterName": "testcluster",
+ "updateName": "Microsoft4.2203.2.32",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/b8d594e5-51f3-4c11-9c54-a7771b81c712/resourceGroups/testrg/providers/Microsoft.AzureStackHCI/clusters/testcluster/updates/Microsoft4.2203.2.32/updateRuns/23b779ba-0d52-4a80-8571-45ca74664ec3",
+ "name": "Microsoft4.2203.2.32/23b779ba-0d52-4a80-8571-45ca74664ec3",
+ "type": "Microsoft.AzureStackHCI/updates/updateRuns",
+ "location": "West US",
+ "properties": {
+ "progress": {
+ "name": "Unnamed step",
+ "description": "Update Azure Stack.",
+ "errorMessage": "",
+ "status": "Success",
+ "startTimeUtc": "2022-04-06T01:36:33.3876751+00:00",
+ "endTimeUtc": "2022-04-06T13:58:42.969006+00:00",
+ "lastUpdatedTimeUtc": "2022-04-06T13:58:42.969006+00:00",
+ "steps": [
+ {
+ "name": "PreUpdate Cloud",
+ "description": "Prepare for SSU update",
+ "errorMessage": "",
+ "status": "Success",
+ "startTimeUtc": "2022-04-06T01:36:33.3876751+00:00",
+ "endTimeUtc": "2022-04-06T01:37:16.8728314+00:00",
+ "lastUpdatedTimeUtc": "2022-04-06T01:37:16.8728314+00:00",
+ "steps": []
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListUpdateSummaries.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListUpdateSummaries.json
new file mode 100644
index 000000000000..ff8e46594a4b
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListUpdateSummaries.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "b8d594e5-51f3-4c11-9c54-a7771b81c712",
+ "resourceGroupName": "testrg",
+ "clusterName": "testcluster",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/b8d594e5-51f3-4c11-9c54-a7771b81c712/resourceGroups/testrg/providers/Microsoft.AzureStackHCI/clusters/testcluster/updateSummaries/default",
+ "name": "default",
+ "type": "Microsoft.AzureStackHCI/updateSummaries",
+ "location": "West US",
+ "properties": {
+ "oemFamily": "DellEMC",
+ "hardwareModel": "PowerEdge R730xd",
+ "packageVersions": [
+ {
+ "packageType": "OEM",
+ "version": "2.2.2108.6",
+ "lastUpdated": "2022-04-07T18:04:07Z"
+ },
+ {
+ "packageType": "Services",
+ "version": "4.2203.2.32",
+ "lastUpdated": "2022-04-07T18:04:07Z"
+ },
+ {
+ "packageType": "Infrastructure",
+ "version": "4.2203.2.32",
+ "lastUpdated": "2022-04-07T18:04:07Z"
+ }
+ ],
+ "currentVersion": "4.2203.2.32",
+ "state": "AppliedSuccessfully"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListUpdates.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListUpdates.json
new file mode 100644
index 000000000000..2f97f4fbff1a
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ListUpdates.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "b8d594e5-51f3-4c11-9c54-a7771b81c712",
+ "resourceGroupName": "testrg",
+ "clusterName": "testcluster",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/b8d594e5-51f3-4c11-9c54-a7771b81c712/resourceGroups/testrg/providers/Microsoft.AzureStackHCI/clusters/testcluster/updates/Microsoft4.2203.2.32",
+ "name": "Microsoft4.2203.2.32",
+ "type": " Microsoft. AzureStackHCI/updates",
+ "location": "West US",
+ "properties": {
+ "installedDate": "2022-04-06T14:08:18.254Z",
+ "description": "AzS Update 4.2203.2.32",
+ "state": "Installed",
+ "prerequisites": [
+ {
+ "updateType": "update type",
+ "version": "prerequisite version",
+ "packageName": "update package name"
+ }
+ ],
+ "packagePath": "\\\\SU1FileServer\\SU1_Infrastructure_2\\Updates\\Packages\\Microsoft4.2203.2.32",
+ "packageSizeInMb": 18858,
+ "displayName": "AzS Update - 4.2203.2.32",
+ "version": "4.2203.2.32",
+ "publisher": "Microsoft",
+ "releaseLink": "https://docs.microsoft.com/azure-stack/operator/release-notes?view=azs-2203",
+ "availabilityType": "Local",
+ "packageType": "Infrastructure",
+ "updateStateProperties": {
+ "notifyMessage": "Brief message with instructions for updates of AvailabilityType Notify",
+ "progressPercentage": 0
+ },
+ "additionalProperties": "additional properties"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PatchArcSetting.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PatchArcSetting.json
new file mode 100644
index 000000000000..ac1cccbd5ae9
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PatchArcSetting.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "arcSetting": {
+ "properties": {
+ "connectivityProperties": {
+ "enabled": true,
+ "serviceConfigurations": [
+ {
+ "serviceName": "WAC",
+ "port": 6516
+ }
+ ]
+ }
+ }
+ },
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/arcSettings/default",
+ "type": "Microsoft.AzureStackHCI/clusters/arcSettings",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "arcInstanceResourceGroup": "ArcInstance-rg",
+ "aggregateState": "Creating",
+ "connectivityProperties": {
+ "enabled": true,
+ "serviceConfigurations": [
+ {
+ "serviceName": "WAC",
+ "port": 6516
+ }
+ ]
+ },
+ "perNodeDetails": [
+ {
+ "name": "Node-1",
+ "arcInstance": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1",
+ "state": "Creating"
+ },
+ {
+ "name": "Node-2",
+ "arcInstance": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-2",
+ "state": "Creating"
+ }
+ ],
+ "defaultExtensions": [
+ {
+ "category": "Telemetry",
+ "consentTime": "2023-01-01T17:18:19.1234567Z"
+ },
+ {
+ "category": "Supportability",
+ "consentTime": null
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PatchExtension.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PatchExtension.json
new file mode 100644
index 000000000000..e09961569649
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PatchExtension.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "extensionName": "MicrosoftMonitoringAgent",
+ "extension": {
+ "properties": {
+ "extensionParameters": {
+ "typeHandlerVersion": "1.10",
+ "enableAutomaticUpgrade": false,
+ "settings": {
+ "workspaceId": "xx"
+ },
+ "protectedSettings": {
+ "workspaceKey": "xx"
+ }
+ }
+ }
+ },
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/arcSettings/default/extensions/MicrosoftMonitoringAgent",
+ "name": "MicrosoftMonitoringAgent",
+ "type": "Microsoft.AzureStackHCI/clusters/arcSettings/extensions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "extensionParameters": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10",
+ "enableAutomaticUpgrade": false,
+ "autoUpgradeMinorVersion": false,
+ "settings": {
+ "workspaceId": "xx"
+ }
+ },
+ "aggregateState": "PartiallyConnected",
+ "perNodeExtensionDetails": [
+ {
+ "name": "Node-1",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1/Extensions/MicrosoftMonitoringAgent",
+ "state": "Connected",
+ "typeHandlerVersion": "1.10.0",
+ "instanceView": {
+ "name": "MicrosoftMonitoringAgent",
+ "type": "MicrosoftMonitoringAgent",
+ "typeHandlerVersion": "1.10.0",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "displayStatus": "Provisioning succeeded",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2019-08-08T20:42:10.999Z"
+ }
+ }
+ },
+ {
+ "name": "Node-2",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-2/Extensions/MicrosoftMonitoringAgent",
+ "state": "Disconnected",
+ "typeHandlerVersion": "1.10.3",
+ "instanceView": {
+ "name": "MicrosoftMonitoringAgent",
+ "type": "MicrosoftMonitoringAgent",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "error",
+ "level": "Error",
+ "displayStatus": "Provisioning failed",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2019-08-08T20:42:10.999Z"
+ }
+ }
+ }
+ ],
+ "managedBy": "User"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PostUpdates.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PostUpdates.json
new file mode 100644
index 000000000000..86fd36d89264
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PostUpdates.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "b8d594e5-51f3-4c11-9c54-a7771b81c712",
+ "resourceGroupName": "testrg",
+ "clusterName": "testcluster",
+ "updateName": "Microsoft4.2203.2.32",
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://foo.com/operationstatus"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutArcSetting.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutArcSetting.json
new file mode 100644
index 000000000000..74b65a5ded3b
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutArcSetting.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "arcSetting": {},
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/arcSettings/default",
+ "type": "Microsoft.AzureStackHCI/clusters/arcSettings",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "arcInstanceResourceGroup": "ArcInstance-rg",
+ "aggregateState": "Creating",
+ "perNodeDetails": [
+ {
+ "name": "Node-1",
+ "arcInstance": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1",
+ "state": "Creating"
+ },
+ {
+ "name": "Node-2",
+ "arcInstance": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-2",
+ "state": "Creating"
+ }
+ ],
+ "connectivityProperties": {
+ "enabled": false,
+ "serviceConfigurations": []
+ },
+ "defaultExtensions": [
+ {
+ "category": "Telemetry",
+ "consentTime": "2023-01-01T17:18:19.1234567Z"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutDeploymentSettings.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutDeploymentSettings.json
new file mode 100644
index 000000000000..809b81d78b78
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutDeploymentSettings.json
@@ -0,0 +1,729 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "deploymentSettingsName": "default",
+ "api-version": "2024-04-01",
+ "resource": {
+ "properties": {
+ "operationType": "ClusterProvisioning",
+ "deploymentMode": "Deploy",
+ "arcNodeResourceIds": [
+ "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1",
+ "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-2"
+ ],
+ "deploymentConfiguration": {
+ "version": "string",
+ "scaleUnits": [
+ {
+ "deploymentData": {
+ "securitySettings": {
+ "hvciProtection": true,
+ "drtmProtection": true,
+ "driftControlEnforced": true,
+ "credentialGuardEnforced": false,
+ "smbSigningEnforced": true,
+ "smbClusterEncryption": false,
+ "sideChannelMitigationEnforced": true,
+ "bitlockerBootVolume": true,
+ "bitlockerDataVolumes": true,
+ "wdacEnforced": true
+ },
+ "observability": {
+ "streamingDataClient": true,
+ "euLocation": false,
+ "episodicDataUpload": true
+ },
+ "cluster": {
+ "name": "testHCICluster",
+ "witnessType": "Cloud",
+ "witnessPath": "Cloud",
+ "cloudAccountName": "myasestoragacct",
+ "azureServiceEndpoint": "core.windows.net"
+ },
+ "storage": {
+ "configurationMode": "Express"
+ },
+ "namingPrefix": "ms169",
+ "domainFqdn": "ASZ1PLab8.nttest.microsoft.com",
+ "infrastructureNetwork": [
+ {
+ "subnetMask": "255.255.248.0",
+ "gateway": "255.255.248.0",
+ "ipPools": [
+ {
+ "startingAddress": "10.57.48.60",
+ "endingAddress": "10.57.48.66"
+ }
+ ],
+ "dnsServers": [
+ "10.57.50.90"
+ ]
+ }
+ ],
+ "physicalNodes": [
+ {
+ "name": "ms169host",
+ "ipv4Address": "10.57.51.224"
+ },
+ {
+ "name": "ms154host",
+ "ipv4Address": "10.57.53.236"
+ }
+ ],
+ "hostNetwork": {
+ "intents": [
+ {
+ "name": "Compute_Management",
+ "trafficType": [
+ "Compute",
+ "Management"
+ ],
+ "adapter": [
+ "Port2"
+ ],
+ "overrideVirtualSwitchConfiguration": false,
+ "virtualSwitchConfigurationOverrides": {
+ "enableIov": "True",
+ "loadBalancingAlgorithm": "HyperVPort"
+ },
+ "overrideQosPolicy": false,
+ "qosPolicyOverrides": {
+ "priorityValue8021Action_Cluster": "7",
+ "priorityValue8021Action_SMB": "3",
+ "bandwidthPercentage_SMB": "50"
+ },
+ "overrideAdapterProperty": false,
+ "adapterPropertyOverrides": {
+ "jumboPacket": "1514",
+ "networkDirect": "Enabled",
+ "networkDirectTechnology": "iWARP"
+ }
+ }
+ ],
+ "storageNetworks": [
+ {
+ "name": "Storage1Network",
+ "networkAdapterName": "Port3",
+ "vlanId": "5",
+ "storageAdapterIPInfo": [
+ {
+ "physicalNode": "string",
+ "ipv4Address": "10.57.48.60",
+ "subnetMask": "255.255.248.0"
+ }
+ ]
+ }
+ ],
+ "storageConnectivitySwitchless": true,
+ "enableStorageAutoIp": false
+ },
+ "sdnIntegration": {
+ "networkController": {
+ "macAddressPoolStart": "00-0D-3A-1B-C7-21",
+ "macAddressPoolStop": "00-0D-3A-1B-C7-29",
+ "networkVirtualizationEnabled": true
+ }
+ },
+ "adouPath": "OU=ms169,DC=ASZ1PLab8,DC=nttest,DC=microsoft,DC=com",
+ "secretsLocation": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-xxxxxxx/resourceGroups/test-rg/providers/Microsoft.KeyVault/vaults/abcd123",
+ "secrets": [
+ {
+ "secretName": "cluster1-BmcAdminUser-f5bcc1d9-23af-4ae9-aca1-041d0f593a63",
+ "eceSecretName": "BMCAdminUserCred",
+ "secretLocation": "https://sclusterkvnirhci35.vault.azure.net/secrets/cluster-34232342-BmcAdminUser-f5bcc1d9-23af-4ae9-aca1-041d0f593a63/9276354aabfc492fa9b2cdbefb54ae4b"
+ },
+ {
+ "secretName": "cluster2-AzureStackLCMUserCredential-f5bcc1d9-23af-4ae9-aca1-041d0f593a63",
+ "eceSecretName": "AzureStackLCMUserCredential",
+ "secretLocation": "https://sclusterkvnirhci35.vault.azure.net/secrets/cluster-34232342-AzureStackLCMUserCredential-f5bcc1d9-23af-4ae9-aca1-041d0f593a63/9276354aabfc492fa9b2cdbefb54ae4c"
+ }
+ ],
+ "optionalServices": {
+ "customLocation": "customLocationName"
+ }
+ },
+ "sbePartnerInfo": {
+ "sbeDeploymentInfo": {
+ "version": "4.0.2309.13",
+ "family": "Gen5",
+ "publisher": "Contoso",
+ "sbeManifestSource": "default",
+ "sbeManifestCreationDate": "2023-07-25T02:40:33Z"
+ },
+ "partnerProperties": [
+ {
+ "name": "EnableBMCIpV6",
+ "value": "false"
+ },
+ {
+ "name": "PhoneHomePort",
+ "value": "1653"
+ },
+ {
+ "name": "BMCSecurityState",
+ "value": "HighSecurity"
+ }
+ ],
+ "credentialList": [
+ {
+ "secretName": "cluster1-DownloadConnectorCred-f5bcc1d9-23af-4ae9-aca1-041d0f593a63",
+ "eceSecretName": "DownloadConnectorCred",
+ "secretLocation": "https://sclusterkvnirhci35.vault.azure.net/secrets/cluster-34232342-DownloadConnectorCred-f5bcc1d9-23af-4ae9-aca1-041d0f593a63/9276354aabfc492fa9b2cdbefb54ae4b"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/deploymentSettings/default",
+ "name": "default",
+ "type": "Microsoft.AzureStackHCI/clusters/deploymentSettings",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentMode": "Deploy",
+ "arcNodeResourceIds": [
+ "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1",
+ "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-2"
+ ],
+ "deploymentConfiguration": {
+ "version": "string",
+ "scaleUnits": [
+ {
+ "deploymentData": {
+ "securitySettings": {
+ "hvciProtection": true,
+ "drtmProtection": true,
+ "driftControlEnforced": true,
+ "credentialGuardEnforced": false,
+ "smbSigningEnforced": true,
+ "smbClusterEncryption": false,
+ "sideChannelMitigationEnforced": true,
+ "bitlockerBootVolume": true,
+ "bitlockerDataVolumes": true,
+ "wdacEnforced": true
+ },
+ "observability": {
+ "streamingDataClient": true,
+ "euLocation": false,
+ "episodicDataUpload": true
+ },
+ "cluster": {
+ "name": "testHCICluster",
+ "witnessType": "Cloud",
+ "witnessPath": "Cloud",
+ "cloudAccountName": "myasestoragacct",
+ "azureServiceEndpoint": "core.windows.net"
+ },
+ "storage": {
+ "configurationMode": "Express"
+ },
+ "namingPrefix": "ms169",
+ "domainFqdn": "ASZ1PLab8.nttest.microsoft.com",
+ "infrastructureNetwork": [
+ {
+ "subnetMask": "255.255.248.0",
+ "gateway": "255.255.248.0",
+ "ipPools": [
+ {
+ "startingAddress": "10.57.48.60",
+ "endingAddress": "10.57.48.66"
+ }
+ ],
+ "dnsServers": [
+ "10.57.50.90"
+ ]
+ }
+ ],
+ "physicalNodes": [
+ {
+ "name": "ms169host",
+ "ipv4Address": "10.57.51.224"
+ },
+ {
+ "name": "ms154host",
+ "ipv4Address": "10.57.53.236"
+ }
+ ],
+ "hostNetwork": {
+ "intents": [
+ {
+ "name": "Compute_Management",
+ "trafficType": [
+ "Compute",
+ "Management"
+ ],
+ "adapter": [
+ "Port2"
+ ],
+ "overrideVirtualSwitchConfiguration": false,
+ "virtualSwitchConfigurationOverrides": {
+ "enableIov": "True",
+ "loadBalancingAlgorithm": "HyperVPort"
+ },
+ "overrideQosPolicy": false,
+ "qosPolicyOverrides": {
+ "priorityValue8021Action_Cluster": "7",
+ "priorityValue8021Action_SMB": "3",
+ "bandwidthPercentage_SMB": "50"
+ },
+ "overrideAdapterProperty": false,
+ "adapterPropertyOverrides": {
+ "jumboPacket": "1514",
+ "networkDirect": "Enabled",
+ "networkDirectTechnology": "iWARP"
+ }
+ }
+ ],
+ "storageNetworks": [
+ {
+ "name": "Storage1Network",
+ "networkAdapterName": "Port3",
+ "vlanId": "5",
+ "storageAdapterIPInfo": [
+ {
+ "physicalNode": "string",
+ "ipv4Address": "10.57.48.60",
+ "subnetMask": "255.255.248.0"
+ }
+ ]
+ }
+ ],
+ "storageConnectivitySwitchless": true,
+ "enableStorageAutoIp": false
+ },
+ "sdnIntegration": {
+ "networkController": {
+ "macAddressPoolStart": "00-0D-3A-1B-C7-21",
+ "macAddressPoolStop": "00-0D-3A-1B-C7-29",
+ "networkVirtualizationEnabled": true
+ }
+ },
+ "adouPath": "OU=ms169,DC=ASZ1PLab8,DC=nttest,DC=microsoft,DC=com",
+ "secretsLocation": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-xxxxxxx/resourceGroups/test-rg/providers/Microsoft.KeyVault/vaults/abcd123",
+ "secrets": [
+ {
+ "secretName": "cluster1-BmcAdminUser-f5bcc1d9-23af-4ae9-aca1-041d0f593a63",
+ "eceSecretName": "BMCAdminUserCred",
+ "secretLocation": "https://sclusterkvnirhci35.vault.azure.net/secrets/cluster-34232342-BmcAdminUser-f5bcc1d9-23af-4ae9-aca1-041d0f593a63/9276354aabfc492fa9b2cdbefb54ae4b"
+ },
+ {
+ "secretName": "cluster2-AzureStackLCMUserCredential-f5bcc1d9-23af-4ae9-aca1-041d0f593a63",
+ "eceSecretName": "AzureStackLCMUserCredential",
+ "secretLocation": "https://sclusterkvnirhci35.vault.azure.net/secrets/cluster-34232342-AzureStackLCMUserCredential-f5bcc1d9-23af-4ae9-aca1-041d0f593a63/9276354aabfc492fa9b2cdbefb54ae4c"
+ }
+ ],
+ "optionalServices": {
+ "customLocation": "customLocationName"
+ }
+ },
+ "sbePartnerInfo": {
+ "sbeDeploymentInfo": {
+ "version": "4.0.2309.13",
+ "family": "Gen5",
+ "publisher": "Contoso",
+ "sbeManifestSource": "default",
+ "sbeManifestCreationDate": "2023-07-25T02:40:33Z"
+ },
+ "partnerProperties": [
+ {
+ "name": "EnableBMCIpV6",
+ "value": "false"
+ },
+ {
+ "name": "PhoneHomePort",
+ "value": "1653"
+ },
+ {
+ "name": "BMCSecurityState",
+ "value": "HighSecurity"
+ }
+ ],
+ "credentialList": [
+ {
+ "secretName": "cluster1-DownloadConnectorCred-f5bcc1d9-23af-4ae9-aca1-041d0f593a63",
+ "eceSecretName": "DownloadConnectorCred",
+ "secretLocation": "https://sclusterkvnirhci35.vault.azure.net/secrets/cluster-34232342-DownloadConnectorCred-f5bcc1d9-23af-4ae9-aca1-041d0f593a63/9276354aabfc492fa9b2cdbefb54ae4b"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "reportedProperties": {
+ "validationStatus": {
+ "status": "Error",
+ "steps": [
+ {
+ "fullStepIndex": "0",
+ "name": "Cloud Deployment",
+ "description": "Deploy Cloud.",
+ "startTimeUtc": "2023-06-09T00:08:19",
+ "endTimeUtc": "2023-06-09T04:01:47",
+ "status": "Error",
+ "exception": [
+ "exception1",
+ "exception2"
+ ],
+ "steps": [
+ {
+ "fullStepIndex": "0.1",
+ "name": "Before Cloud Deployment",
+ "description": "Before Cloud Deployment",
+ "startTimeUtc": "2023-06-09T00:08:23",
+ "endTimeUtc": "2023-06-09T01:10:10",
+ "exception": [
+ "exception1",
+ "exception2"
+ ],
+ "steps": []
+ },
+ {
+ "fullStepIndex": "0.36",
+ "name": "Clean up temporary content",
+ "description": "Clean up temporary content",
+ "startTimeUtc": "2023-06-09T03:58:37",
+ "endTimeUtc": "2023-06-09T04:01:47",
+ "status": "Error",
+ "exception": [
+ "exception1",
+ "exception2"
+ ],
+ "steps": []
+ }
+ ]
+ }
+ ]
+ },
+ "deploymentStatus": {
+ "status": "Error",
+ "steps": [
+ {
+ "fullStepIndex": "0",
+ "name": "Cloud Deployment",
+ "description": "Deploy Cloud.",
+ "startTimeUtc": "2023-06-09T00:08:19",
+ "endTimeUtc": "2023-06-09T04:01:47",
+ "status": "Error",
+ "exception": [
+ "exception1",
+ "exception2"
+ ],
+ "steps": [
+ {
+ "fullStepIndex": "0.1",
+ "name": "Before Cloud Deployment",
+ "description": null,
+ "startTimeUtc": "2023-06-09T00:08:23",
+ "endTimeUtc": "2023-06-09T01:10:10",
+ "exception": [
+ "exception1",
+ "exception2"
+ ],
+ "steps": []
+ },
+ {
+ "fullStepIndex": "0.36",
+ "name": "Clean up temporary content",
+ "description": null,
+ "startTimeUtc": "2023-06-09T03:58:37",
+ "endTimeUtc": "2023-06-09T04:01:47",
+ "status": "Error",
+ "exception": [
+ "exception1",
+ "exception2"
+ ],
+ "steps": []
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/deploymentSettings/default",
+ "name": "default",
+ "type": "Microsoft.AzureStackHCI/clusters/deploymentSettings",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "deploymentMode": "Deploy",
+ "arcNodeResourceIds": [
+ "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1",
+ "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-2"
+ ],
+ "deploymentConfiguration": {
+ "version": "string",
+ "scaleUnits": [
+ {
+ "deploymentData": {
+ "securitySettings": {
+ "hvciProtection": true,
+ "drtmProtection": true,
+ "driftControlEnforced": true,
+ "credentialGuardEnforced": false,
+ "smbSigningEnforced": true,
+ "smbClusterEncryption": false,
+ "sideChannelMitigationEnforced": true,
+ "bitlockerBootVolume": true,
+ "bitlockerDataVolumes": true,
+ "wdacEnforced": true
+ },
+ "observability": {
+ "streamingDataClient": true,
+ "euLocation": false,
+ "episodicDataUpload": true
+ },
+ "cluster": {
+ "name": "testHCICluster",
+ "witnessType": "Cloud",
+ "witnessPath": "Cloud",
+ "cloudAccountName": "myasestoragacct",
+ "azureServiceEndpoint": "core.windows.net"
+ },
+ "storage": {
+ "configurationMode": "Express"
+ },
+ "namingPrefix": "ms169",
+ "domainFqdn": "ASZ1PLab8.nttest.microsoft.com",
+ "infrastructureNetwork": [
+ {
+ "subnetMask": "255.255.248.0",
+ "gateway": "255.255.248.0",
+ "ipPools": [
+ {
+ "startingAddress": "10.57.48.60",
+ "endingAddress": "10.57.48.66"
+ }
+ ],
+ "dnsServers": [
+ "10.57.50.90"
+ ]
+ }
+ ],
+ "physicalNodes": [
+ {
+ "name": "ms169host",
+ "ipv4Address": "10.57.51.224"
+ },
+ {
+ "name": "ms154host",
+ "ipv4Address": "10.57.53.236"
+ }
+ ],
+ "hostNetwork": {
+ "intents": [
+ {
+ "name": "Compute_Management",
+ "trafficType": [
+ "Compute",
+ "Management"
+ ],
+ "adapter": [
+ "Port2"
+ ],
+ "overrideVirtualSwitchConfiguration": false,
+ "virtualSwitchConfigurationOverrides": {
+ "enableIov": "True",
+ "loadBalancingAlgorithm": "HyperVPort"
+ },
+ "overrideQosPolicy": false,
+ "qosPolicyOverrides": {
+ "priorityValue8021Action_Cluster": "7",
+ "priorityValue8021Action_SMB": "3",
+ "bandwidthPercentage_SMB": "50"
+ },
+ "overrideAdapterProperty": false,
+ "adapterPropertyOverrides": {
+ "jumboPacket": "1514",
+ "networkDirect": "Enabled",
+ "networkDirectTechnology": "iWARP"
+ }
+ }
+ ],
+ "storageNetworks": [
+ {
+ "name": "Storage1Network",
+ "networkAdapterName": "Port3",
+ "vlanId": "5",
+ "storageAdapterIPInfo": [
+ {
+ "physicalNode": "string",
+ "ipv4Address": "10.57.48.60",
+ "subnetMask": "255.255.248.0"
+ }
+ ]
+ }
+ ],
+ "storageConnectivitySwitchless": true,
+ "enableStorageAutoIp": false
+ },
+ "sdnIntegration": {
+ "networkController": {
+ "macAddressPoolStart": "00-0D-3A-1B-C7-21",
+ "macAddressPoolStop": "00-0D-3A-1B-C7-29",
+ "networkVirtualizationEnabled": true
+ }
+ },
+ "adouPath": "OU=ms169,DC=ASZ1PLab8,DC=nttest,DC=microsoft,DC=com",
+ "secretsLocation": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-xxxxxxx/resourceGroups/test-rg/providers/Microsoft.KeyVault/vaults/abcd123",
+ "secrets": [
+ {
+ "secretName": "cluster1-BmcAdminUser-f5bcc1d9-23af-4ae9-aca1-041d0f593a63",
+ "eceSecretName": "BMCAdminUserCred",
+ "secretLocation": "https://sclusterkvnirhci35.vault.azure.net/secrets/cluster-34232342-BmcAdminUser-f5bcc1d9-23af-4ae9-aca1-041d0f593a63/9276354aabfc492fa9b2cdbefb54ae4b"
+ },
+ {
+ "secretName": "cluster2-AzureStackLCMUserCredential-f5bcc1d9-23af-4ae9-aca1-041d0f593a63",
+ "eceSecretName": "AzureStackLCMUserCredential",
+ "secretLocation": "https://sclusterkvnirhci35.vault.azure.net/secrets/cluster-34232342-AzureStackLCMUserCredential-f5bcc1d9-23af-4ae9-aca1-041d0f593a63/9276354aabfc492fa9b2cdbefb54ae4c"
+ }
+ ],
+ "optionalServices": {
+ "customLocation": "customLocationName"
+ }
+ },
+ "sbePartnerInfo": {
+ "sbeDeploymentInfo": {
+ "version": "4.0.2309.13",
+ "family": "Gen5",
+ "publisher": "Contoso",
+ "sbeManifestSource": "default",
+ "sbeManifestCreationDate": "2023-07-25T02:40:33Z"
+ },
+ "partnerProperties": [
+ {
+ "name": "EnableBMCIpV6",
+ "value": "false"
+ },
+ {
+ "name": "PhoneHomePort",
+ "value": "1653"
+ },
+ {
+ "name": "BMCSecurityState",
+ "value": "HighSecurity"
+ }
+ ],
+ "credentialList": [
+ {
+ "secretName": "cluster1-DownloadConnectorCred-f5bcc1d9-23af-4ae9-aca1-041d0f593a63",
+ "eceSecretName": "DownloadConnectorCred",
+ "secretLocation": "https://sclusterkvnirhci35.vault.azure.net/secrets/cluster-34232342-DownloadConnectorCred-f5bcc1d9-23af-4ae9-aca1-041d0f593a63/9276354aabfc492fa9b2cdbefb54ae4b"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "reportedProperties": {
+ "validationStatus": {
+ "status": "Error",
+ "steps": [
+ {
+ "fullStepIndex": "0",
+ "name": "Cloud Deployment",
+ "description": "Deploy Cloud.",
+ "startTimeUtc": "2023-06-09T00:08:19",
+ "endTimeUtc": "2023-06-09T04:01:47",
+ "status": "Error",
+ "steps": [
+ {
+ "fullStepIndex": "0.1",
+ "name": "Before Cloud Deployment",
+ "description": "Before Cloud Deployment",
+ "startTimeUtc": "2023-06-09T00:08:23",
+ "endTimeUtc": "2023-06-09T01:10:10"
+ },
+ {
+ "fullStepIndex": "0.36",
+ "name": "Clean up temporary content",
+ "description": "Clean up temporary content",
+ "startTimeUtc": "2023-06-09T03:58:37",
+ "endTimeUtc": "2023-06-09T04:01:47",
+ "status": "Error",
+ "exception": [
+ "exception1",
+ "exception2"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "deploymentStatus": {
+ "status": "Error",
+ "steps": [
+ {
+ "fullStepIndex": "0",
+ "name": "Cloud Deployment",
+ "description": "Deploy Cloud.",
+ "startTimeUtc": "2023-06-09T00:08:19",
+ "endTimeUtc": "2023-06-09T04:01:47",
+ "status": "Error",
+ "exception": [
+ "exception1",
+ "exception2"
+ ],
+ "steps": [
+ {
+ "fullStepIndex": "0.1",
+ "name": "Before Cloud Deployment",
+ "description": "Before Cloud Deployment",
+ "startTimeUtc": "2023-06-09T00:08:23",
+ "endTimeUtc": "2023-06-09T01:10:10",
+ "exception": [
+ "exception1",
+ "exception2"
+ ],
+ "steps": []
+ },
+ {
+ "fullStepIndex": "0.36",
+ "name": "Clean up temporary content",
+ "description": "Clean up temporary content",
+ "startTimeUtc": "2023-06-09T03:58:37",
+ "endTimeUtc": "2023-06-09T04:01:47",
+ "status": "Error",
+ "exception": [
+ "exception1",
+ "exception2"
+ ],
+ "steps": []
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutExtension.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutExtension.json
new file mode 100644
index 000000000000..972a44ef4bc6
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutExtension.json
@@ -0,0 +1,164 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "extensionName": "MicrosoftMonitoringAgent",
+ "extension": {
+ "properties": {
+ "extensionParameters": {
+ "publisher": "Microsoft.Compute",
+ "typeHandlerVersion": "1.10",
+ "type": "MicrosoftMonitoringAgent",
+ "enableAutomaticUpgrade": false,
+ "settings": {
+ "workspaceId": "xx"
+ },
+ "protectedSettings": {
+ "workspaceKey": "xx"
+ }
+ }
+ }
+ },
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/arcSettings/default/extensions/MicrosoftMonitoringAgent",
+ "name": "MicrosoftMonitoringAgent",
+ "type": "Microsoft.AzureStackHCI/clusters/arcSettings/extensions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "extensionParameters": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "enableAutomaticUpgrade": false,
+ "autoUpgradeMinorVersion": false,
+ "settings": {
+ "workspaceId": "xx"
+ }
+ },
+ "aggregateState": "PartiallySucceeded",
+ "perNodeExtensionDetails": [
+ {
+ "name": "Node-1",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1/Extensions/MicrosoftMonitoringAgent",
+ "state": "Succeeded",
+ "typeHandlerVersion": "1.10.0",
+ "instanceView": {
+ "name": "MicrosoftMonitoringAgent",
+ "type": "MicrosoftMonitoringAgent",
+ "typeHandlerVersion": "1.10.0",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "displayStatus": "Provisioning succeeded",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2019-08-08T20:42:10.999Z"
+ }
+ }
+ },
+ {
+ "name": "Node-2",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-2/Extensions/MicrosoftMonitoringAgent",
+ "state": "Failed",
+ "typeHandlerVersion": "1.10.3",
+ "instanceView": {
+ "name": "MicrosoftMonitoringAgent",
+ "type": "MicrosoftMonitoringAgent",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "error",
+ "level": "Error",
+ "displayStatus": "Provisioning failed",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2019-08-08T20:42:10.999Z"
+ }
+ }
+ }
+ ],
+ "managedBy": "User"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/arcSettings/default/extensions/MicrosoftMonitoringAgent",
+ "name": "MicrosoftMonitoringAgent",
+ "type": "Microsoft.AzureStackHCI/clusters/arcSettings/extensions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "extensionParameters": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "enableAutomaticUpgrade": false,
+ "autoUpgradeMinorVersion": false,
+ "settings": {
+ "workspaceId": "xx"
+ }
+ },
+ "aggregateState": "PartiallySucceeded",
+ "perNodeExtensionDetails": [
+ {
+ "name": "Node-1",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1/Extensions/MicrosoftMonitoringAgent",
+ "state": "Succeeded",
+ "typeHandlerVersion": "1.10.0",
+ "instanceView": {
+ "name": "MicrosoftMonitoringAgent",
+ "type": "MicrosoftMonitoringAgent",
+ "typeHandlerVersion": "1.10.0",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "displayStatus": "Provisioning succeeded",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2019-08-08T20:42:10.999Z"
+ }
+ }
+ },
+ {
+ "name": "Node-2",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-2/Extensions/MicrosoftMonitoringAgent",
+ "state": "Failed",
+ "typeHandlerVersion": "1.10.3",
+ "instanceView": {
+ "name": "MicrosoftMonitoringAgent",
+ "type": "MicrosoftMonitoringAgent",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "error",
+ "level": "Error",
+ "displayStatus": "Provisioning failed",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2019-08-08T20:42:10.999Z"
+ }
+ }
+ }
+ ],
+ "managedBy": "User"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutSecuritySettings.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutSecuritySettings.json
new file mode 100644
index 000000000000..2f119926076e
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutSecuritySettings.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "securitySettingsName": "default",
+ "api-version": "2024-04-01",
+ "resource": {
+ "properties": {
+ "securedCoreComplianceAssignment": "Audit",
+ "wdacComplianceAssignment": "ApplyAndAutoCorrect",
+ "smbEncryptionForIntraClusterTrafficComplianceAssignment": "Audit"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/securitySettings/default",
+ "type": "Microsoft.AzureStackHCI/clusters/securitySettings",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "securedCoreComplianceAssignment": "Audit",
+ "wdacComplianceAssignment": "ApplyAndAutoCorrect",
+ "smbEncryptionForIntraClusterTrafficComplianceAssignment": "Audit",
+ "securityComplianceStatus": {
+ "securedCoreCompliance": "Compliant",
+ "wdacCompliance": "Compliant",
+ "dataAtRestEncrypted": "Compliant",
+ "dataInTransitProtected": "Compliant",
+ "lastUpdated": "2023-11-14T07:09:44.771Z"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/securitySettings/default",
+ "type": "Microsoft.AzureStackHCI/clusters/securitySettings",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "securedCoreComplianceAssignment": "Audit",
+ "wdacComplianceAssignment": "ApplyAndAutoCorrect",
+ "smbEncryptionForIntraClusterTrafficComplianceAssignment": "Audit",
+ "securityComplianceStatus": {
+ "securedCoreCompliance": "Compliant",
+ "wdacCompliance": "Compliant",
+ "dataAtRestEncrypted": "Compliant",
+ "dataInTransitProtected": "Compliant",
+ "lastUpdated": "2023-11-14T07:09:44.771Z"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutUpdateRuns.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutUpdateRuns.json
new file mode 100644
index 000000000000..cc20c3a4ddb1
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutUpdateRuns.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "b8d594e5-51f3-4c11-9c54-a7771b81c712",
+ "resourceGroupName": "testrg",
+ "clusterName": "testcluster",
+ "updateName": "Microsoft4.2203.2.32",
+ "updateRunName": "23b779ba-0d52-4a80-8571-45ca74664ec3",
+ "api-version": "2024-04-01",
+ "updateRunsProperties": {
+ "properties": {
+ "progress": {
+ "name": "Unnamed step",
+ "description": "Update Azure Stack.",
+ "errorMessage": "",
+ "status": "Success",
+ "startTimeUtc": "2022-04-06T01:36:33.3876751+00:00",
+ "endTimeUtc": "2022-04-06T13:58:42.969006+00:00",
+ "lastUpdatedTimeUtc": "2022-04-06T13:58:42.969006+00:00",
+ "steps": [
+ {
+ "name": "PreUpdate Cloud",
+ "description": "Prepare for SSU update",
+ "errorMessage": "",
+ "status": "Success",
+ "startTimeUtc": "2022-04-06T01:36:33.3876751+00:00",
+ "endTimeUtc": "2022-04-06T01:37:16.8728314+00:00",
+ "lastUpdatedTimeUtc": "2022-04-06T01:37:16.8728314+00:00",
+ "steps": []
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/b8d594e5-51f3-4c11-9c54-a7771b81c712/resourceGroups/testrg/providers/Microsoft.AzureStackHCI/clusters/testcluster/updates/Microsoft4.2203.2.32/updateRuns/23b779ba-0d52-4a80-8571-45ca74664ec3",
+ "name": "Microsoft4.2203.2.32/23b779ba-0d52-4a80-8571-45ca74664ec3",
+ "type": "Microsoft.AzureStackHCI/updates/updateRuns",
+ "location": "West US",
+ "properties": {
+ "progress": {
+ "name": "Unnamed step",
+ "description": "Update Azure Stack.",
+ "errorMessage": "",
+ "status": "Success",
+ "startTimeUtc": "2022-04-06T01:36:33.3876751+00:00",
+ "endTimeUtc": "2022-04-06T13:58:42.969006+00:00",
+ "lastUpdatedTimeUtc": "2022-04-06T13:58:42.969006+00:00",
+ "steps": [
+ {
+ "name": "PreUpdate Cloud",
+ "description": "Prepare for SSU update",
+ "errorMessage": "",
+ "status": "Success",
+ "startTimeUtc": "2022-04-06T01:36:33.3876751+00:00",
+ "endTimeUtc": "2022-04-06T01:37:16.8728314+00:00",
+ "lastUpdatedTimeUtc": "2022-04-06T01:37:16.8728314+00:00",
+ "steps": []
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutUpdateSummaries.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutUpdateSummaries.json
new file mode 100644
index 000000000000..77510c72ccf2
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutUpdateSummaries.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "b8d594e5-51f3-4c11-9c54-a7771b81c712",
+ "resourceGroupName": "testrg",
+ "clusterName": "testcluster",
+ "updateName": "Microsoft4.2203.2.32",
+ "api-version": "2024-04-01",
+ "updateLocationProperties": {
+ "properties": {
+ "oemFamily": "DellEMC",
+ "hardwareModel": "PowerEdge R730xd",
+ "lastChecked": "2022-04-07T18:04:07Z",
+ "currentVersion": "4.2203.2.32",
+ "lastUpdated": "2022-04-06T14:08:18.254Z",
+ "state": "AppliedSuccessfully"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/b8d594e5-51f3-4c11-9c54-a7771b81c712/resourceGroups/testrg/providers/Microsoft.AzureStackHCI/clusters/testcluster/updateSummaries/default",
+ "name": "default",
+ "type": "Microsoft.AzureStackHCI/updateSummaries",
+ "location": "West US",
+ "properties": {
+ "oemFamily": "DellEMC",
+ "hardwareModel": "PowerEdge R730xd",
+ "packageVersions": [
+ {
+ "packageType": "OEM",
+ "version": "2.2.2108.6",
+ "lastUpdated": "2022-04-07T18:04:07Z"
+ },
+ {
+ "packageType": "Services",
+ "version": "4.2203.2.32",
+ "lastUpdated": "2022-04-07T18:04:07Z"
+ },
+ {
+ "packageType": "Infrastructure",
+ "version": "4.2203.2.32",
+ "lastUpdated": "2022-04-07T18:04:07Z"
+ }
+ ],
+ "currentVersion": "4.2203.2.32",
+ "state": "AppliedSuccessfully"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutUpdates.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutUpdates.json
new file mode 100644
index 000000000000..7bfc2a7db950
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/PutUpdates.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "b8d594e5-51f3-4c11-9c54-a7771b81c712",
+ "resourceGroupName": "testrg",
+ "clusterName": "testcluster",
+ "updateName": "Microsoft4.2203.2.32",
+ "api-version": "2024-04-01",
+ "updateProperties": {
+ "properties": {
+ "installedDate": "2022-04-06T14:08:18.254Z",
+ "description": "AzS Update 4.2203.2.32",
+ "state": "Installed",
+ "prerequisites": [
+ {
+ "updateType": "update type",
+ "version": "prerequisite version",
+ "packageName": "update package name"
+ }
+ ],
+ "packagePath": "\\\\SU1FileServer\\SU1_Infrastructure_2\\Updates\\Packages\\Microsoft4.2203.2.32",
+ "packageSizeInMb": 18858,
+ "displayName": "AzS Update - 4.2203.2.32",
+ "version": "4.2203.2.32",
+ "publisher": "Microsoft",
+ "releaseLink": "https://docs.microsoft.com/azure-stack/operator/release-notes?view=azs-2203",
+ "availabilityType": "Local",
+ "packageType": "Infrastructure",
+ "updateStateProperties": {
+ "notifyMessage": "Brief message with instructions for updates of AvailabilityType Notify",
+ "progressPercentage": 0
+ },
+ "additionalProperties": "additional properties"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/b8d594e5-51f3-4c11-9c54-a7771b81c712/resourceGroups/testrg/providers/Microsoft.AzureStackHCI/clusters/testcluster/updates/Microsoft4.2203.2.32",
+ "name": "Microsoft4.2203.2.32",
+ "type": "Microsoft.AzureStackHCI/updates",
+ "location": "West US",
+ "properties": {
+ "installedDate": "2022-04-06T14:08:18.254Z",
+ "description": "AzS Update 4.2203.2.32",
+ "state": "Installed",
+ "prerequisites": [
+ {
+ "updateType": "update type",
+ "version": "prerequisite version",
+ "packageName": "update package name"
+ }
+ ],
+ "packagePath": "\\\\SU1FileServer\\SU1_Infrastructure_2\\Updates\\Packages\\Microsoft4.2203.2.32",
+ "packageSizeInMb": 18858,
+ "displayName": "AzS Update - 4.2203.2.32",
+ "version": "4.2203.2.32",
+ "publisher": "Microsoft",
+ "releaseLink": "https://docs.microsoft.com/azure-stack/operator/release-notes?view=azs-2203",
+ "availabilityType": "Local",
+ "packageType": "Infrastructure",
+ "updateStateProperties": {
+ "notifyMessage": "Brief message with instructions for updates of AvailabilityType Notify",
+ "progressPercentage": 0
+ },
+ "additionalProperties": "additional properties"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/TriggerLogCollection.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/TriggerLogCollection.json
new file mode 100644
index 000000000000..d03e3de6d2f7
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/TriggerLogCollection.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "mycluster",
+ "api-version": "2024-04-01",
+ "logCollectionRequest": {
+ "properties": {
+ "fromDate": "2020-01-01T17:18:19.1234567Z",
+ "toDate": "2021-01-01T17:18:19.1234567Z"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster",
+ "name": "myCluster",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "tags": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "ConnectedRecently",
+ "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
+ "cloudManagementEndpoint": "https://98294836-31be-4668-aeae-698667faf99b.waconazure.com",
+ "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "desiredProperties": {
+ "windowsServerSubscription": "Enabled",
+ "diagnosticLevel": "Basic"
+ },
+ "logCollectionProperties": {
+ "fromDate": "2020-01-01T17:18:19.1234567Z",
+ "toDate": "2021-01-01T17:18:19.1234567Z",
+ "lastLogGenerated": "2020-01-01T17:18:19.1234567Z",
+ "logCollectionSessionDetails": [
+ {
+ "logStartTime": "2020-01-01T17:18:19.1234567Z",
+ "logEndTime": "2020-01-01T17:18:19.1234567Z",
+ "timeCollected": "2020-01-01T17:18:19.1234567Z",
+ "logSize": 1000,
+ "logCollectionStatus": "Succeeded",
+ "logCollectionJobType": "OnDemand",
+ "correlationId": "a76ab33a-1819-4e82-1212-e3e4ec3d1425",
+ "endTimeCollected": "2020-01-01T17:25:19.1234567Z"
+ }
+ ]
+ },
+ "reportedProperties": {
+ "clusterName": "cluster1",
+ "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425",
+ "clusterVersion": "10.0.17777",
+ "nodes": [
+ {
+ "name": "Node1",
+ "id": 1,
+ "windowsServerSubscription": "Enabled",
+ "nodeType": "ThirdParty",
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q45CZC3",
+ "coreCount": 8,
+ "memoryInGiB": 128
+ }
+ ],
+ "lastUpdated": "2020-03-11T19:24:42.1946017Z",
+ "imdsAttestation": "Disabled",
+ "diagnosticLevel": "Basic"
+ },
+ "trialDaysRemaining": 30,
+ "billingModel": "Trial",
+ "registrationTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/UpdateCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/UpdateCluster.json
new file mode 100644
index 000000000000..67d4e6c28100
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/UpdateCluster.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-04-01",
+ "cluster": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "cloudManagementEndpoint": "https://98294836-31be-4668-aeae-698667faf99b.waconazure.com",
+ "desiredProperties": {
+ "windowsServerSubscription": "Enabled",
+ "diagnosticLevel": "Basic"
+ }
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster",
+ "name": "myCluster",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "identity": {
+ "principalId": "87a834db-2e45-409e-911b-e16a44562ec3",
+ "tenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "type": "SystemAssigned"
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "ConnectedRecently",
+ "connectivityStatus": "Connected",
+ "cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd",
+ "cloudManagementEndpoint": "https://98294836-31be-4668-aeae-698667faf99b.waconazure.com",
+ "aadClientId": "515da1c2-379e-49b4-9975-09e3e40c86be",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "desiredProperties": {
+ "windowsServerSubscription": "Enabled",
+ "diagnosticLevel": "Basic"
+ },
+ "isolatedVmAttestationConfiguration": {
+ "attestationResourceId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.Attestation/attestationProviders/testmaa",
+ "relyingPartyServiceEndpoint": "https://azurestackhci.azurefd.net/eastus",
+ "attestationServiceEndpoint": "https://dantestnoauth01.eus.attest.azure.net"
+ },
+ "reportedProperties": {
+ "clusterName": "cluster1",
+ "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425",
+ "clusterVersion": "10.0.17777",
+ "clusterType": "ThirdParty",
+ "manufacturer": "Dell Inc.",
+ "nodes": [
+ {
+ "name": "Node1",
+ "id": 1,
+ "windowsServerSubscription": "Enabled",
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q45CZC3",
+ "coreCount": 8,
+ "memoryInGiB": 128,
+ "lastLicensingTimestamp": "2020-03-11T19:24:42.1946017Z"
+ },
+ {
+ "name": "Node2",
+ "id": 2,
+ "windowsServerSubscription": "Enabled",
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44BSC3",
+ "coreCount": 8,
+ "memoryInGiB": 128,
+ "lastLicensingTimestamp": "2020-03-11T19:24:42.1946017Z"
+ },
+ {
+ "name": "Node3",
+ "id": 3,
+ "windowsServerSubscription": "Enabled",
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44RFC3",
+ "coreCount": 16,
+ "memoryInGiB": 256,
+ "lastLicensingTimestamp": "2020-03-11T19:24:42.1946017Z"
+ }
+ ],
+ "lastUpdated": "2020-03-11T19:24:42.1946017Z",
+ "imdsAttestation": "Disabled",
+ "diagnosticLevel": "Basic"
+ },
+ "trialDaysRemaining": 30,
+ "billingModel": "Trial",
+ "registrationTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/UploadCertificate.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/UploadCertificate.json
new file mode 100644
index 000000000000..d692e2aba2b5
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/UploadCertificate.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2024-04-01",
+ "uploadCertificateRequest": {
+ "properties": {
+ "certificates": [
+ "base64cert",
+ "base64cert"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ValidateEdgeDevices.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ValidateEdgeDevices.json
new file mode 100644
index 000000000000..50f99fda89c4
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/examples/ValidateEdgeDevices.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1",
+ "edgeDeviceName": "default",
+ "api-version": "2024-04-01",
+ "ValidateRequest": {
+ "edgeDeviceIds": [
+ "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-1/edgeDevices/default",
+ "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machines/Node-2/edgeDevices/default"
+ ],
+ "additionalInfo": "test"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://foo.com/operationStatuses"
+ }
+ },
+ "200": {
+ "body": {
+ "status": "success"
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/extensions.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/extensions.json
new file mode 100644
index 000000000000..19785514d95f
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/extensions.json
@@ -0,0 +1,707 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-04-01",
+ "title": "AzureStackHCI",
+ "description": "Azure Stack HCI management service"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}/extensions": {
+ "get": {
+ "operationId": "Extensions_ListByArcSetting",
+ "description": "List all Extensions under ArcSetting resource.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExtensionList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Extensions under ArcSetting resource": {
+ "$ref": "./examples/ListExtensionsByArcSetting.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}/extensions/{extensionName}": {
+ "get": {
+ "operationId": "Extensions_Get",
+ "description": "Get particular Arc Extension of HCI Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get ArcSettings Extension": {
+ "$ref": "./examples/GetExtension.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "Extensions_Create",
+ "description": "Create Extension for HCI cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionNameParameter"
+ },
+ {
+ "name": "extension",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ },
+ "description": "Details of the Machine Extension to be created."
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Succeeded",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Create Arc Extension": {
+ "$ref": "./examples/PutExtension.json"
+ }
+ }
+ },
+ "patch": {
+ "operationId": "Extensions_Update",
+ "description": "Update Extension for HCI cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionNameParameter"
+ },
+ {
+ "name": "extension",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExtensionPatch"
+ },
+ "description": "Details of the Machine Extension to be created."
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "original-uri"
+ },
+ "x-ms-examples": {
+ "Update Arc Extension": {
+ "$ref": "./examples/PatchExtension.json"
+ }
+ }
+ },
+ "delete": {
+ "operationId": "Extensions_Delete",
+ "description": "Delete particular Arc Extension of HCI Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Delete Arc Extension": {
+ "$ref": "./examples/DeleteExtension.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}/extensions/{extensionName}/upgrade": {
+ "post": {
+ "operationId": "Extensions_Upgrade",
+ "description": "Upgrade a particular Arc Extension of HCI Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionNameParameter"
+ },
+ {
+ "name": "extensionUpgradeParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExtensionUpgradeParameters"
+ },
+ "description": "Parameters supplied to the Upgrade Extensions operation."
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Upgrade Machine Extensions": {
+ "$ref": "./examples/Extensions_Upgrade.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Extension": {
+ "description": "Details of a particular extension in HCI Cluster.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Describes Machine Extension Properties.",
+ "$ref": "#/definitions/ExtensionProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ExtensionPatch": {
+ "description": "Extension Details to update",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Describes Machine Extension Properties that can be updated.",
+ "$ref": "#/definitions/ExtensionPatchProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ExtensionProperties": {
+ "description": "Status of Arc Extension for a particular node in HCI Cluster.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the Extension proxy resource.",
+ "type": "string",
+ "enum": [
+ "NotSpecified",
+ "Error",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Connected",
+ "Disconnected",
+ "Deleted",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Moving",
+ "PartiallySucceeded",
+ "PartiallyConnected",
+ "InProgress",
+ "Accepted",
+ "Provisioning"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "extensionParameters": {
+ "description": "Parameters specific to this extension type.",
+ "$ref": "#/definitions/ExtensionParameters",
+ "x-ms-client-flatten": true
+ },
+ "aggregateState": {
+ "description": "Aggregate state of Arc Extensions across the nodes in this HCI cluster.",
+ "type": "string",
+ "enum": [
+ "NotSpecified",
+ "Error",
+ "Succeeded",
+ "Canceled",
+ "Failed",
+ "Connected",
+ "Disconnected",
+ "Deleted",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Moving",
+ "PartiallySucceeded",
+ "PartiallyConnected",
+ "InProgress",
+ "Accepted",
+ "Provisioning",
+ "UpgradeFailedRollbackSucceeded"
+ ],
+ "x-ms-enum": {
+ "name": "ExtensionAggregateState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "perNodeExtensionDetails": {
+ "description": "State of Arc Extension in each of the nodes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PerNodeExtensionState"
+ },
+ "readOnly": true
+ },
+ "managedBy": {
+ "description": "Indicates if the extension is managed by azure or the user.",
+ "type": "string",
+ "enum": [
+ "Azure",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "ExtensionManagedBy",
+ "modelAsString": true
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ExtensionPatchProperties": {
+ "description": "Describes Machine Extension Properties that can be updated.",
+ "type": "object",
+ "properties": {
+ "extensionParameters": {
+ "description": "Describes the properties of a Machine Extension that can be updated.",
+ "$ref": "#/definitions/ExtensionPatchParameters"
+ }
+ }
+ },
+ "ExtensionPatchParameters": {
+ "description": "Describes the properties of a Machine Extension that can be updated.",
+ "type": "object",
+ "properties": {
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler. Latest version would be used if not specified."
+ },
+ "enableAutomaticUpgrade": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "Protected settings (may contain secrets).",
+ "x-ms-secret": true
+ }
+ }
+ },
+ "PerNodeExtensionState": {
+ "description": "Status of Arc Extension for a particular node in HCI Cluster.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the node in HCI Cluster.",
+ "type": "string",
+ "readOnly": true
+ },
+ "extension": {
+ "description": "Fully qualified resource ID for the particular Arc Extension on this node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler.",
+ "readOnly": true
+ },
+ "state": {
+ "description": "State of Arc Extension in this node.",
+ "type": "string",
+ "enum": [
+ "NotSpecified",
+ "Error",
+ "Succeeded",
+ "Canceled",
+ "Failed",
+ "Connected",
+ "Disconnected",
+ "Deleted",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Moving",
+ "PartiallySucceeded",
+ "PartiallyConnected",
+ "InProgress",
+ "Accepted",
+ "Provisioning"
+ ],
+ "x-ms-enum": {
+ "name": "NodeExtensionState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "instanceView": {
+ "$ref": "#/definitions/ExtensionInstanceView",
+ "description": "The extension instance view.",
+ "readOnly": true
+ }
+ }
+ },
+ "ExtensionList": {
+ "description": "List of Extensions in HCI cluster.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of Extensions in HCI cluster.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Extension"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ExtensionParameters": {
+ "description": "Describes the properties of a Machine Extension. This object mirrors the definition in HybridCompute.",
+ "type": "object",
+ "properties": {
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "How the extension handler should be forced to update even if the extension configuration has not changed."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler. Latest version would be used if not specified."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "Protected settings (may contain secrets).",
+ "x-ms-secret": true
+ },
+ "enableAutomaticUpgrade": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available."
+ }
+ }
+ },
+ "ExtensionInstanceView": {
+ "type": "object",
+ "description": "Describes the Extension Instance View.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The extension name."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"MicrosoftMonitoringAgent\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "status": {
+ "type": "object",
+ "description": "Instance view status.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The status code."
+ },
+ "level": {
+ "type": "string",
+ "description": "The level code.",
+ "enum": [
+ "Info",
+ "Warning",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "StatusLevelTypes",
+ "modelAsString": true
+ }
+ },
+ "displayStatus": {
+ "type": "string",
+ "description": "The short localizable label for the status."
+ },
+ "message": {
+ "type": "string",
+ "description": "The detailed status message, including for alerts and error messages."
+ },
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time of the status."
+ }
+ }
+ }
+ }
+ },
+ "ExtensionUpgradeParameters": {
+ "type": "object",
+ "description": "Describes the parameters for Extension upgrade.",
+ "properties": {
+ "targetVersion": {
+ "type": "string",
+ "description": "Extension Upgrade Target Version."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the cluster.",
+ "x-ms-parameter-location": "method"
+ },
+ "ArcSettingNameParameter": {
+ "name": "arcSettingName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the proxy resource holding details of HCI ArcSetting information.",
+ "x-ms-parameter-location": "method"
+ },
+ "ExtensionNameParameter": {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/hciCommon.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/hciCommon.json
new file mode 100644
index 000000000000..34c37faa08a0
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/hciCommon.json
@@ -0,0 +1,367 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AzureStackHCI Common",
+ "version": "2024-04-01",
+ "description": "Azure Stack HCI common Rest API spec definitions."
+ },
+ "schemes": [
+ "https"
+ ],
+ "host": "management.azure.com",
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "tags": [],
+ "paths": {},
+ "definitions": {
+ "DeploymentMode": {
+ "type": "string",
+ "description": "The deployment mode of EnterpriseCloudEngine(ECE) action for a cluster.",
+ "enum": [
+ "Validate",
+ "Deploy"
+ ],
+ "default": "Deploy",
+ "x-ms-enum": {
+ "name": "DeploymentMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "Validate",
+ "value": "Validate",
+ "description": "Validate ECE action deployment for a cluster."
+ },
+ {
+ "name": "Deploy",
+ "value": "Deploy",
+ "description": "Deploy ECE action deployment for a cluster."
+ }
+ ]
+ }
+ },
+ "EceReportedProperties": {
+ "type": "object",
+ "description": "The DeploymentStatus of AzureStackHCI Cluster.",
+ "properties": {
+ "validationStatus": {
+ "$ref": "#/definitions/EceActionStatus",
+ "description": "validation status of AzureStackHCI Cluster Deployment.",
+ "readOnly": true
+ },
+ "deploymentStatus": {
+ "$ref": "#/definitions/EceActionStatus",
+ "description": "Deployment status of AzureStackHCI Cluster Deployment.",
+ "readOnly": true
+ }
+ }
+ },
+ "EceActionStatus": {
+ "type": "object",
+ "description": "The ECE action plan deployment status for AzureStackHCI Cluster.",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Status of ECE action AzureStackHCI Cluster Deployment.",
+ "readOnly": true
+ },
+ "steps": {
+ "type": "array",
+ "description": "List of steps of AzureStackHCI Cluster Deployment.",
+ "items": {
+ "$ref": "#/definitions/DeploymentStep"
+ },
+ "readOnly": true,
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "ProvisioningState": {
+ "type": "string",
+ "description": "The provisioning state of a resource.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "NotSpecified",
+ "Provisioning",
+ "Updating",
+ "Deleting",
+ "Accepted"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "Succeeded",
+ "value": "Succeeded",
+ "description": "Resource has been created."
+ },
+ {
+ "name": "Failed",
+ "value": "Failed",
+ "description": "Resource creation failed."
+ },
+ {
+ "name": "Canceled",
+ "value": "Canceled",
+ "description": "Resource creation was canceled."
+ },
+ {
+ "name": "NotSpecified",
+ "value": "NotSpecified",
+ "description": "The resource provision state is not specified"
+ },
+ {
+ "name": "Provisioning",
+ "value": "Provisioning",
+ "description": "The resource is being provisioned"
+ },
+ {
+ "name": "Updating",
+ "value": "Updating",
+ "description": "The resource is updating"
+ },
+ {
+ "name": "Deleting",
+ "value": "Deleting",
+ "description": "The resource is being deleted"
+ },
+ {
+ "name": "Accepted",
+ "value": "Accepted",
+ "description": "The resource create request has been accepted"
+ }
+ ]
+ }
+ },
+ "EceDeploymentSecrets": {
+ "type": "object",
+ "description": "Protected parameters list stored in keyvault.",
+ "properties": {
+ "secretName": {
+ "type": "string",
+ "description": "Secret name stored in keyvault."
+ },
+ "eceSecretName": {
+ "$ref": "#/definitions/EceSecrets",
+ "description": "Secret name expected for Enterprise Cloud Engine (ECE) deployment."
+ },
+ "secretLocation": {
+ "type": "string",
+ "format": "uri",
+ "description": "Secret URI stored in keyvault."
+ }
+ }
+ },
+ "EceSecrets": {
+ "type": "string",
+ "description": "Secret names allowed for Enterprise Cloud Engine (ECE) deployment.",
+ "enum": [
+ "AzureStackLCMUserCredential",
+ "DefaultARBApplication",
+ "LocalAdminCredential",
+ "WitnessStorageKey"
+ ],
+ "x-ms-enum": {
+ "name": "EceSecrets",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "AzureStackLCMUserCredential",
+ "value": "AzureStackLCMUserCredential",
+ "description": "AzureStackLCMUserCredential used for LCM operations for AzureStackHCI cluster."
+ },
+ {
+ "name": "DefaultARBApplication",
+ "value": "DefaultARBApplication",
+ "description": "DefaultARBApplication used to manage Azure Arc resource bridge (ARB) for AzureStackHCI cluster."
+ },
+ {
+ "name": "LocalAdminCredential",
+ "value": "LocalAdminCredential",
+ "description": "LocalAdminCredential used for admin operations for AzureStackHCI cluster."
+ },
+ {
+ "name": "WitnessStorageKey",
+ "value": "WitnessStorageKey",
+ "description": "WitnessStorageKey used for setting up a cloud witness for AzureStackHCI cluster."
+ }
+ ]
+ }
+ },
+ "DeploymentStep": {
+ "type": "object",
+ "description": "The Step of AzureStackHCI Cluster.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of step.",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of step.",
+ "readOnly": true
+ },
+ "fullStepIndex": {
+ "type": "string",
+ "description": "FullStepIndex of step.",
+ "readOnly": true
+ },
+ "startTimeUtc": {
+ "type": "string",
+ "description": "Start time of step.",
+ "readOnly": true
+ },
+ "endTimeUtc": {
+ "type": "string",
+ "description": "End time of step.",
+ "readOnly": true
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of step. Allowed values are 'Error', 'Success', 'InProgress'",
+ "readOnly": true
+ },
+ "steps": {
+ "type": "array",
+ "description": "List of nested steps of AzureStackHCI Cluster Deployment.",
+ "items": {
+ "$ref": "#/definitions/DeploymentStep"
+ },
+ "readOnly": true,
+ "x-ms-identifiers": []
+ },
+ "exception": {
+ "type": "array",
+ "description": "List of exceptions in AzureStackHCI Cluster Deployment.",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "PrecheckResult": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the individual test/rule/alert that was executed. Unique, not exposed to the customer.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "The health check DisplayName localized of the individual test executed.",
+ "type": "string"
+ },
+ "tags": {
+ "description": "Key-value pairs that allow grouping/filtering individual tests.",
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "Key that allow grouping/filtering individual tests.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Value of the key that allow grouping/filtering individual tests.",
+ "type": "string"
+ }
+ }
+ },
+ "healthCheckTags": {
+ "description": "Key-value pairs that allow grouping/filtering individual tests.",
+ "type": "object"
+ },
+ "title": {
+ "description": "User-facing name; one or more sentences indicating the direct issue.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status of the check running (i.e. Failed, Succeeded, In Progress). This answers whether the check ran, and passed or failed.",
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "InProgress"
+ ],
+ "x-ms-enum": {
+ "name": "status",
+ "modelAsString": true
+ }
+ },
+ "severity": {
+ "description": "Severity of the result (Critical, Warning, Informational, Hidden). This answers how important the result is. Critical is the only update-blocking severity.",
+ "type": "string",
+ "enum": [
+ "Critical",
+ "Warning",
+ "Informational",
+ "Hidden"
+ ],
+ "x-ms-enum": {
+ "name": "severity",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "description": "Detailed overview of the issue and what impact the issue has on the stamp.",
+ "type": "string"
+ },
+ "remediation": {
+ "description": "Set of steps that can be taken to resolve the issue found.",
+ "type": "string"
+ },
+ "targetResourceID": {
+ "description": "The unique identifier for the affected resource (such as a node or drive).",
+ "type": "string"
+ },
+ "targetResourceName": {
+ "description": "The name of the affected resource.",
+ "type": "string"
+ },
+ "targetResourceType": {
+ "description": "The type of resource being referred to (well-known set of nouns in infrastructure, aligning with Monitoring).",
+ "type": "string"
+ },
+ "timestamp": {
+ "description": "The time in which the HealthCheck was called.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "additionalData": {
+ "description": "Property bag of key value pairs for additional information.",
+ "type": "string"
+ },
+ "healthCheckSource": {
+ "description": "The name of the services called for the HealthCheck (I.E. Test-AzureStack, Test-Cluster).",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/offers.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/offers.json
new file mode 100644
index 000000000000..625d8cc75503
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/offers.json
@@ -0,0 +1,302 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-04-01",
+ "title": "AzureStackHCI",
+ "description": "Azure Stack HCI management service"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/publishers/{publisherName}/offers": {
+ "get": {
+ "operationId": "Offers_ListByPublisher",
+ "description": "List Offers available for a publisher within the HCI Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PublisherNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ODataExpandParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OfferList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Offer resources by publisher for the HCI Cluster": {
+ "$ref": "./examples/ListOffersByPublisher.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/offers": {
+ "get": {
+ "operationId": "Offers_ListByCluster",
+ "description": "List Offers available across publishers for the HCI Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ODataExpandParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OfferList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Offer resources by HCI Cluster": {
+ "$ref": "./examples/ListOffersByCluster.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/publishers/{publisherName}/offers/{offerName}": {
+ "get": {
+ "operationId": "Offers_Get",
+ "description": "Get Offer resource details within a publisher of HCI Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PublisherNameParameter"
+ },
+ {
+ "$ref": "#/parameters/OfferNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ODataExpandParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Offer"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Offer": {
+ "$ref": "./examples/GetOffer.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OfferList": {
+ "description": "List of Offer proxy resources for the HCI cluster.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of Offer proxy resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Offer"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Offer": {
+ "description": "Offer details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Offer properties.",
+ "$ref": "#/definitions/OfferProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OfferProperties": {
+ "description": "Publisher properties.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning State",
+ "type": "string",
+ "readOnly": true
+ },
+ "publisherId": {
+ "type": "string",
+ "description": "Identifier of the Publisher for the offer"
+ },
+ "content": {
+ "type": "string",
+ "description": "JSON serialized catalog content of the offer"
+ },
+ "contentVersion": {
+ "type": "string",
+ "description": "The API version of the catalog service used to serve the catalog content"
+ },
+ "skuMappings": {
+ "type": "array",
+ "description": "Array of SKU mappings",
+ "items": {
+ "$ref": "#/definitions/SkuMappings"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "SkuMappings": {
+ "description": "SKU Mapping details.",
+ "type": "object",
+ "properties": {
+ "catalogPlanId": {
+ "type": "string",
+ "description": "Identifier of the CatalogPlan for the sku"
+ },
+ "marketplaceSkuId": {
+ "type": "string",
+ "description": "Identifier for the sku"
+ },
+ "marketplaceSkuVersions": {
+ "type": "array",
+ "description": "Array of SKU versions available",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the cluster.",
+ "x-ms-parameter-location": "method"
+ },
+ "PublisherNameParameter": {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the publisher available within HCI cluster.",
+ "x-ms-parameter-location": "method"
+ },
+ "OfferNameParameter": {
+ "name": "offerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the offer available within HCI cluster.",
+ "x-ms-parameter-location": "method"
+ },
+ "ODataExpandParameter": {
+ "name": "$expand",
+ "in": "query",
+ "description": "Specify $expand=content,contentVersion to populate additional fields related to the marketplace offer.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/publishers.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/publishers.json
new file mode 100644
index 000000000000..8d9d8c910e64
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/publishers.json
@@ -0,0 +1,188 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-04-01",
+ "title": "AzureStackHCI",
+ "description": "Azure Stack HCI management service"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/publishers": {
+ "get": {
+ "operationId": "Publishers_ListByCluster",
+ "description": "List Publishers available for the HCI Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PublisherList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Publisher resources by HCI Cluster": {
+ "$ref": "./examples/ListPublishersByCluster.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/publishers/{publisherName}": {
+ "get": {
+ "operationId": "Publishers_Get",
+ "description": "Get Publisher resource details of HCI Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PublisherNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Publisher"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Publisher": {
+ "$ref": "./examples/GetPublisher.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PublisherList": {
+ "description": "List of Publisher proxy resources for the HCI cluster.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of Publisher proxy resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Publisher"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Publisher": {
+ "description": "Publisher details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Publisher properties.",
+ "$ref": "#/definitions/PublisherProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PublisherProperties": {
+ "description": "Publisher properties.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning State",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the cluster.",
+ "x-ms-parameter-location": "method"
+ },
+ "PublisherNameParameter": {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the publisher available within HCI cluster.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/securitySettings.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/securitySettings.json
new file mode 100644
index 000000000000..9aa0e1f57b62
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/securitySettings.json
@@ -0,0 +1,502 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AzureStackHCI",
+ "version": "2024-04-01",
+ "description": "Azure Stack HCI cluster security settings."
+ },
+ "schemes": [
+ "https"
+ ],
+ "host": "management.azure.com",
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "tags": [
+ {
+ "name": "SecuritySettings"
+ }
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/securitySettings": {
+ "get": {
+ "operationId": "SecuritySettings_ListByClusters",
+ "tags": [
+ "SecuritySettings"
+ ],
+ "description": "List SecuritySetting resources by Clusters",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SecuritySettingListResult"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Security Settings": {
+ "$ref": "./examples/ListSecuritySettingsByCluster.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/securitySettings/{securitySettingsName}": {
+ "get": {
+ "operationId": "SecuritySettings_Get",
+ "tags": [
+ "SecuritySettings"
+ ],
+ "description": "Get a SecuritySetting",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "securitySettingsName",
+ "in": "path",
+ "description": "Name of security setting",
+ "required": true,
+ "type": "string",
+ "default": "default",
+ "pattern": "^[a-zA-Z0-9-]{3,24}$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ARM operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SecuritySetting"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Security Settings": {
+ "$ref": "./examples/GetSecuritySettings.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "SecuritySettings_CreateOrUpdate",
+ "tags": [
+ "SecuritySettings"
+ ],
+ "description": "Create a security setting",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "securitySettingsName",
+ "in": "path",
+ "description": "Name of security setting",
+ "required": true,
+ "type": "string",
+ "default": "default",
+ "pattern": "^[a-zA-Z0-9-]{3,24}$"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "description": "Resource create parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SecuritySetting"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Resource 'SecuritySetting' update operation succeeded",
+ "schema": {
+ "$ref": "#/definitions/SecuritySetting"
+ }
+ },
+ "201": {
+ "description": "Resource 'SecuritySetting' create operation succeeded",
+ "schema": {
+ "$ref": "#/definitions/SecuritySetting"
+ },
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ }
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create Security Settings": {
+ "$ref": "./examples/PutSecuritySettings.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "SecuritySettings_Delete",
+ "tags": [
+ "SecuritySettings"
+ ],
+ "description": "Delete a SecuritySetting",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "securitySettingsName",
+ "in": "path",
+ "description": "Name of security setting",
+ "required": true,
+ "type": "string",
+ "default": "default",
+ "pattern": "^[a-zA-Z0-9-]{3,24}$"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Resource deletion accepted.",
+ "headers": {
+ "Retry-After": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
+ },
+ "Location": {
+ "type": "string",
+ "description": "The Location header contains the URL where the status of the long running operation can be checked."
+ }
+ }
+ },
+ "204": {
+ "description": "Resource deleted successfully."
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Security Settings": {
+ "$ref": "./examples/DeleteSecuritySettings.json"
+ }
+ },
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-long-running-operation": true
+ }
+ }
+ },
+ "definitions": {
+ "ComplianceAssignmentType": {
+ "type": "string",
+ "description": "Represents the compliance assignment type of a resource.",
+ "enum": [
+ "Audit",
+ "ApplyAndAutoCorrect"
+ ],
+ "x-ms-enum": {
+ "name": "ComplianceAssignmentType",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "Audit",
+ "value": "Audit",
+ "description": "Report on the state of the machine, but don't make changes."
+ },
+ {
+ "name": "ApplyAndAutoCorrect",
+ "value": "ApplyAndAutoCorrect",
+ "description": "Applied to the machine. If it drifts, the local service inside the machine makes a correction at the next evaluation."
+ }
+ ]
+ }
+ },
+ "ComplianceStatus": {
+ "type": "string",
+ "description": "Represents the compliance status of a resource.",
+ "enum": [
+ "Compliant",
+ "NonCompliant",
+ "Pending"
+ ],
+ "x-ms-enum": {
+ "name": "ComplianceStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "Compliant",
+ "value": "Compliant",
+ "description": "The resource is compliant"
+ },
+ {
+ "name": "NonCompliant",
+ "value": "NonCompliant",
+ "description": "The resource is non-compliant"
+ },
+ {
+ "name": "Pending",
+ "value": "Pending",
+ "description": "The resource compliance status is pending"
+ }
+ ]
+ }
+ },
+ "ProvisioningState": {
+ "type": "string",
+ "description": "The provisioning state of a resource.",
+ "readOnly": true,
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Provisioning",
+ "Updating",
+ "Deleting",
+ "Accepted"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "Succeeded",
+ "value": "Succeeded",
+ "description": "Resource has been created."
+ },
+ {
+ "name": "Failed",
+ "value": "Failed",
+ "description": "Resource creation failed."
+ },
+ {
+ "name": "Canceled",
+ "value": "Canceled",
+ "description": "Resource creation was canceled."
+ },
+ {
+ "name": "Provisioning",
+ "value": "Provisioning",
+ "description": "The resource is being provisioned"
+ },
+ {
+ "name": "Updating",
+ "value": "Updating",
+ "description": "The resource is updating"
+ },
+ {
+ "name": "Deleting",
+ "value": "Deleting",
+ "description": "The resource is being deleted"
+ },
+ {
+ "name": "Accepted",
+ "value": "Accepted",
+ "description": "The resource create request has been accepted"
+ }
+ ]
+ }
+ },
+ "SecurityComplianceStatus": {
+ "type": "object",
+ "description": "Security compliance properties of the resource",
+ "properties": {
+ "securedCoreCompliance": {
+ "$ref": "#/definitions/ComplianceStatus",
+ "description": "Indicates whether HCI hosts meets secured-core server requirements.",
+ "readOnly": true
+ },
+ "wdacCompliance": {
+ "$ref": "#/definitions/ComplianceStatus",
+ "description": "Indicates whether HCI hosts have enforced consistent Windows Defender Application Control.",
+ "readOnly": true
+ },
+ "dataAtRestEncrypted": {
+ "$ref": "#/definitions/ComplianceStatus",
+ "description": "Indicates whether data at-rest encryption is enabled on Azure Stack HCI clustered volumes.",
+ "readOnly": true
+ },
+ "dataInTransitProtected": {
+ "$ref": "#/definitions/ComplianceStatus",
+ "description": "Indicates whether HCI cluster has data in-transit protection.",
+ "readOnly": true
+ },
+ "lastUpdated": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time in UTC when compliance status was last updated.",
+ "readOnly": true
+ }
+ }
+ },
+ "SecurityProperties": {
+ "type": "object",
+ "description": "Security properties of the resource",
+ "properties": {
+ "securedCoreComplianceAssignment": {
+ "$ref": "#/definitions/ComplianceAssignmentType",
+ "description": "Secured Core Compliance Assignment",
+ "default": "Audit"
+ },
+ "wdacComplianceAssignment": {
+ "$ref": "#/definitions/ComplianceAssignmentType",
+ "description": "WDAC Compliance Assignment",
+ "default": "Audit"
+ },
+ "smbEncryptionForIntraClusterTrafficComplianceAssignment": {
+ "$ref": "#/definitions/ComplianceAssignmentType",
+ "description": "SMB encryption for intra-cluster traffic Compliance Assignment",
+ "default": "Audit"
+ },
+ "securityComplianceStatus": {
+ "$ref": "#/definitions/SecurityComplianceStatus",
+ "description": "Security Compliance Status",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The status of the last operation."
+ }
+ }
+ },
+ "SecuritySetting": {
+ "type": "object",
+ "description": "Security settings proxy resource",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SecurityProperties",
+ "description": "The resource-specific properties for this resource.",
+ "x-ms-client-flatten": true,
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "SecuritySettingListResult": {
+ "type": "object",
+ "description": "The response of a SecuritySetting list operation.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "The SecuritySetting items on this page",
+ "items": {
+ "$ref": "#/definitions/SecuritySetting"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "format": "uri",
+ "description": "The link to the next page of items"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ }
+ },
+ "parameters": {
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the cluster.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/skus.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/skus.json
new file mode 100644
index 000000000000..52b4b78a094e
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/skus.json
@@ -0,0 +1,275 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-04-01",
+ "title": "AzureStackHCI",
+ "description": "Azure Stack HCI management service"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/publishers/{publisherName}/offers/{offerName}/skus": {
+ "get": {
+ "operationId": "Skus_ListByOffer",
+ "description": "List Skus available for a offer within the HCI Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PublisherNameParameter"
+ },
+ {
+ "$ref": "#/parameters/OfferNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ODataExpandParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SkuList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List SKU resources by offer for the HCI Cluster": {
+ "$ref": "./examples/ListSkusByOffer.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/publishers/{publisherName}/offers/{offerName}/skus/{skuName}": {
+ "get": {
+ "operationId": "Skus_Get",
+ "description": "Get SKU resource details within a offer of HCI Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PublisherNameParameter"
+ },
+ {
+ "$ref": "#/parameters/OfferNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SkuNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ODataExpandParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Sku"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Sku": {
+ "$ref": "./examples/GetSku.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SkuList": {
+ "description": "List of SKU proxy resources for the HCI cluster.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of SKU proxy resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Sku"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Sku": {
+ "description": "Sku details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "SKU properties.",
+ "$ref": "#/definitions/SkuProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "SkuProperties": {
+ "description": "SKU properties.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning State",
+ "type": "string",
+ "readOnly": true
+ },
+ "publisherId": {
+ "type": "string",
+ "description": "Identifier of the Publisher for the offer"
+ },
+ "offerId": {
+ "type": "string",
+ "description": "Identifier of the Offer for the sku"
+ },
+ "content": {
+ "type": "string",
+ "description": "JSON serialized catalog content of the sku offer"
+ },
+ "contentVersion": {
+ "type": "string",
+ "description": "The API version of the catalog service used to serve the catalog content"
+ },
+ "skuMappings": {
+ "type": "array",
+ "description": "Array of SKU mappings",
+ "items": {
+ "$ref": "#/definitions/SkuMappings"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "SkuMappings": {
+ "description": "SKU Mapping details.",
+ "type": "object",
+ "properties": {
+ "catalogPlanId": {
+ "type": "string",
+ "description": "Identifier of the CatalogPlan for the sku"
+ },
+ "marketplaceSkuId": {
+ "type": "string",
+ "description": "Identifier for the sku"
+ },
+ "marketplaceSkuVersions": {
+ "type": "array",
+ "description": "Array of SKU versions available",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the cluster.",
+ "x-ms-parameter-location": "method"
+ },
+ "PublisherNameParameter": {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the publisher available within HCI cluster.",
+ "x-ms-parameter-location": "method"
+ },
+ "OfferNameParameter": {
+ "name": "offerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the offer available within HCI cluster.",
+ "x-ms-parameter-location": "method"
+ },
+ "SkuNameParameter": {
+ "name": "skuName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the SKU available within HCI cluster.",
+ "x-ms-parameter-location": "method"
+ },
+ "ODataExpandParameter": {
+ "name": "$expand",
+ "in": "query",
+ "description": "Specify $expand=content,contentVersion to populate additional fields related to the marketplace offer.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/updateRuns.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/updateRuns.json
new file mode 100644
index 000000000000..8fd1968a9c61
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/updateRuns.json
@@ -0,0 +1,412 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-04-01",
+ "title": "AzureStackHCI",
+ "description": "Azure Stack HCI management service"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/updates/{updateName}/updateRuns": {
+ "get": {
+ "operationId": "UpdateRuns_List",
+ "description": "List all Update runs for a specified update",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UpdateNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UpdateRunList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Update runs under cluster resource": {
+ "$ref": "./examples/ListUpdateRuns.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/updates/{updateName}/updateRuns/{updateRunName}": {
+ "delete": {
+ "operationId": "UpdateRuns_Delete",
+ "description": "Delete specified Update Run",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UpdateNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UpdateRunNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "ACCEPTED",
+ "headers": {
+ "Azure-AsyncOperation": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Delete an Update": {
+ "$ref": "./examples/DeleteUpdateRuns.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "UpdateRuns_Put",
+ "description": "Put Update runs for a specified update",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UpdateNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UpdateRunNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateRunsProperties",
+ "in": "body",
+ "description": "Properties of the updateRuns object",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateRun"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UpdateRun"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Update runs under cluster resource": {
+ "$ref": "./examples/PutUpdateRuns.json"
+ }
+ }
+ },
+ "get": {
+ "operationId": "UpdateRuns_Get",
+ "description": "Get the Update run for a specified update",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UpdateNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UpdateRunNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UpdateRun"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Update runs under cluster resource": {
+ "$ref": "./examples/GetUpdateRuns.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "UpdateRunList": {
+ "description": "List of Update runs",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of Update runs",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UpdateRun"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateRun": {
+ "description": "Details of an Update run",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "The geo-location where the resource lives"
+ },
+ "properties": {
+ "description": "Describes Update Run Properties.",
+ "$ref": "#/definitions/UpdateRunProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UpdateRunProperties": {
+ "description": "Details of an Update run",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the UpdateRuns proxy resource.",
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Accepted",
+ "Provisioning"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "timeStarted": {
+ "description": "Timestamp of the update run was started.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "lastUpdatedTime": {
+ "description": "Timestamp of the most recently completed step in the update run.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "duration": {
+ "description": "Duration of the update run.",
+ "type": "string"
+ },
+ "state": {
+ "description": "State of the update run.",
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Succeeded",
+ "InProgress",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "updateRunPropertiesState",
+ "modelAsString": true
+ }
+ },
+ "progress": {
+ "description": "Progress representation of the update run steps.",
+ "$ref": "#/definitions/Step",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "Step": {
+ "description": "Progress representation of the update run steps.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the step.",
+ "type": "string"
+ },
+ "description": {
+ "description": "More detailed description of the step.",
+ "type": "string"
+ },
+ "errorMessage": {
+ "description": "Error message, specified if the step is in a failed state.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Status of the step, bubbled up from the ECE action plan for installation attempts. Values are: 'Success', 'Error', 'InProgress', and 'Unknown status'.",
+ "type": "string"
+ },
+ "startTimeUtc": {
+ "description": "When the step started, or empty if it has not started executing.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "endTimeUtc": {
+ "description": "When the step reached a terminal state.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "lastUpdatedTimeUtc": {
+ "description": "Completion time of this step or the last completed sub-step.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "expectedExecutionTime": {
+ "description": "Expected execution time of a given step. This is optionally authored in the update action plan and can be empty.",
+ "type": "string"
+ },
+ "steps": {
+ "description": "Recursive model for child steps of this step.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Step"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the cluster.",
+ "x-ms-parameter-location": "method"
+ },
+ "UpdateNameParameter": {
+ "name": "updateName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Update",
+ "x-ms-parameter-location": "method"
+ },
+ "UpdateRunNameParameter": {
+ "name": "updateRunName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Update Run",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/updateSummaries.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/updateSummaries.json
new file mode 100644
index 000000000000..c928efca442f
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/updateSummaries.json
@@ -0,0 +1,408 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-04-01",
+ "title": "AzureStackHCI",
+ "description": "Azure Stack HCI management service"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/updateSummaries": {
+ "get": {
+ "operationId": "UpdateSummaries_List",
+ "description": "List all Update summaries under the HCI cluster",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UpdateSummariesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Update summaries under cluster resource": {
+ "$ref": "./examples/ListUpdateSummaries.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/updateSummaries/default": {
+ "delete": {
+ "operationId": "UpdateSummaries_Delete",
+ "description": "Delete Update Summaries",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "ACCEPTED",
+ "headers": {
+ "Azure-AsyncOperation": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Delete an Update": {
+ "$ref": "./examples/DeleteUpdateSummaries.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "UpdateSummaries_Put",
+ "description": "Put Update summaries under the HCI cluster",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateLocationProperties",
+ "in": "body",
+ "description": "Properties of the UpdateSummaries resource",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateSummaries"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UpdateSummaries"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Put Update summaries under cluster resource": {
+ "$ref": "./examples/PutUpdateSummaries.json"
+ }
+ }
+ },
+ "get": {
+ "operationId": "UpdateSummaries_Get",
+ "description": "Get all Update summaries under the HCI cluster",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UpdateSummaries"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Update summaries under cluster resource": {
+ "$ref": "./examples/GetUpdateSummaries.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "UpdateSummariesList": {
+ "description": "List of Update Summaries",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of Update Summaries",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UpdateSummaries"
+ },
+ "x-ms-identifiers": []
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateSummaries": {
+ "description": "Get the update summaries for the cluster",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "The geo-location where the resource lives"
+ },
+ "properties": {
+ "description": "Update summaries properties",
+ "type": "object",
+ "$ref": "#/definitions/UpdateSummariesProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UpdateSummariesProperties": {
+ "description": "Properties of Update summaries",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the UpdateSummaries proxy resource.",
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Accepted",
+ "Provisioning"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "oemFamily": {
+ "description": "OEM family name.",
+ "type": "string"
+ },
+ "currentOemVersion": {
+ "description": "Current OEM Version.",
+ "type": "string"
+ },
+ "hardwareModel": {
+ "description": "Name of the hardware model.",
+ "type": "string"
+ },
+ "packageVersions": {
+ "description": "Current version of each updatable component.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PackageVersionInfo"
+ },
+ "x-ms-client-flatten": true,
+ "x-ms-identifiers": [
+ "version"
+ ]
+ },
+ "currentVersion": {
+ "description": "Current Solution Bundle version of the stamp.",
+ "type": "string"
+ },
+ "currentSbeVersion": {
+ "description": "Current Sbe version of the stamp.",
+ "type": "string"
+ },
+ "lastUpdated": {
+ "description": "Last time an update installation completed successfully.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "lastChecked": {
+ "description": "Last time the update service successfully checked for updates",
+ "type": "string",
+ "format": "date-time"
+ },
+ "healthState": {
+ "description": "Overall health state for update-specific health checks.",
+ "type": "object",
+ "$ref": "#/definitions/HealthState",
+ "x-ms-client-flatten": true
+ },
+ "healthCheckResult": {
+ "description": "An array of pre-check result objects.",
+ "type": "array",
+ "items": {
+ "$ref": "./hciCommon.json#/definitions/PrecheckResult"
+ },
+ "x-ms-client-flatten": true,
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "healthCheckDate": {
+ "description": "Last time the package-specific checks were run.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "state": {
+ "description": "Overall update state of the stamp.",
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "AppliedSuccessfully",
+ "UpdateAvailable",
+ "UpdateInProgress",
+ "UpdateFailed",
+ "NeedsAttention",
+ "PreparationInProgress",
+ "PreparationFailed"
+ ],
+ "x-ms-enum": {
+ "name": "updateSummariesPropertiesState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PackageVersionInfo": {
+ "description": "Current version of each updatable component.",
+ "type": "object",
+ "properties": {
+ "packageType": {
+ "description": "Package type",
+ "type": "string"
+ },
+ "version": {
+ "description": "Package version",
+ "type": "string"
+ },
+ "lastUpdated": {
+ "description": "Last time this component was updated.",
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ },
+ "HealthState": {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Success",
+ "Failure",
+ "Warning",
+ "Error",
+ "InProgress"
+ ],
+ "x-ms-enum": {
+ "name": "HealthState",
+ "modelAsString": true
+ }
+ }
+ },
+ "parameters": {
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the cluster.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/updates.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/updates.json
new file mode 100644
index 000000000000..785d0732d5a4
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/updates.json
@@ -0,0 +1,577 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-04-01",
+ "title": "AzureStackHCI",
+ "description": "Azure Stack HCI management service"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/updates/{updateName}/apply": {
+ "post": {
+ "operationId": "Updates_Post",
+ "description": "Apply Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UpdateNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "ACCEPTED",
+ "headers": {
+ "Azure-AsyncOperation": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List available updates": {
+ "$ref": "./examples/PostUpdates.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/updates": {
+ "get": {
+ "operationId": "Updates_List",
+ "description": "List all Updates",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UpdateList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List available updates": {
+ "$ref": "./examples/ListUpdates.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/updates/{updateName}": {
+ "delete": {
+ "operationId": "Updates_Delete",
+ "description": "Delete specified Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UpdateNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "ACCEPTED",
+ "headers": {
+ "Azure-AsyncOperation": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Delete an Update": {
+ "$ref": "./examples/DeleteUpdates.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "Updates_Put",
+ "description": "Put specified Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UpdateNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateProperties",
+ "in": "body",
+ "description": "Properties of the Updates object",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Update"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Update"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Put a specific update": {
+ "$ref": "./examples/PutUpdates.json"
+ }
+ }
+ },
+ "get": {
+ "operationId": "Updates_Get",
+ "description": "Get specified Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UpdateNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Update"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a specific update": {
+ "$ref": "./examples/GetUpdates.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "UpdateList": {
+ "description": "List of Updates",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of Updates",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Update"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdatePrerequisite": {
+ "description": "If update State is HasPrerequisite, this property contains an array of objects describing prerequisite updates before installing this update. Otherwise, it is empty.",
+ "type": "object",
+ "properties": {
+ "updateType": {
+ "description": "Updatable component type.",
+ "type": "string"
+ },
+ "version": {
+ "description": "Version of the prerequisite.",
+ "type": "string"
+ },
+ "packageName": {
+ "description": "Friendly name of the prerequisite.",
+ "type": "string"
+ }
+ }
+ },
+ "Update": {
+ "description": "Update details",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "The geo-location where the resource lives"
+ },
+ "properties": {
+ "description": "Update properties",
+ "type": "object",
+ "$ref": "#/definitions/UpdateProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UpdateProperties": {
+ "description": "Details of a singular Update in HCI Cluster",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the Updates proxy resource.",
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Accepted",
+ "Provisioning"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "installedDate": {
+ "description": "Date that the update was installed.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "description": {
+ "description": "Description of the update.",
+ "type": "string"
+ },
+ "minSbeVersionRequired": {
+ "description": "Minimum Sbe Version of the update.",
+ "type": "string"
+ },
+ "state": {
+ "description": "State of the update as it relates to this stamp.",
+ "type": "string",
+ "enum": [
+ "HasPrerequisite",
+ "Obsolete",
+ "Ready",
+ "NotApplicableBecauseAnotherUpdateIsInProgress",
+ "Preparing",
+ "Installing",
+ "Installed",
+ "PreparationFailed",
+ "InstallationFailed",
+ "Invalid",
+ "Recalled",
+ "Downloading",
+ "DownloadFailed",
+ "HealthChecking",
+ "HealthCheckFailed",
+ "ReadyToInstall",
+ "ScanInProgress",
+ "ScanFailed",
+ "AdditionalContentRequired"
+ ],
+ "x-ms-enum": {
+ "name": "state",
+ "modelAsString": true
+ }
+ },
+ "prerequisites": {
+ "description": "If update State is HasPrerequisite, this property contains an array of objects describing prerequisite updates before installing this update. Otherwise, it is empty.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UpdatePrerequisite"
+ },
+ "x-ms-identifiers": [
+ "packageName"
+ ]
+ },
+ "componentVersions": {
+ "description": "An array of component versions for a Solution Bundle update, and an empty array otherwise. ",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PackageVersionInfo"
+ },
+ "x-ms-client-flatten": true,
+ "x-ms-identifiers": [
+ "version"
+ ]
+ },
+ "rebootRequired": {
+ "type": "object",
+ "$ref": "#/definitions/RebootRequirement",
+ "x-ms-client-flatten": true
+ },
+ "healthState": {
+ "description": "Overall health state for update-specific health checks.",
+ "type": "object",
+ "$ref": "#/definitions/HealthState",
+ "x-ms-client-flatten": true
+ },
+ "healthCheckResult": {
+ "description": "An array of PrecheckResult objects.",
+ "type": "array",
+ "items": {
+ "$ref": "./hciCommon.json#/definitions/PrecheckResult"
+ },
+ "x-ms-client-flatten": true
+ },
+ "healthCheckDate": {
+ "description": "Last time the package-specific checks were run.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "packagePath": {
+ "description": "Path where the update package is available.",
+ "type": "string"
+ },
+ "packageSizeInMb": {
+ "description": "Size of the package. This value is a combination of the size from update metadata and size of the payload that results from the live scan operation for OS update content.",
+ "type": "number"
+ },
+ "displayName": {
+ "description": "Display name of the Update",
+ "type": "string"
+ },
+ "version": {
+ "description": "Version of the update.",
+ "type": "string"
+ },
+ "publisher": {
+ "description": "Publisher of the update package.",
+ "type": "string"
+ },
+ "releaseLink": {
+ "description": "Link to release notes for the update.",
+ "type": "string"
+ },
+ "availabilityType": {
+ "description": "Indicates the way the update content can be downloaded.",
+ "type": "string",
+ "enum": [
+ "Local",
+ "Online",
+ "Notify"
+ ],
+ "x-ms-enum": {
+ "name": "availabilityType",
+ "modelAsString": true
+ }
+ },
+ "packageType": {
+ "description": "Customer-visible type of the update.",
+ "type": "string"
+ },
+ "additionalProperties": {
+ "description": "Extensible KV pairs serialized as a string. This is currently used to report the stamp OEM family and hardware model information when an update is flagged as Invalid for the stamp based on OEM type.",
+ "type": "string"
+ },
+ "updateStateProperties": {
+ "description": "Additional information regarding the state of the update. See definition of UpdateStateProperties type below for more details on this property.",
+ "type": "object",
+ "$ref": "#/definitions/UpdateStateProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UpdateStateProperties": {
+ "description": "Additional information regarding the state of the update. See definition of UpdateStateProperties type below for more details on this property.",
+ "type": "object",
+ "properties": {
+ "progressPercentage": {
+ "description": "Progress percentage of ongoing operation. Currently this property is only valid when the update is in the Downloading state, where it maps to how much of the update content has been downloaded.",
+ "type": "number"
+ },
+ "notifyMessage": {
+ "description": "Brief message with instructions for updates of AvailabilityType Notify.",
+ "type": "string"
+ }
+ }
+ },
+ "PackageVersionInfo": {
+ "description": "Current version of each updatable component.",
+ "type": "object",
+ "properties": {
+ "packageType": {
+ "description": "Package type",
+ "type": "string"
+ },
+ "version": {
+ "description": "Package version",
+ "type": "string"
+ },
+ "lastUpdated": {
+ "description": "Last time this component was updated.",
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ },
+ "RebootRequirement": {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "True",
+ "False"
+ ],
+ "x-ms-enum": {
+ "name": "RebootRequirement",
+ "modelAsString": true
+ }
+ },
+ "HealthState": {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Success",
+ "Failure",
+ "Warning",
+ "Error",
+ "InProgress"
+ ],
+ "x-ms-enum": {
+ "name": "HealthState",
+ "modelAsString": true
+ }
+ }
+ },
+ "parameters": {
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the cluster.",
+ "x-ms-parameter-location": "method"
+ },
+ "UpdateNameParameter": {
+ "name": "updateName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Update",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/operations/stable/2024-04-01/examples/ListOperations.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/operations/stable/2024-04-01/examples/ListOperations.json
new file mode 100644
index 000000000000..701b440ef6de
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/operations/stable/2024-04-01/examples/ListOperations.json
@@ -0,0 +1,453 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.AzureStackHCI/Register/Action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Register",
+ "operation": "Registers the Azure Stack HCI Resource Provider",
+ "description": "Registers the subscription for the Azure Stack HCI resource provider and enables the creation of Azure Stack HCI resources."
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/Unregister/Action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Unregister",
+ "operation": "Unregisters the Azure Stack HCI Resource Provider",
+ "description": "Unregisters the subscription for the Azure Stack HCI resource provider."
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/Operations/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Operations",
+ "operation": "Gets/List operations resources",
+ "description": "Gets operations"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/Clusters/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Clusters",
+ "operation": "Gets/List cluster resources",
+ "description": "Gets clusters"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/Clusters/Write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Clusters",
+ "operation": "Create/update cluster resources",
+ "description": "Creates or updates a cluster"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/Clusters/Delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Clusters",
+ "operation": "Deletes cluster resource",
+ "description": "Deletes cluster resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/Clusters/ArcSettings/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Clusters/ArcSettings",
+ "operation": "Gets/List arc resources",
+ "description": "Gets arc resource of HCI cluster"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/Clusters/ArcSettings/Write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Clusters/ArcSettings",
+ "operation": "Create/Update arc resources",
+ "description": "Create or updates arc resource of HCI cluster"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/Clusters/ArcSettings/Delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Clusters/ArcSettings",
+ "operation": "Delete arc resources",
+ "description": "Delete arc resource of HCI cluster"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/Clusters/ArcSettings/Extensions/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Clusters/ArcSettings/Extensions",
+ "operation": "Gets/List extension resources of HCI cluster",
+ "description": "Gets extension resource of HCI cluster"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/Clusters/ArcSettings/Extensions/Write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Clusters/ArcSettings/Extensions",
+ "operation": "Create/Update extension resources of HCI cluster",
+ "description": "Create or update extension resource of HCI cluster"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/Clusters/ArcSettings/Extensions/Delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Clusters/ArcSettings/Extensions",
+ "operation": "Delete extension resources of HCI cluster",
+ "description": "Delete extension resources of HCI cluster"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/VirtualMachines/Restart/Action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "VirtualMachines",
+ "operation": "Restarts virtual machine resource",
+ "description": "Restarts virtual machine resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/VirtualMachines/Start/Action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "VirtualMachines",
+ "operation": "Starts virtual machine resource",
+ "description": "Starts virtual machine resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/VirtualMachines/Stop/Action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "VirtualMachines",
+ "operation": "Stops virtual machine resource",
+ "description": "Stops virtual machine resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/VirtualMachines/Delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "VirtualMachines",
+ "operation": "Deletes virtual machine resource",
+ "description": "Deletes virtual machine resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/VirtualMachines/Write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "VirtualMachines",
+ "operation": "Creates/Updates virtual machine resource",
+ "description": "Creates/Updates virtual machine resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/VirtualMachines/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "VirtualMachines",
+ "operation": "Gets/Lists virtual machine resource",
+ "description": "Gets/Lists virtual machine resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/VirtualNetworks/Delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "VirtualNetworks",
+ "operation": "Deletes virtual networks resource",
+ "description": "Deletes virtual networks resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/VirtualNetworks/Write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "VirtualNetworks",
+ "operation": "Creates/Updates virtual networks resource",
+ "description": "Creates/Updates virtual networks resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/VirtualNetworks/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "VirtualNetworks",
+ "operation": "Gets/Lists virtual networks resource",
+ "description": "Gets/Lists virtual networks resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/VirtualHardDisks/Delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "VirtualHardDisks",
+ "operation": "Deletes virtual hard disk resource",
+ "description": "Deletes virtual hard disk resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/VirtualHardDisks/Write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "VirtualHardDisks",
+ "operation": "Creates/Updates virtual hard disk resource",
+ "description": "Creates/Updates virtual hard disk resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/VirtualHardDisks/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "VirtualHardDisks",
+ "operation": "Gets/Lists virtual hard disk resource",
+ "description": "Gets/Lists virtual hard disk resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/NetworkInterfaces/Delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "NetworkInterfaces",
+ "operation": "Deletes network interfaces resource",
+ "description": "Deletes network interfaces resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/NetworkInterfaces/Write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "NetworkInterfaces",
+ "operation": "Creates/Updates network interfaces resource",
+ "description": "Creates/Updates network interfaces resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/NetworkInterfaces/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "NetworkInterfaces",
+ "operation": "Gets/Lists network interfaces resource",
+ "description": "Gets/Lists network interfaces resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/GalleryImages/Delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "GalleryImages",
+ "operation": "Deletes gallery images resource",
+ "description": "Deletes gallery images resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/GalleryImages/Write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "GalleryImages",
+ "operation": "Creates/Updates gallery images resource",
+ "description": "Creates/Updates gallery images resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/GalleryImages/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "GalleryImages",
+ "operation": "Gets/Lists gallery images resource",
+ "description": "Gets/Lists gallery images resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/VirtualMachines/HybridIdentityMetadata/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "VirtualMachines/HybridIdentityMetadata",
+ "operation": "Gets/Lists virtual machine hybrid identity metadata proxy resource",
+ "description": "Gets/Lists virtual machine hybrid identity metadata proxy resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/VirtualMachines/Extensions/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "VirtualMachines/Extensions",
+ "operation": "Gets/Lists virtual machine extensions resource",
+ "description": "Gets/Lists virtual machine extensions resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/VirtualMachines/Extensions/Write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "VirtualMachines/Extensions",
+ "operation": "Creates/Updates virtual machine extensions resource",
+ "description": "Creates/Updates virtual machine extensions resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/VirtualMachines/Extensions/Delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "VirtualMachines/Extensions",
+ "operation": "Deletes virtual machine extensions resource",
+ "description": "Deletes virtual machine extensions resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/RegisteredSubscriptions/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "RegisteredSubscriptions",
+ "operation": "Gets/Lists registered subscriptions",
+ "description": "Reads registered subscriptions"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/Clusters/Updates/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Clusters/Updates",
+ "operation": "Gets/List available updates for HCI cluster",
+ "description": "Gets available updates for HCI cluster"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/Clusters/Updates/Write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Clusters/Updates",
+ "operation": "Create/Update updates resource of HCI cluster",
+ "description": "Create or update updates resource of HCI cluster"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/Clusters/Updates/Delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Clusters/Updates",
+ "operation": "Delete updates resources of HCI cluster",
+ "description": "Delete updates resources of HCI cluster"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/Clusters/UpdateSummaries/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Clusters/UpdateSummaries",
+ "operation": "Gets/List available update summaries for HCI cluster",
+ "description": "Gets available update summaries for HCI cluster"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/Clusters/UpdateSummaries/Write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Clusters/UpdateSummaries",
+ "operation": "Create/Update update summaries resource of HCI cluster",
+ "description": "Create or update update summaries resource of HCI cluster"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/Clusters/UpdateSummaries/Delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Clusters/UpdateSummaries",
+ "operation": "Delete updates resource summaries of HCI cluster",
+ "description": "Delete update summaries resources of HCI cluster"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/Clusters/Updates/UpdateRuns/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Clusters/Updates/UpdateRuns",
+ "operation": "Gets/List available update runs for HCI cluster",
+ "description": "Gets available update runs for HCI cluster"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/Clusters/Updates/UpdateRuns/Write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Clusters/Updates/UpdateRuns",
+ "operation": "Create/Update update runs resource of HCI cluster",
+ "description": "Create or update update runs resource of HCI cluster"
+ }
+ },
+ {
+ "name": "Microsoft.AzureStackHCI/Clusters/Updates/UpdateRuns/Delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureStackHCI",
+ "resource": "Clusters/Updates/UpdateRuns",
+ "operation": "Delete updates resource runs of HCI cluster",
+ "description": "Delete update runs resources of HCI cluster"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/operations/stable/2024-04-01/operations.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/operations/stable/2024-04-01/operations.json
new file mode 100644
index 000000000000..e29582543c48
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/operations/stable/2024-04-01/operations.json
@@ -0,0 +1,73 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-04-01",
+ "title": "AzureStackHCI",
+ "description": "Azure Stack HCI management service"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.AzureStackHCI/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "Create cluster": {
+ "$ref": "./examples/ListOperations.json"
+ }
+ },
+ "description": "List all available Microsoft.AzureStackHCI provider operations",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/azurestackhci/resource-manager/sdk-suppressions.yaml b/specification/azurestackhci/resource-manager/sdk-suppressions.yaml
index 90293c4514c7..f47703537f08 100644
--- a/specification/azurestackhci/resource-manager/sdk-suppressions.yaml
+++ b/specification/azurestackhci/resource-manager/sdk-suppressions.yaml
@@ -49,4 +49,4 @@ suppressions:
- Interface Extension no longer has parameter lastModifiedBy
- Interface Extension no longer has parameter lastModifiedByType
- Operation Extensions.beginUpdate has a new signature
- - Operation Extensions.beginUpdateAndWait has a new signature
+ - Operation Extensions.beginUpdateAndWait has a new signature
\ No newline at end of file
diff --git a/specification/azurestackhci/suppressions.yaml b/specification/azurestackhci/suppressions.yaml
new file mode 100644
index 000000000000..b78f3f0d5e5b
--- /dev/null
+++ b/specification/azurestackhci/suppressions.yaml
@@ -0,0 +1,7 @@
+- tool: TypeSpecRequirement
+ path: resource-manager/Microsoft.AzureStackHCI/StackHCI/stable/2024-04-01/**/*.json
+ reason: Part of brownfield service group
+
+- tool: TypeSpecRequirement
+ path: resource-manager/Microsoft.AzureStackHCI/operations/stable/2024-04-01/**/*.json
+ reason: Part of brownfield service group
From ab6c309feac93178fbabdf70347304190094b4cb Mon Sep 17 00:00:00 2001
From: Travis Angevine
Date: Wed, 5 Jun 2024 15:14:23 -0700
Subject: [PATCH 119/343] Missing semicolons
Signed-off-by: Travis Angevine
---
specification/ai/ModelClient/client.tsp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/specification/ai/ModelClient/client.tsp b/specification/ai/ModelClient/client.tsp
index 30e0fb2196d9..d9d78e451138 100644
--- a/specification/ai/ModelClient/client.tsp
+++ b/specification/ai/ModelClient/client.tsp
@@ -88,7 +88,7 @@ interface Client3 {
// The following is to update names as necessary for specific programming languages.
// Done in this file to provide a single point of reference for any renames.
-@@clientName(Azure.OpenAI.ChatCompletionOptions.top_p, "NucleusSamplingFactor", "csharp")
-@@clientName(Azure.OpenAI.ChatCompletionOptions.stop, "StopSequences", "csharp")
-@@clientName(Azure.OpenAI.ChatCompletionOptions.stream, "InternalShouldStreamResponse", "csharp")
-@@clientName(Azure.OpenAI.ChatChoice.delta, "InternalStreamingDeltaMessage", "csharp")
+@@clientName(Azure.OpenAI.ChatCompletionOptions.top_p, "NucleusSamplingFactor", "csharp");
+@@clientName(Azure.OpenAI.ChatCompletionOptions.stop, "StopSequences", "csharp");
+@@clientName(Azure.OpenAI.ChatCompletionOptions.stream, "InternalShouldStreamResponse", "csharp");
+@@clientName(Azure.OpenAI.ChatChoice.delta, "InternalStreamingDeltaMessage", "csharp");
From 4f8a7ea1399ad330113333ed5eb56a45e4483b0e Mon Sep 17 00:00:00 2001
From: Travis Angevine
Date: Wed, 5 Jun 2024 15:17:01 -0700
Subject: [PATCH 120/343] Wrong namespace
Signed-off-by: Travis Angevine
---
specification/ai/ModelClient/client.tsp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/specification/ai/ModelClient/client.tsp b/specification/ai/ModelClient/client.tsp
index d9d78e451138..9a48661191ed 100644
--- a/specification/ai/ModelClient/client.tsp
+++ b/specification/ai/ModelClient/client.tsp
@@ -88,7 +88,7 @@ interface Client3 {
// The following is to update names as necessary for specific programming languages.
// Done in this file to provide a single point of reference for any renames.
-@@clientName(Azure.OpenAI.ChatCompletionOptions.top_p, "NucleusSamplingFactor", "csharp");
-@@clientName(Azure.OpenAI.ChatCompletionOptions.stop, "StopSequences", "csharp");
-@@clientName(Azure.OpenAI.ChatCompletionOptions.stream, "InternalShouldStreamResponse", "csharp");
-@@clientName(Azure.OpenAI.ChatChoice.delta, "InternalStreamingDeltaMessage", "csharp");
+@@clientName(ModelClient.ChatCompletionOptions.top_p, "NucleusSamplingFactor", "csharp");
+@@clientName(ModelClient.ChatCompletionOptions.stop, "StopSequences", "csharp");
+@@clientName(ModelClient.ChatCompletionOptions.stream, "InternalShouldStreamResponse", "csharp");
+@@clientName(ModelClient.ChatChoice.delta, "InternalStreamingDeltaMessage", "csharp");
From be84fda2eff85988f3b3e9448847b8956f9ac42e Mon Sep 17 00:00:00 2001
From: Travis Angevine
Date: Wed, 5 Jun 2024 15:24:42 -0700
Subject: [PATCH 121/343] Incorrect namespaces
Signed-off-by: Travis Angevine
---
specification/ai/ModelClient/client.tsp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/specification/ai/ModelClient/client.tsp b/specification/ai/ModelClient/client.tsp
index 9a48661191ed..3b9319a2a4bf 100644
--- a/specification/ai/ModelClient/client.tsp
+++ b/specification/ai/ModelClient/client.tsp
@@ -88,7 +88,7 @@ interface Client3 {
// The following is to update names as necessary for specific programming languages.
// Done in this file to provide a single point of reference for any renames.
-@@clientName(ModelClient.ChatCompletionOptions.top_p, "NucleusSamplingFactor", "csharp");
-@@clientName(ModelClient.ChatCompletionOptions.stop, "StopSequences", "csharp");
-@@clientName(ModelClient.ChatCompletionOptions.stream, "InternalShouldStreamResponse", "csharp");
-@@clientName(ModelClient.ChatChoice.delta, "InternalStreamingDeltaMessage", "csharp");
+@@clientName(ModelClient.ChatCompletionsOptions.top_p, "NucleusSamplingFactor", "csharp");
+@@clientName(ModelClient.ChatCompletionsOptions.stop, "StopSequences", "csharp");
+@@clientName(ModelClient.ChatCompletionsOptions.stream, "InternalShouldStreamResponse", "csharp");
+@@clientName(ModelClient.StreamingChatChoiceUpdate.delta, "InternalStreamingDeltaMessage", "csharp");
From 4f56fb385fca59c6ddbd379c307dffdab8c0f4f2 Mon Sep 17 00:00:00 2001
From: Travis Angevine
Date: Wed, 5 Jun 2024 15:29:20 -0700
Subject: [PATCH 122/343] Aliases need to have things referenced differently,
apparently
Signed-off-by: Travis Angevine
---
specification/ai/ModelClient/client.tsp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/specification/ai/ModelClient/client.tsp b/specification/ai/ModelClient/client.tsp
index 3b9319a2a4bf..a6e7d2106218 100644
--- a/specification/ai/ModelClient/client.tsp
+++ b/specification/ai/ModelClient/client.tsp
@@ -88,7 +88,7 @@ interface Client3 {
// The following is to update names as necessary for specific programming languages.
// Done in this file to provide a single point of reference for any renames.
-@@clientName(ModelClient.ChatCompletionsOptions.top_p, "NucleusSamplingFactor", "csharp");
-@@clientName(ModelClient.ChatCompletionsOptions.stop, "StopSequences", "csharp");
-@@clientName(ModelClient.ChatCompletionsOptions.stream, "InternalShouldStreamResponse", "csharp");
+@@clientName(ModelClient.ChatCompletionsOptions::top_p, "NucleusSamplingFactor", "csharp");
+@@clientName(ModelClient.ChatCompletionsOptions::stop, "StopSequences", "csharp");
+@@clientName(ModelClient.ChatCompletionsOptions::stream, "InternalShouldStreamResponse", "csharp");
@@clientName(ModelClient.StreamingChatChoiceUpdate.delta, "InternalStreamingDeltaMessage", "csharp");
From db6580b6d8386863ac05acf59da99478f685f1f2 Mon Sep 17 00:00:00 2001
From: Travis Angevine
Date: Wed, 5 Jun 2024 15:41:11 -0700
Subject: [PATCH 123/343] Need to specify parameters?
Signed-off-by: Travis Angevine
---
specification/ai/ModelClient/client.tsp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/specification/ai/ModelClient/client.tsp b/specification/ai/ModelClient/client.tsp
index a6e7d2106218..70f9e1abbfe7 100644
--- a/specification/ai/ModelClient/client.tsp
+++ b/specification/ai/ModelClient/client.tsp
@@ -88,7 +88,7 @@ interface Client3 {
// The following is to update names as necessary for specific programming languages.
// Done in this file to provide a single point of reference for any renames.
-@@clientName(ModelClient.ChatCompletionsOptions::top_p, "NucleusSamplingFactor", "csharp");
-@@clientName(ModelClient.ChatCompletionsOptions::stop, "StopSequences", "csharp");
-@@clientName(ModelClient.ChatCompletionsOptions::stream, "InternalShouldStreamResponse", "csharp");
+@@clientName(ModelClient.ChatCompletionsOptions::parameters.top_p, "NucleusSamplingFactor", "csharp");
+@@clientName(ModelClient.ChatCompletionsOptions::parameters.stop, "StopSequences", "csharp");
+@@clientName(ModelClient.ChatCompletionsOptions::parameters.stream, "InternalShouldStreamResponse", "csharp");
@@clientName(ModelClient.StreamingChatChoiceUpdate.delta, "InternalStreamingDeltaMessage", "csharp");
From a5b3fbc98296382bfe5a3d32797062a9d3c88a09 Mon Sep 17 00:00:00 2001
From: Travis Angevine
Date: Wed, 5 Jun 2024 16:00:47 -0700
Subject: [PATCH 124/343] Move alias renames to the individual file for now
Signed-off-by: Travis Angevine
---
specification/ai/ModelClient/client.tsp | 3 ---
specification/ai/ModelClient/models/chat_completions.tsp | 3 +++
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/specification/ai/ModelClient/client.tsp b/specification/ai/ModelClient/client.tsp
index 70f9e1abbfe7..87148cd45467 100644
--- a/specification/ai/ModelClient/client.tsp
+++ b/specification/ai/ModelClient/client.tsp
@@ -88,7 +88,4 @@ interface Client3 {
// The following is to update names as necessary for specific programming languages.
// Done in this file to provide a single point of reference for any renames.
-@@clientName(ModelClient.ChatCompletionsOptions::parameters.top_p, "NucleusSamplingFactor", "csharp");
-@@clientName(ModelClient.ChatCompletionsOptions::parameters.stop, "StopSequences", "csharp");
-@@clientName(ModelClient.ChatCompletionsOptions::parameters.stream, "InternalShouldStreamResponse", "csharp");
@@clientName(ModelClient.StreamingChatChoiceUpdate.delta, "InternalStreamingDeltaMessage", "csharp");
diff --git a/specification/ai/ModelClient/models/chat_completions.tsp b/specification/ai/ModelClient/models/chat_completions.tsp
index 95e6db57ac07..3f0818d43be8 100644
--- a/specification/ai/ModelClient/models/chat_completions.tsp
+++ b/specification/ai/ModelClient/models/chat_completions.tsp
@@ -33,6 +33,7 @@ alias ChatCompletionsOptions = {
@doc("""
A value indicating whether chat completions should be streamed for this request.
""")
+ @clientName("InternalShouldStreamResponse", "csharp")
stream?: boolean;
@doc("""
@@ -69,6 +70,7 @@ alias ChatCompletionsOptions = {
""")
@maxValue(1.0)
@minValue(0.0)
+ @clientName("NucleusSamplingFactor", "csharp")
top_p?: float32 = 1.0;
@doc("The maximum number of tokens to generate.")
@@ -82,6 +84,7 @@ alias ChatCompletionsOptions = {
A collection of textual sequences that will end completions generation.
""")
@minItems(1)
+ @clientName("StopSequences", "csharp")
stop?: string[];
@doc("The available tool definitions that the chat completions request can use, including caller-defined functions.")
From f98d676317c7ff430241ce16ba8d99142be3581d Mon Sep 17 00:00:00 2001
From: Alan Zimmer <48699787+alzimmermsft@users.noreply.github.com>
Date: Wed, 5 Jun 2024 22:38:52 -0400
Subject: [PATCH 125/343] Enable stream-stype serialization for Java
Communication Job Router (#29328)
---
.../Communication.JobRouter/models.tsp | 53 ++-----------------
.../Communication.JobRouter/tspconfig.yaml | 3 +-
2 files changed, 5 insertions(+), 51 deletions(-)
diff --git a/specification/communication/Communication.JobRouter/models.tsp b/specification/communication/Communication.JobRouter/models.tsp
index 8632530e081b..66014395d3fd 100644
--- a/specification/communication/Communication.JobRouter/models.tsp
+++ b/specification/communication/Communication.JobRouter/models.tsp
@@ -353,7 +353,6 @@ union WorkerSelectorAttachmentKind {
weightedAllocation: "weightedAllocation",
}
-@clientName("ClassificationPolicyInternal", "java")
@resource("routing/classificationPolicies")
@doc("A container for the rules that govern how jobs are classified.")
model ClassificationPolicy {
@@ -380,7 +379,6 @@ model ClassificationPolicy {
workerSelectorAttachments?: WorkerSelectorAttachment[];
}
-@clientName("RouterRuleInternal", "java")
@doc("""
A rule of one of the following types:
StaticRule: A rule providing static rules that always return the same result, regardless of input.
@@ -395,7 +393,6 @@ model RouterRule {
kind: RouterRuleKind;
}
-@clientName("DistributionPolicyInternal", "java")
@resource("routing/distributionPolicies")
@doc("Policy governing how jobs are distributed to workers")
model DistributionPolicy {
@@ -416,7 +413,6 @@ model DistributionPolicy {
mode?: DistributionMode;
}
-@clientName("DistributionModeInternal", "java")
@doc("Abstract base class for defining a distribution mode.")
@discriminator("kind")
model DistributionMode {
@@ -433,7 +429,6 @@ model DistributionMode {
kind: DistributionModeKind;
}
-@clientName("ExceptionPolicyInternal", "java")
@resource("routing/exceptionPolicies")
@doc("A policy that defines actions to execute when exception are triggered.")
model ExceptionPolicy {
@@ -451,7 +446,6 @@ model ExceptionPolicy {
exceptionRules?: ExceptionRule[];
}
-@clientName("ExceptionRuleInternal", "java")
@doc("A rule that defines actions to execute upon a specific trigger.")
model ExceptionRule {
@doc("Id of an exception rule.")
@@ -464,7 +458,6 @@ model ExceptionRule {
actions: ExceptionAction[];
}
-@clientName("ExceptionTriggerInternal", "java")
@doc("Abstract base class for defining a trigger for exception rules.")
@discriminator("kind")
model ExceptionTrigger {
@@ -481,7 +474,6 @@ model RouterJobNote {
addedAt?: utcDateTime;
}
-@clientName("RouterJobInternal", "java")
@resource("routing/jobs")
@doc("A unit of work to be routed")
model RouterJob {
@@ -548,7 +540,6 @@ model RouterJob {
matchingMode?: JobMatchingMode;
}
-@clientName("RouterWorkerSelectorInternal", "java")
@doc("Describes a condition that must be met against a set of labels for worker selection.")
model RouterWorkerSelector {
@doc("The label key to query against.")
@@ -598,7 +589,6 @@ model RouterJobAssignment {
closedAt?: utcDateTime;
}
-@clientName("JobMatchingModeInternal", "java")
@doc("""
A matching mode of one of the following types:
QueueAndMatchMode: Used when matching worker to a job is required to be done right after job is queued.
@@ -611,7 +601,6 @@ model JobMatchingMode {
kind: JobMatchingModeKind;
}
-@clientName("ScheduleAndSuspendModeInternal", "java")
@doc("Describes a matching mode used for scheduling jobs to be queued at a future time. At the specified time, matching worker to a job will not start automatically.")
model ScheduleAndSuspendMode extends JobMatchingMode {
@doc("Requested schedule time.")
@@ -621,22 +610,20 @@ model ScheduleAndSuspendMode extends JobMatchingMode {
kind: JobMatchingModeKind.scheduleAndSuspend;
}
-@clientName("QueueAndMatchModeInternal", "java")
@doc("Describes a matching mode where matching worker to a job is automatically started after job is queued successfully.")
model QueueAndMatchMode extends JobMatchingMode {
@doc("The type discriminator describing QueueAndMatchMode")
kind: JobMatchingModeKind.queueAndMatch;
}
-@clientName("SuspendModeInternal", "java")
@doc("Describes a matching mode where matching worker to a job is suspended.")
model SuspendMode extends JobMatchingMode {
@doc("The type discriminator describing SuspendMode")
kind: JobMatchingModeKind.suspend;
}
-@clientName("CancelJobOptionsInternal", "java")
@access(Access.public, "python")
+@access(Access.public, "java")
@doc("Request payload for cancelling a job.")
model CancelJobOptions {
@doc("A note that will be appended to a job's Notes collection with the current timestamp.")
@@ -646,16 +633,16 @@ model CancelJobOptions {
dispositionCode?: string;
}
-@clientName("CompleteJobOptionsInternal", "java")
@access(Access.public, "python")
+@access(Access.public, "java")
@doc("Request payload for completing jobs.")
model CompleteJobOptions {
@doc("A note that will be appended to a job's Notes collection with the current timestamp.")
note?: string;
}
-@clientName("CloseJobOptionsInternal", "java")
@access(Access.public, "python")
+@access(Access.public, "java")
@doc("Request payload for closing jobs")
model CloseJobOptions {
@doc("Indicates the outcome of a job, populate this field with your own custom values.")
@@ -713,15 +700,14 @@ model AcceptJobOfferResult {
workerId: string;
}
-@clientName("DeclineJobOfferOptionsInternal", "java")
@access(Access.public, "python")
+@access(Access.public, "java")
@doc("Request payload for declining offers.")
model DeclineJobOfferOptions {
@doc("If the RetryOfferAt is not provided, then this job will not be offered again to the worker who declined this job unless the worker is de-registered and re-registered. If a RetryOfferAt time is provided, then the job will be re-matched to eligible workers at the retry time in UTC. The worker that declined the job will also be eligible for the job at that time.")
retryOfferAt?: utcDateTime;
}
-@clientName("RouterQueueInternal", "java")
@resource("routing/queues")
@doc("A queue that can contain jobs to be routed.")
model RouterQueue {
@@ -746,7 +732,6 @@ model RouterQueue {
exceptionPolicyId?: string;
}
-@clientName("RouterQueueStatisticsInternal", "java")
@doc("Statistics for the queue.")
model RouterQueueStatistics {
@doc("Id of the queue these details are about.")
@@ -762,7 +747,6 @@ model RouterQueueStatistics {
longestJobWaitTimeMinutes?: float64;
}
-@clientName("RouterWorkerInternal", "java")
@resource("routing/workers")
@doc("An entity for jobs to be routed to.")
model RouterWorker {
@@ -863,7 +847,6 @@ model RouterWorkerAssignment {
assignedAt: utcDateTime;
}
-@clientName("BestWorkerModeInternal", "java")
@doc("Jobs are distributed to the worker with the strongest abilities available.")
model BestWorkerMode extends DistributionMode {
@doc("Define a scoring rule to use, when calculating a score to determine the best worker. If not set, will use a default scoring formula that uses the number of job labels that the worker labels match, as well as the number of label selectors the worker labels match and/or exceed using a logistic function (https://en.wikipedia.org/wiki/Logistic_function).")
@@ -894,7 +877,6 @@ model ScoringRuleOptions {
descendingOrder?: boolean = true;
}
-@clientName("CancelExceptionActionInternal", "java")
@doc("An action that marks a job as cancelled.")
model CancelExceptionAction extends ExceptionAction {
@doc("A note that will be appended to a job's notes collection with the current timestamp.")
@@ -907,7 +889,6 @@ model CancelExceptionAction extends ExceptionAction {
kind: ExceptionActionKind.cancel;
}
-@clientName("ExceptionActionInternal", "java")
@doc("The action to take when the exception is triggered.")
@discriminator("kind")
model ExceptionAction {
@@ -918,7 +899,6 @@ model ExceptionAction {
kind: ExceptionActionKind;
}
-@clientName("ConditionalQueueSelectorAttachmentInternal", "java")
@doc("Describes a set of queue selectors that will be attached if the given condition resolves to true.")
model ConditionalQueueSelectorAttachment extends QueueSelectorAttachment {
@doc("The condition that must be true for the queue selectors to be attached.")
@@ -931,7 +911,6 @@ model ConditionalQueueSelectorAttachment extends QueueSelectorAttachment {
kind: QueueSelectorAttachmentKind.conditional;
}
-@clientName("RouterQueueSelectorInternal", "java")
@doc("Describes a condition that must be met against a set of labels for queue selection.")
model RouterQueueSelector {
@doc("The label key to query against.")
@@ -945,7 +924,6 @@ model RouterQueueSelector {
value?: unknown;
}
-@clientName("QueueSelectorAttachmentInternal", "java")
@doc("An attachment of queue selectors to resolve a queue to a job from a classification policy.")
@discriminator("kind")
model QueueSelectorAttachment {
@@ -953,7 +931,6 @@ model QueueSelectorAttachment {
kind: QueueSelectorAttachmentKind;
}
-@clientName("ConditionalWorkerSelectorAttachmentInternal", "java")
@doc("Describes a set of worker selectors that will be attached if the given condition resolves to true.")
model ConditionalWorkerSelectorAttachment extends WorkerSelectorAttachment {
@doc("The condition that must be true for the worker selectors to be attached.")
@@ -966,7 +943,6 @@ model ConditionalWorkerSelectorAttachment extends WorkerSelectorAttachment {
kind: WorkerSelectorAttachmentKind.conditional;
}
-@clientName("WorkerSelectorAttachmentInternal", "java")
@doc("An attachment which attaches worker selectors to a job.")
@discriminator("kind")
model WorkerSelectorAttachment {
@@ -974,14 +950,12 @@ model WorkerSelectorAttachment {
kind: WorkerSelectorAttachmentKind;
}
-@clientName("DirectMapRouterRuleInternal", "java")
@doc("A rule that return the same labels as the input labels.")
model DirectMapRouterRule extends RouterRule {
@doc("The type discriminator describing a sub-type of Rule.")
kind: RouterRuleKind.directMap;
}
-@clientName("ExpressionRouterRuleInternal", "java")
@doc("A rule providing inline expression rules.")
model ExpressionRouterRule extends RouterRule {
@doc("The expression language to compile to and execute.")
@@ -994,7 +968,6 @@ model ExpressionRouterRule extends RouterRule {
kind: RouterRuleKind.expression;
}
-@clientName("FunctionRouterRuleInternal", "java")
@doc("A rule providing a binding to an HTTP Triggered Azure Function.")
model FunctionRouterRule extends RouterRule {
@doc("URL for Azure Function.")
@@ -1019,14 +992,12 @@ model FunctionRouterRuleCredential {
clientId?: string;
}
-@clientName("LongestIdleModeInternal", "java")
@doc("Jobs are directed to the worker who has been idle longest.")
model LongestIdleMode extends DistributionMode {
@doc("The type discriminator describing a sub-type of Mode.")
kind: DistributionModeKind.longestIdle;
}
-@clientName("ManualReclassifyExceptionActionInternal", "java")
@doc("An action that manually reclassifies a job by providing the queue, priority and worker selectors.")
model ManualReclassifyExceptionAction extends ExceptionAction {
@doc("Updated QueueId.")
@@ -1052,7 +1023,6 @@ model OAuth2WebhookClientCredential {
clientSecret?: string;
}
-@clientName("PassThroughQueueSelectorAttachmentInternal", "java")
@doc("Attaches a queue selector where the value is passed through from a job's label with the same key.")
model PassThroughQueueSelectorAttachment extends QueueSelectorAttachment {
@doc("The label key to query against.")
@@ -1065,7 +1035,6 @@ model PassThroughQueueSelectorAttachment extends QueueSelectorAttachment {
kind: QueueSelectorAttachmentKind.passThrough;
}
-@clientName("PassThroughWorkerSelectorAttachmentInternal", "java")
@doc("Attaches a worker selector where the value is passed through from a job's label with the same key.")
model PassThroughWorkerSelectorAttachment extends WorkerSelectorAttachment {
@doc("The label key to query against.")
@@ -1081,7 +1050,6 @@ model PassThroughWorkerSelectorAttachment extends WorkerSelectorAttachment {
kind: WorkerSelectorAttachmentKind.passThrough;
}
-@clientName("QueueLengthExceptionTriggerInternal", "java")
@doc("Trigger for an exception action on exceeding queue length.")
model QueueLengthExceptionTrigger extends ExceptionTrigger {
@doc("Threshold of number of jobs ahead in the queue to for this trigger to fire.")
@@ -1091,7 +1059,6 @@ model QueueLengthExceptionTrigger extends ExceptionTrigger {
kind: ExceptionTriggerKind.queueLength;
}
-@clientName("QueueWeightedAllocationInternal", "java")
@doc("Contains the weight percentage and queue selectors to be applied if selected for weighted distributions.")
model QueueWeightedAllocation {
@doc("The percentage of this weight, expressed as a fraction of 1.")
@@ -1101,7 +1068,6 @@ model QueueWeightedAllocation {
queueSelectors: RouterQueueSelector[];
}
-@clientName("ReclassifyExceptionActionInternal", "java")
@doc("An action that modifies labels on a job and then reclassifies it.")
model ReclassifyExceptionAction extends ExceptionAction {
@doc("The new classification policy that will determine queue, priority and worker selectors.")
@@ -1115,14 +1081,12 @@ model ReclassifyExceptionAction extends ExceptionAction {
kind: ExceptionActionKind.reclassify;
}
-@clientName("RoundRobinModeInternal", "java")
@doc("Jobs are distributed in order to workers, starting with the worker that is after the last worker to receive a job.")
model RoundRobinMode extends DistributionMode {
@doc("The type discriminator describing a sub-type of Mode.")
kind: DistributionModeKind.roundRobin;
}
-@clientName("RuleEngineQueueSelectorAttachmentInternal", "java")
@doc("Attaches queue selectors to a job when the RouterRule is resolved.")
model RuleEngineQueueSelectorAttachment extends QueueSelectorAttachment {
@doc("A RouterRule that resolves a collection of queue selectors to attach.")
@@ -1132,7 +1096,6 @@ model RuleEngineQueueSelectorAttachment extends QueueSelectorAttachment {
kind: QueueSelectorAttachmentKind.ruleEngine;
}
-@clientName("RuleEngineWorkerSelectorAttachmentInternal", "java")
@doc("Attaches worker selectors to a job when a RouterRule is resolved.")
model RuleEngineWorkerSelectorAttachment extends WorkerSelectorAttachment {
@doc("A RouterRule that resolves a collection of worker selectors to attach.")
@@ -1142,7 +1105,6 @@ model RuleEngineWorkerSelectorAttachment extends WorkerSelectorAttachment {
kind: WorkerSelectorAttachmentKind.ruleEngine;
}
-@clientName("StaticQueueSelectorAttachmentInternal", "java")
@doc("Describes a queue selector that will be attached to a job.")
model StaticQueueSelectorAttachment extends QueueSelectorAttachment {
@doc("The queue selector to attach.")
@@ -1152,7 +1114,6 @@ model StaticQueueSelectorAttachment extends QueueSelectorAttachment {
kind: QueueSelectorAttachmentKind.static;
}
-@clientName("StaticRouterRuleInternal", "java")
@doc("A rule providing static rules that always return the same result, regardless of input.")
model StaticRouterRule extends RouterRule {
#suppress "@azure-tools/typespec-azure-core/no-unknown" "Unions are currently not allowed in spec."
@@ -1163,7 +1124,6 @@ model StaticRouterRule extends RouterRule {
kind: RouterRuleKind.static;
}
-@clientName("StaticWorkerSelectorAttachmentInternal", "java")
@doc("Describes a worker selector that will be attached to a job.")
model StaticWorkerSelectorAttachment extends WorkerSelectorAttachment {
@doc("The worker selector to attach.")
@@ -1173,7 +1133,6 @@ model StaticWorkerSelectorAttachment extends WorkerSelectorAttachment {
kind: WorkerSelectorAttachmentKind.static;
}
-@clientName("WaitTimeExceptionTriggerInternal", "java")
@doc("Trigger for an exception action on exceeding wait time.")
model WaitTimeExceptionTrigger extends ExceptionTrigger {
@doc("Threshold for wait time for this trigger.")
@@ -1183,7 +1142,6 @@ model WaitTimeExceptionTrigger extends ExceptionTrigger {
kind: ExceptionTriggerKind.waitTime;
}
-@clientName("WebhookRouterRuleInternal", "java")
@doc("A rule providing a binding to an external web server.")
model WebhookRouterRule extends RouterRule {
@doc("Uri for Authorization Server.")
@@ -1199,7 +1157,6 @@ model WebhookRouterRule extends RouterRule {
kind: RouterRuleKind.webhook;
}
-@clientName("WeightedAllocationQueueSelectorAttachmentInternal", "java")
@doc("Describes multiple sets of queue selectors, of which one will be selected and attached according to a weighting.")
model WeightedAllocationQueueSelectorAttachment
extends QueueSelectorAttachment {
@@ -1210,7 +1167,6 @@ model WeightedAllocationQueueSelectorAttachment
kind: QueueSelectorAttachmentKind.weightedAllocation;
}
-@clientName("WeightedAllocationWorkerSelectorAttachmentInternal", "java")
@doc("Describes multiple sets of worker selectors, of which one will be selected and attached according to a weighting.")
model WeightedAllocationWorkerSelectorAttachment
extends WorkerSelectorAttachment {
@@ -1221,7 +1177,6 @@ model WeightedAllocationWorkerSelectorAttachment
kind: WorkerSelectorAttachmentKind.weightedAllocation;
}
-@clientName("WorkerWeightedAllocationInternal", "java")
@doc("Contains the weight percentage and worker selectors to be applied if selected for weighted distributions.")
model WorkerWeightedAllocation {
@doc("The percentage of this weight, expressed as a fraction of 1.")
diff --git a/specification/communication/Communication.JobRouter/tspconfig.yaml b/specification/communication/Communication.JobRouter/tspconfig.yaml
index 54372a371083..2b99d766d271 100644
--- a/specification/communication/Communication.JobRouter/tspconfig.yaml
+++ b/specification/communication/Communication.JobRouter/tspconfig.yaml
@@ -48,10 +48,9 @@ options:
partial-update: true
service-name: JobRouter
custom-types-subpackage: "implementation.models"
- custom-types: "BestWorkerModeInternal,CancelExceptionActionInternal,ClassificationPolicyInternal,ConditionalQueueSelectorAttachmentInternal,ConditionalWorkerSelectorAttachmentInternal,DirectMapRouterRuleInternal,DistributionModeInternal,DistributionPolicyInternal,ExceptionActionInternal,ExceptionPolicyInternal,ExceptionRuleInternal,ExceptionTriggerInternal,ExpressionRouterRuleInternal,FunctionRouterRuleInternal,LongestIdleModeInternal,ManualReclassifyExceptionActionInternal,PassThroughQueueSelectorAttachmentInternal,PassThroughWorkerSelectorAttachmentInternal,QueueLengthExceptionTriggerInternal,QueueSelectorAttachmentInternal,QueueWeightedAllocationInternal,ReclassifyExceptionActionInternal,RoundRobinModeInternal,RouterJobInternal,RouterQueueInternal,RouterQueueSelectorInternal,RouterQueueStatisticsInternal,RouterRuleInternal,RouterWorkerInternal,RouterWorkerSelectorInternal,RuleEngineQueueSelectorAttachmentInternal,RuleEngineWorkerSelectorAttachmentInternal,StaticQueueSelectorAttachmentInternal,StaticRouterRuleInternal,StaticWorkerSelectorAttachmentInternal,WaitTimeExceptionTriggerInternal,WebhookRouterRuleInternal,WeightedAllocationQueueSelectorAttachmentInternal,WeightedAllocationWorkerSelectorAttachmentInternal,WorkerSelectorAttachmentInternal,WorkerWeightedAllocationInternal,CancelJobOptionsInternal,CancelJobResultInternal,CloseJobOptionsInternal,CloseJobResultInternal,CompleteJobOptionsInternal,CompleteJobResultInternal,DeclineJobOfferOptionsInternal,DeclineJobOfferResultInternal,ReclassifyJobOptionsInternal,ReclassifyJobResultInternal,JobMatchingModeInternal,SuspendModeInternal,QueueAndMatchModeInternal,ScheduleAndSuspendModeInternal"
+ custom-types: "CancelJobResultInternal,CloseJobResultInternal,CompleteJobResultInternal,DeclineJobOfferResultInternal,ReclassifyJobOptionsInternal,ReclassifyJobResultInternal"
customization-class: customization/src/main/java/JobRouterSdkCustomization.java
flavor: azure
- stream-style-serialization: false
"@azure-tools/typespec-ts":
emitter-output-dir: "{js-sdk-folder}/sdk/{service-directory-name}/communication-job-router-rest"
package-dir: "communication-job-router-rest"
From bf820efd61038a0f44f687d7dffba32b2a08da93 Mon Sep 17 00:00:00 2001
From: miaxzhitong <146033271+miaxzhitong@users.noreply.github.com>
Date: Thu, 6 Jun 2024 08:25:30 -0700
Subject: [PATCH 126/343] Azure Map Rendering 20240401 (#27950)
* Adds base for updating Render from version stable/2022-08-01 to version 2024-04-01
* Updates readme
* Updates API version in new specs and examples
* update static map API doc
* small change on static map doc
* update tilesetId section
* add static map supported tilesetid and trafficLayer
* update range table and static image example
* fix typo
* add additional static image example
* error fix
* run prettier on static image example json
* set tilesetId as optional
* update max/min latitude/longitude table
* update Accept header for static image API
* error fix
* add explanation for Accept header
* typo
* add parameter limitation
* improve wording
* add path and pin parameter type
* fix tables
* improve on example
* typo fix
* run prettier
* wording fix
* map attribution description update
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* state tile description update
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* map tile description update
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* map tileset description update
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* map copyright caption description change
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* map copyright bounding description update
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* weather radar tile description update
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* weather infrared tiles description update
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* map copyright tile description update
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* map copyright world description update
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* remove pricing tiers applies
* Adds base for updating Render from version stable/2022-08-01 to version 2024-04-01
* Updates readme
* Updates API version in new specs and examples
* update static map API doc
* small change on static map doc
* update tilesetId section
* add static map supported tilesetid and trafficLayer
* update range table and static image example
* fix typo
* add additional static image example
* error fix
* run prettier on static image example json
* set tilesetId as optional
* update max/min latitude/longitude table
* update Accept header for static image API
* error fix
* add explanation for Accept header
* typo
* add parameter limitation
* improve wording
* add path and pin parameter type
* fix tables
* improve on example
* typo fix
* run prettier
* wording fix
* map attribution description update
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* state tile description update
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* map tile description update
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* map tileset description update
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* map copyright caption description change
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* map copyright bounding description update
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* weather radar tile description update
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* weather infrared tiles description update
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* map copyright tile description update
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* map copyright world description update
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* remove pricing tiers applies
* reduce get copyright example length
* add summary for render 20240401
* remove summary from static image
* remove please from language and view
* add package-2024-04-01 to readme
* revert back common change
* revert changes in maps readme
* \n fix
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* typo fix
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* typo fix for map copyright caption
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* typo fix for statetile
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
* typo fix for map copyright world
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
---------
Co-authored-by: steve munk <33468793+stevemunk@users.noreply.github.com>
Co-authored-by: Joel Hendrix
---
.../maps/data-plane/Render/readme.md | 15 +-
.../examples/Render_GetCopyrightCaption.json | 14 +
.../examples/Render_GetCopyrightForTile.json | 86 ++
.../examples/Render_GetCopyrightForWorld.json | 45 +
.../Render_GetCopyrightFromBoundingBox.json | 59 +
.../examples/Render_GetMapAttribution.json | 23 +
.../examples/Render_GetMapStateTile.json | 17 +
.../examples/Render_GetMapStaticImage.json | 19 +
.../examples/Render_GetMapTile.json | 17 +
.../examples/Render_GetMapTileset.json | 28 +
.../Render/stable/2024-04-01/render.json | 1022 +++++++++++++++++
11 files changed, 1342 insertions(+), 3 deletions(-)
create mode 100644 specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetCopyrightCaption.json
create mode 100644 specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetCopyrightForTile.json
create mode 100644 specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetCopyrightForWorld.json
create mode 100644 specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetCopyrightFromBoundingBox.json
create mode 100644 specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetMapAttribution.json
create mode 100644 specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetMapStateTile.json
create mode 100644 specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetMapStaticImage.json
create mode 100644 specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetMapTile.json
create mode 100644 specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetMapTileset.json
create mode 100644 specification/maps/data-plane/Render/stable/2024-04-01/render.json
diff --git a/specification/maps/data-plane/Render/readme.md b/specification/maps/data-plane/Render/readme.md
index 2df50d44fdd8..ff0ba8a3aa5f 100644
--- a/specification/maps/data-plane/Render/readme.md
+++ b/specification/maps/data-plane/Render/readme.md
@@ -27,11 +27,10 @@ These are the global settings for Render Client.
``` yaml
title: RenderClient
openapi-type: data-plane
-tag: 2.1 # removed "preview" as it started causing validation errors from v0.26 of the Swagger Lintdiff.
-# at some point those credentials will move away to Swagger according to [this](https://github.com/Azure/autorest/issues/3718)
+tag: package-2024-04-01
add-credentials: true
credential-default-policy-type: BearerTokenCredentialPolicy
-credential-scopes: https://atlas.microsoft.com/.default
+credential-scopes: 'https://atlas.microsoft.com/.default'
track2: true
verbose: true
sdk-integration: true
@@ -48,9 +47,19 @@ directive:
reason: false positive from oav is breaking our example validation. See azure/oav#1021.
```
+
+### Tag: package-2024-04-01
+
+These settings apply only when `--tag=package-2024-04-01` is specified on the command line.
+
+```yaml $(tag) == 'package-2024-04-01'
+input-file:
+ - stable/2024-04-01/render.json
+```
### Tag: 2022-08-01
These settings apply only when `--tag=2022-08-01` is specified on the command line.
+
``` yaml $(tag) == '2022-08-01'
input-file:
- stable/2022-08-01/render.json
diff --git a/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetCopyrightCaption.json b/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetCopyrightCaption.json
new file mode 100644
index 000000000000..97ca0985da46
--- /dev/null
+++ b/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetCopyrightCaption.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "format": "json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "formatVersion": "0.0.1",
+ "copyrightsCaption": "© 1992 - 2022 TomTom."
+ }
+ }
+ }
+}
diff --git a/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetCopyrightForTile.json b/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetCopyrightForTile.json
new file mode 100644
index 000000000000..c4ff7adfa4c0
--- /dev/null
+++ b/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetCopyrightForTile.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "format": "json",
+ "zoom": 6,
+ "x": 9,
+ "y": 22
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "formatVersion": "0.0.1",
+ "generalCopyrights": [
+ "© 1992 - 2022 TomTom. All rights reserved. This material is proprietary and the subject of copyright protection, database right protection and other intellectual property rights owned by TomTom or its suppliers. The use of this material is subject to the terms of a license agreement. Any unauthorized copying or disclosure of this material will lead to criminal and civil liabilities.",
+ "Data Source © 2022 TomTom",
+ "based on"
+ ],
+ "regions": [
+ {
+ "country": {
+ "ISO3": "CAN",
+ "label": "Canada"
+ },
+ "copyrights": [
+ "You agree to include as soon as practically possible, but no later than the first new release of the Authorized Application following Your receipt of any 3D Landmarks, any copyright notices related to the display of such landmarks on every Authorized Application and in the “about box” of the Authorized Application. Notwithstanding the aforementioned, TomTom has the right to decide, at its sole discretion, to remove specific 3D Landmarks in subsequent releases of the Licensed Products. In such case, You will remove those 3D Landmarks from the Authorized Application as soon as practically possible, but not later than the first new release of the Authorized Application following Your receipt of the Update to the Licensed Product. TomTom shall not be held responsible for any possible damages, costs or expenses incurred by You related to such removal of a 3D Landmark by TomTom from the Licensed Product or failure to remove a 3D Landmark by You from the Authorized Application.",
+ "TomTom hereby grants to You a non-exclusive, non-transferable license to use the Software Licensed Products for the sole and limited purpose of assisting You in viewing, analyzing and sectioning the Licensed Products. In no event shall You use the Software Licensed Products to view, analyze, section or in any way manipulate spatial map data that is not provided by TomTom. You shall not derive or attempt to derive the source code of all or any portion of the Licensed Products by reverse engineering, disassembly, decompilation, translation or any other means. You shall affix the following copyright notice on any copy of the GDF Viewer, or any portion of the Licensed Products: “Software ©2011-2020 TomTom North America, Inc. All rights reserved.",
+ "Neither the Data nor the Licensed Products such as Speed Profiles or TomTom Traffic or any derivatives thereof shall be used for the purpose of enforcement of traffic laws including but not limited to the selection of potential locations for the installation of speed cameras, speed traps or other speed tracking devices. With regards to Speed Profiles, You acknowledge and agrees that the actual speeds may not reflect the legally imposed speed limits.",
+ "You specifically agree that it shall not: (i) store the data for more than twenty-four (24) hours on Your servers; (ii) broadcast or make Live Services Licensed Products available except to authorized End Users; and (iii) use the feed or information received via the feed for historical data purposes (including but not limited to collection or analysis).",
+ "© 1992 – 2021 TomTom. All rights reserved. This material is proprietary and the subject of copyright protection and other intellectual property rights owned or licensed to TomTom. The product includes information copied with permission from Canadian authorities, including © Canada Post Corporation. All rights reserved. The use of this material is subject to the terms of a License Agreement. You will be held liable for any unauthorized copying or disclosure of this material.",
+ "The following copyright notice applies to the use of Post- FSA layer and 6-digit layer: © 1992 – 2021 TomTom. All rights reserved. This material is proprietary and the subject of copyright protection and other intellectual property rights owned or licensed to TomTom. The product includes information copied with permission from Canadian authorities, including © Canada Post Corporation, All rights reserved. The use of this material is subject to the terms of a License Agreement. You will be held liable for any unauthorized copying or disclosure of this material. The following copyright notice applies to the use of Points of Interest: © 1992 – 2021 TomTom. All rights reserved. Portions of the POI database contained in Points of Interest North America have been provided by Neustar Localeze The following copyright notice applies to the use of Telecommunications: © 2021 Pitney Bowes Software Inc. All rights reserved. This product contains information and/or data of iconectiv, licensed to be included herein. Copyright © 2021 iconectiv. All rights reserved. The following copyright notice applies to the use of Logistics: © 1992 – 2021 TomTom. Truck Attribute Data © 2004 - 2021 ProMiles Software Development Corporation. All rights reserved. This material is proprietary and the subject of copyright protection and other intellectual property rights owned or licensed to TomTom.",
+ "The 6-digit alpha/numeric Canadian Postal Codes contained in any Licensed Product cannot be used for bulk mailing of items through the Canadian postal system. Furthermore, the 6-digit alpha/numeric Canadian Postal Codes must be wholly contained in the Authorized Application and shall not be extractable. Canadian Postal Codes cannot be displayed or used for postal code look-up on the Internet, nor can they be extracted or exported from any application to be utilized in the creation of any other data set or application. Notwithstanding the above, an End User may optionally correct or derive Canadian Postal Codes using the Authorized Application, but only as part of the address information for locations (e.g.: of delivery points and depots) that have been set up in the Authorized Application, and optionally extract data for fleet management purposes.",
+ "This product contains information adapted from Statistics Canada: Boundary Files, 2016 Census; Road Network File, 2018; and Census Population and Dwelling Count Highlight Tables, 2016 Census. This does not constitute an endorsement by Statistics Canada of this product.",
+ "Contains information licensed under Open Government Licence – Canada.",
+ "Contains data made available by GeoNames licensed under CC-BY 4.0. For more information visit http://www.geonames.org/.",
+ "Contains information provided by TransLink (South Coast British Columbia Transportation Authority) under the modified open GTFS Data Terms of Use Agreement. For specifics: https://developer.translink.ca/ServicesGtfs/GtfsData",
+ "Contains information licensed under Open Government Licence: * Vancouver * City of Victoria * British Columbia * City of Surrey * Kamloops * Nanaimo * City of Westminster * City of Prince George * Burnaby * City of Kelowna * Maple Ridge * North Vancouver"
+ ]
+ },
+ {
+ "country": {
+ "ISO3": "OCP",
+ "label": ""
+ },
+ "copyrights": [
+ "You agree to include as soon as practically possible, but no later than the first new release of the Authorized Application following Your receipt of any 3D Landmarks, any copyright notices related to the display of such landmarks on every Authorized Application and in the “about box” of the Authorized Application. Notwithstanding the aforementioned, TomTom has the right to decide, at its sole discretion, to remove specific 3D Landmarks in subsequent releases of the Licensed Products. In such case, You will remove those 3D Landmarks from the Authorized Application as soon as practically possible, but not later than the first new release of the Authorized Application following Your receipt of the Update to the Licensed Product. TomTom shall not be held responsible for any possible damages, costs or expenses incurred by You related to such removal of a 3D Landmark by TomTom from the Licensed Product or failure to remove a 3D Landmark by You from the Authorized Application.",
+ "TomTom hereby grants to You a non-exclusive, non-transferable license to use the Software Licensed Products for the sole and limited purpose of assisting You in viewing, analyzing and sectioning the Licensed Products. In no event shall You use the Software Licensed Products to view, analyze, section or in any way manipulate spatial map data that is not provided by TomTom. You shall not derive or attempt to derive the source code of all or any portion of the Licensed Products by reverse engineering, disassembly, decompilation, translation or any other means. You shall affix the following copyright notice on any copy of the GDF Viewer, or any portion of the Licensed Products: “Software ©2011-2020 TomTom North America, Inc. All rights reserved.",
+ "Neither the Data nor the Licensed Products such as Speed Profiles or TomTom Traffic or any derivatives thereof shall be used for the purpose of enforcement of traffic laws including but not limited to the selection of potential locations for the installation of speed cameras, speed traps or other speed tracking devices. With regards to Speed Profiles, You acknowledge and agrees that the actual speeds may not reflect the legally imposed speed limits.",
+ "You specifically agree that it shall not: (i) store the data for more than twenty-four (24) hours on Your servers; (ii) broadcast or make Live Services Licensed Products available except to authorized End Users; and (iii) use the feed or information received via the feed for historical data purposes (including but not limited to collection or analysis)."
+ ]
+ },
+ {
+ "country": {
+ "ISO3": "OUP",
+ "label": ""
+ },
+ "copyrights": [
+ "You agree to include as soon as practically possible, but no later than the first new release of the Authorized Application following Your receipt of any 3D Landmarks, any copyright notices related to the display of such landmarks on every Authorized Application and in the “about box” of the Authorized Application. Notwithstanding the aforementioned, TomTom has the right to decide, at its sole discretion, to remove specific 3D Landmarks in subsequent releases of the Licensed Products. In such case, You will remove those 3D Landmarks from the Authorized Application as soon as practically possible, but not later than the first new release of the Authorized Application following Your receipt of the Update to the Licensed Product. TomTom shall not be held responsible for any possible damages, costs or expenses incurred by You related to such removal of a 3D Landmark by TomTom from the Licensed Product or failure to remove a 3D Landmark by You from the Authorized Application.",
+ "TomTom hereby grants to You a non-exclusive, non-transferable license to use the Software Licensed Products for the sole and limited purpose of assisting You in viewing, analyzing and sectioning the Licensed Products. In no event shall You use the Software Licensed Products to view, analyze, section or in any way manipulate spatial map data that is not provided by TomTom. You shall not derive or attempt to derive the source code of all or any portion of the Licensed Products by reverse engineering, disassembly, decompilation, translation or any other means. You shall affix the following copyright notice on any copy of the GDF Viewer, or any portion of the Licensed Products: “Software ©2011-2020 TomTom North America, Inc. All rights reserved.",
+ "Neither the Data nor the Licensed Products such as Speed Profiles or TomTom Traffic or any derivatives thereof shall be used for the purpose of enforcement of traffic laws including but not limited to the selection of potential locations for the installation of speed cameras, speed traps or other speed tracking devices. With regards to Speed Profiles, You acknowledge and agrees that the actual speeds may not reflect the legally imposed speed limits.",
+ "You specifically agree that it shall not: (i) store the data for more than twenty-four (24) hours on Your servers; (ii) broadcast or make Live Services Licensed Products available except to authorized End Users; and (iii) use the feed or information received via the feed for historical data purposes (including but not limited to collection or analysis)."
+ ]
+ },
+ {
+ "country": {
+ "ISO3": "USA",
+ "label": "United States"
+ },
+ "copyrights": [
+ "You agree to include as soon as practically possible, but no later than the first new release of the Authorized Application following Your receipt of any 3D Landmarks, any copyright notices related to the display of such landmarks on every Authorized Application and in the “about box” of the Authorized Application. Notwithstanding the aforementioned, TomTom has the right to decide, at its sole discretion, to remove specific 3D Landmarks in subsequent releases of the Licensed Products. In such case, You will remove those 3D Landmarks from the Authorized Application as soon as practically possible, but not later than the first new release of the Authorized Application following Your receipt of the Update to the Licensed Product. TomTom shall not be held responsible for any possible damages, costs or expenses incurred by You related to such removal of a 3D Landmark by TomTom from the Licensed Product or failure to remove a 3D Landmark by You from the Authorized Application.",
+ "TomTom hereby grants to You a non-exclusive, non-transferable license to use the Software Licensed Products for the sole and limited purpose of assisting You in viewing, analyzing and sectioning the Licensed Products. In no event shall You use the Software Licensed Products to view, analyze, section or in any way manipulate spatial map data that is not provided by TomTom. You shall not derive or attempt to derive the source code of all or any portion of the Licensed Products by reverse engineering, disassembly, decompilation, translation or any other means. You shall affix the following copyright notice on any copy of the GDF Viewer, or any portion of the Licensed Products: “Software ©2011-2020 TomTom North America, Inc. All rights reserved.",
+ "Neither the Data nor the Licensed Products such as Speed Profiles or TomTom Traffic or any derivatives thereof shall be used for the purpose of enforcement of traffic laws including but not limited to the selection of potential locations for the installation of speed cameras, speed traps or other speed tracking devices. With regards to Speed Profiles, You acknowledge and agrees that the actual speeds may not reflect the legally imposed speed limits.",
+ "You specifically agree that it shall not: (i) store the data for more than twenty-four (24) hours on Your servers; (ii) broadcast or make Live Services Licensed Products available except to authorized End Users; and (iii) use the feed or information received via the feed for historical data purposes (including but not limited to collection or analysis).",
+ "The following copyright notice applies to the use of Post- FSA layer and 6-digit layer: © 1992 – 2021 TomTom. All rights reserved. This material is proprietary and the subject of copyright protection and other intellectual property rights owned or licensed to TomTom. The product includes information copied with permission from Canadian authorities, including © Canada Post Corporation, All rights reserved. The use of this material is subject to the terms of a License Agreement. You will be held liable for any unauthorized copying or disclosure of this material. The following copyright notice applies to the use of Points of Interest: © 1992 – 2021 TomTom. All rights reserved. Portions of the POI database contained in Points of Interest North America have been provided by Neustar Localeze The following copyright notice applies to the use of Telecommunications: © 2021 Pitney Bowes Software Inc. All rights reserved. This product contains information and/or data of iconectiv, licensed to be included herein. Copyright © 2021 iconectiv. All rights reserved. The following copyright notice applies to the use of Logistics: © 1992 – 2021 TomTom. Truck Attribute Data © 2004 - 2021 ProMiles Software Development Corporation. All rights reserved. This material is proprietary and the subject of copyright protection and other intellectual property rights owned or licensed to TomTom.",
+ "© United States Postal Service 2021",
+ "You shall not use the Municipal Boundary layer of the Administrative Areas product to create or derive applications which are used by third parties for the purpose of tariff, tax jurisdiction, or tax rate determination for a particular address or range of addresses.",
+ "This product is built on basis on the following elevation data: SRTM, GTOPO, NED data available from the US Geological Survey: https://lta.cr.usgs.gov/products_overview",
+ "This product is built on basis on the following elevation data: 2-minute Gridded Global Relief Data (ETOPO2v2) available from U.S. Department of Commerce, National Oceanic and Atmospheric Administration, National Geophysical Data Center: http://www.ngdc.noaa.gov/mgg/fliers/06mgg01.html",
+ "Contains data made available by City of Everett, WA with the following disclaimer:",
+ "\"The data made available here has been modified for use from its original source, which is the City of Everett. Neither the City of Everett nor the Information Technology Department makes any claims as to the completeness, timeliness, accuracy or content of any data contained in this application; makes any representation of any kind, including, but not limited to, warranty of the accuracy or fitness for a particular use; nor are any such warranties to be implied or inferred with respect to the information or data furnished herein. The data is subject to change as modifications and updates are complete. It is understood that the information contained in the web feed is being used at one's own risk.\" For specifics, please reference: https://data.everettwa.gov/"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetCopyrightForWorld.json b/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetCopyrightForWorld.json
new file mode 100644
index 000000000000..7fb3b04be8be
--- /dev/null
+++ b/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetCopyrightForWorld.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "format": "json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "formatVersion": "0.0.1",
+ "generalCopyrights": [
+ "© 1992 - 2022 TomTom. All rights reserved. This material is proprietary and the subject of copyright protection, database right protection and other intellectual property rights owned by TomTom or its suppliers. The use of this material is subject to the terms of a license agreement. Any unauthorized copying or disclosure of this material will lead to criminal and civil liabilities.",
+ "Data Source © 2022 TomTom",
+ "based on"
+ ],
+ "regions": [
+ {
+ "country": {
+ "ISO3": "ABW",
+ "label": "Aruba"
+ },
+ "copyrights": [
+ "You agree to include as soon as practically possible, but no later than the first new release of the Authorized Application following Your receipt of any 3D Landmarks, any copyright notices related to the display of such landmarks on every Authorized Application and in the “about box” of the Authorized Application. Notwithstanding the aforementioned, TomTom has the right to decide, at its sole discretion, to remove specific 3D Landmarks in subsequent releases of the Licensed Products. In such case, You will remove those 3D Landmarks from the Authorized Application as soon as practically possible, but not later than the first new release of the Authorized Application following Your receipt of the Update to the Licensed Product. TomTom shall not be held responsible for any possible damages, costs or expenses incurred by You related to such removal of a 3D Landmark by TomTom from the Licensed Product or failure to remove a 3D Landmark by You from the Authorized Application.",
+ "TomTom hereby grants to You a non-exclusive, non-transferable license to use the Software Licensed Products for the sole and limited purpose of assisting You in viewing, analyzing and sectioning the Licensed Products. In no event shall You use the Software Licensed Products to view, analyze, section or in any way manipulate spatial map data that is not provided by TomTom. You shall not derive or attempt to derive the source code of all or any portion of the Licensed Products by reverse engineering, disassembly, decompilation, translation or any other means. You shall affix the following copyright notice on any copy of the GDF Viewer, or any portion of the Licensed Products: “Software ©2011-2020 TomTom North America, Inc. All rights reserved.",
+ "Neither the Data nor the Licensed Products such as Speed Profiles or TomTom Traffic or any derivatives thereof shall be used for the purpose of enforcement of traffic laws including but not limited to the selection of potential locations for the installation of speed cameras, speed traps or other speed tracking devices. With regards to Speed Profiles, You acknowledge and agrees that the actual speeds may not reflect the legally imposed speed limits.",
+ "You specifically agree that it shall not: (i) store the data for more than twenty-four (24) hours on Your servers; (ii) broadcast or make Live Services Licensed Products available except to authorized End Users; and (iii) use the feed or information received via the feed for historical data purposes (including but not limited to collection or analysis)."
+ ]
+ },
+ "......",
+ {
+ "country": {
+ "ISO3": "ZWE",
+ "label": "Zimbabwe"
+ },
+ "copyrights": [
+ "You agree to include as soon as practically possible, but no later than the first new release of the Authorized Application following Your receipt of any 3D Landmarks, any copyright notices related to the display of such landmarks on every Authorized Application and in the “about box” of the Authorized Application. Notwithstanding the aforementioned, TomTom has the right to decide, at its sole discretion, to remove specific 3D Landmarks in subsequent releases of the Licensed Products. In such case, You will remove those 3D Landmarks from the Authorized Application as soon as practically possible, but not later than the first new release of the Authorized Application following Your receipt of the Update to the Licensed Product. TomTom shall not be held responsible for any possible damages, costs or expenses incurred by You related to such removal of a 3D Landmark by TomTom from the Licensed Product or failure to remove a 3D Landmark by You from the Authorized Application.",
+ "TomTom hereby grants to You a non-exclusive, non-transferable license to use the Software Licensed Products for the sole and limited purpose of assisting You in viewing, analyzing and sectioning the Licensed Products. In no event shall You use the Software Licensed Products to view, analyze, section or in any way manipulate spatial map data that is not provided by TomTom. You shall not derive or attempt to derive the source code of all or any portion of the Licensed Products by reverse engineering, disassembly, decompilation, translation or any other means. You shall affix the following copyright notice on any copy of the GDF Viewer, or any portion of the Licensed Products: “Software ©2011-2020 TomTom North America, Inc. All rights reserved.",
+ "Neither the Data nor the Licensed Products such as Speed Profiles or TomTom Traffic or any derivatives thereof shall be used for the purpose of enforcement of traffic laws including but not limited to the selection of potential locations for the installation of speed cameras, speed traps or other speed tracking devices. With regards to Speed Profiles, You acknowledge and agrees that the actual speeds may not reflect the legally imposed speed limits.",
+ "You specifically agree that it shall not: (i) store the data for more than twenty-four (24) hours on Your servers; (ii) broadcast or make Live Services Licensed Products available except to authorized End Users; and (iii) use the feed or information received via the feed for historical data purposes (including but not limited to collection or analysis)."
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetCopyrightFromBoundingBox.json b/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetCopyrightFromBoundingBox.json
new file mode 100644
index 000000000000..6f1bcbfa9b43
--- /dev/null
+++ b/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetCopyrightFromBoundingBox.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "format": "json",
+ "mincoordinates": [
+ 52.41064,
+ 4.84228
+ ],
+ "maxcoordinates": [
+ 52.41072,
+ 4.84239
+ ],
+ "text": "yes"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "formatVersion": "0.0.1",
+ "generalCopyrights": [
+ "© 1992 - 2022 TomTom. All rights reserved. This material is proprietary and the subject of copyright protection, database right protection and other intellectual property rights owned by TomTom or its suppliers. The use of this material is subject to the terms of a license agreement. Any unauthorized copying or disclosure of this material will lead to criminal and civil liabilities.",
+ "Data Source © 2022 TomTom",
+ "based on"
+ ],
+ "regions": [
+ {
+ "country": {
+ "ISO3": "NLD",
+ "label": "Netherlands"
+ },
+ "copyrights": [
+ "You agree to include as soon as practically possible, but no later than the first new release of the Authorized Application following Your receipt of any 3D Landmarks, any copyright notices related to the display of such landmarks on every Authorized Application and in the “about box” of the Authorized Application. Notwithstanding the aforementioned, TomTom has the right to decide, at its sole discretion, to remove specific 3D Landmarks in subsequent releases of the Licensed Products. In such case, You will remove those 3D Landmarks from the Authorized Application as soon as practically possible, but not later than the first new release of the Authorized Application following Your receipt of the Update to the Licensed Product. TomTom shall not be held responsible for any possible damages, costs or expenses incurred by You related to such removal of a 3D Landmark by TomTom from the Licensed Product or failure to remove a 3D Landmark by You from the Authorized Application.",
+ "TomTom hereby grants to You a non-exclusive, non-transferable license to use the Software Licensed Products for the sole and limited purpose of assisting You in viewing, analyzing and sectioning the Licensed Products. In no event shall You use the Software Licensed Products to view, analyze, section or in any way manipulate spatial map data that is not provided by TomTom. You shall not derive or attempt to derive the source code of all or any portion of the Licensed Products by reverse engineering, disassembly, decompilation, translation or any other means. You shall affix the following copyright notice on any copy of the GDF Viewer, or any portion of the Licensed Products: “Software ©2011-2020 TomTom North America, Inc. All rights reserved.",
+ "Neither the Data nor the Licensed Products such as Speed Profiles or TomTom Traffic or any derivatives thereof shall be used for the purpose of enforcement of traffic laws including but not limited to the selection of potential locations for the installation of speed cameras, speed traps or other speed tracking devices. With regards to Speed Profiles, You acknowledge and agrees that the actual speeds may not reflect the legally imposed speed limits.",
+ "You specifically agree that it shall not: (i) store the data for more than twenty-four (24) hours on Your servers; (ii) broadcast or make Live Services Licensed Products available except to authorized End Users; and (iii) use the feed or information received via the feed for historical data purposes (including but not limited to collection or analysis).",
+ "Contains data licensed under CC-BY 4.0. For more information visit: * Kadaster Top10NL http://nationaalgeoregister.nl/geonetwork/srv/dut/catalog.search#/metadata/29d5310f-dd0d-45ba-abad-b4ffc6b8785f?tab=general * Kadaster BGT http://nationaalgeoregister.nl/geonetwork/srv/dut/catalog.search#/metadata/2cb4769c-b56e-48fa-8685-c48f61b9a319?tab=general * CBS Bestand Bodemgebruik http://nationaalgeoregister.nl/geonetwork/srv/dut/catalog.search#/metadata/2d3dd6d2-2d2b-4b5f-9e30-86e19ed77a56?tab=general",
+ "Contains data licensed under CC-BY 2.0. For more information visit: * Municipality of Amsterdam Datasets Parkeergarages https://data.amsterdam.nl/index.html#?dte=https:%2F%2Fapi.datapunt.amsterdam.nl%2Fcatalogus%2Fapi%2F3%2Faction%2Fpackage_show%3Fid%3Df06f5a77-04f6-432f-9fd9-ce9d740631aa&dtfs=T&mpb=topografie&mpz=9&mpv=52.3719:4.9012",
+ "Contains data licensed under CC-BY 3.0. For more information visit: * Municipality of Amsterdam Multiple cat POI's https://data.amsterdam.nl/index.html#?dsd=dcatd&dsp=1&dsq=open%2520data&dsv=CATALOG&mpb=topografie&mpz=11&mpv=52.3731081:4.8932945",
+ "This product contains public transport stops data made available under 9292 Open Data framework as documented on March 2013. This is specified in their terms available here: http://9292opendata.org/sla",
+ "This product contains traffic incident information made available by NDW under open source data policy: https://www.ndw.nu/pagina/nl/103/datalevering/120/open_data/"
+ ]
+ },
+ {
+ "country": {
+ "ISO3": "ONL",
+ "label": ""
+ },
+ "copyrights": [
+ "You agree to include as soon as practically possible, but no later than the first new release of the Authorized Application following Your receipt of any 3D Landmarks, any copyright notices related to the display of such landmarks on every Authorized Application and in the “about box” of the Authorized Application. Notwithstanding the aforementioned, TomTom has the right to decide, at its sole discretion, to remove specific 3D Landmarks in subsequent releases of the Licensed Products. In such case, You will remove those 3D Landmarks from the Authorized Application as soon as practically possible, but not later than the first new release of the Authorized Application following Your receipt of the Update to the Licensed Product. TomTom shall not be held responsible for any possible damages, costs or expenses incurred by You related to such removal of a 3D Landmark by TomTom from the Licensed Product or failure to remove a 3D Landmark by You from the Authorized Application.",
+ "TomTom hereby grants to You a non-exclusive, non-transferable license to use the Software Licensed Products for the sole and limited purpose of assisting You in viewing, analyzing and sectioning the Licensed Products. In no event shall You use the Software Licensed Products to view, analyze, section or in any way manipulate spatial map data that is not provided by TomTom. You shall not derive or attempt to derive the source code of all or any portion of the Licensed Products by reverse engineering, disassembly, decompilation, translation or any other means. You shall affix the following copyright notice on any copy of the GDF Viewer, or any portion of the Licensed Products: “Software ©2011-2020 TomTom North America, Inc. All rights reserved.",
+ "Neither the Data nor the Licensed Products such as Speed Profiles or TomTom Traffic or any derivatives thereof shall be used for the purpose of enforcement of traffic laws including but not limited to the selection of potential locations for the installation of speed cameras, speed traps or other speed tracking devices. With regards to Speed Profiles, You acknowledge and agrees that the actual speeds may not reflect the legally imposed speed limits.",
+ "You specifically agree that it shall not: (i) store the data for more than twenty-four (24) hours on Your servers; (ii) broadcast or make Live Services Licensed Products available except to authorized End Users; and (iii) use the feed or information received via the feed for historical data purposes (including but not limited to collection or analysis)."
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetMapAttribution.json b/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetMapAttribution.json
new file mode 100644
index 000000000000..a1b49814f030
--- /dev/null
+++ b/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetMapAttribution.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "tilesetId": "microsoft.base",
+ "zoom": 6,
+ "bounds": [
+ -122.414162,
+ 47.579490,
+ -122.247157,
+ 47.668372
+ ]
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "copyrights": [
+ "©2022 TomTom"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetMapStateTile.json b/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetMapStateTile.json
new file mode 100644
index 000000000000..950c34ed85da
--- /dev/null
+++ b/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetMapStateTile.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "statesetId": "[statesetId]",
+ "zoom": 6,
+ "x": 10,
+ "y": 22
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.mapbox-vector-tile"
+ },
+ "body": "{file}"
+ }
+ }
+}
diff --git a/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetMapStaticImage.json b/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetMapStaticImage.json
new file mode 100644
index 000000000000..dc2cea39e287
--- /dev/null
+++ b/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetMapStaticImage.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "zoom": 10,
+ "center": [
+ -122.177621,
+ 47.613079
+ ],
+ "tilesetId": "microsoft.base.road"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "image/png"
+ },
+ "body": "{file}"
+ }
+ }
+}
diff --git a/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetMapTile.json b/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetMapTile.json
new file mode 100644
index 000000000000..0b6067d66de6
--- /dev/null
+++ b/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetMapTile.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "tilesetId": "microsoft.base",
+ "zoom": 6,
+ "x": 10,
+ "y": 22
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.mapbox-vector-tile"
+ },
+ "body": "binary image string"
+ }
+ }
+}
diff --git a/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetMapTileset.json b/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetMapTileset.json
new file mode 100644
index 000000000000..e26ae31605d2
--- /dev/null
+++ b/specification/maps/data-plane/Render/stable/2024-04-01/examples/Render_GetMapTileset.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "tilesetId": "microsoft.base"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "tilejson": "2.2.0",
+ "version": "1.0.0",
+ "attribution": "©2022 TomTom",
+ "scheme": "xyz",
+ "tiles": [
+ "https://atlas.microsoft.com/map/tile?api-version=2024-04-01&tilesetId={tilesetId}&zoom={zoom}&x={x}&y={y}"
+ ],
+ "minzoom": 0,
+ "maxzoom": 22,
+ "bounds": [
+ -180.0,
+ -90.0,
+ 180.0,
+ 90.0
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/maps/data-plane/Render/stable/2024-04-01/render.json b/specification/maps/data-plane/Render/stable/2024-04-01/render.json
new file mode 100644
index 000000000000..9ae21d4b91f8
--- /dev/null
+++ b/specification/maps/data-plane/Render/stable/2024-04-01/render.json
@@ -0,0 +1,1022 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Maps Render Service",
+ "version": "2024-04-01",
+ "description": "Azure Maps Render REST APIs"
+ },
+ "host": "atlas.microsoft.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "AADToken": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "These are the [Microsoft Entra OAuth 2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Microsoft Entra ID configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* For more information on Microsoft identity platform, see [Microsoft identity platform overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).",
+ "scopes": {
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
+ }
+ },
+ "AzureKey": {
+ "type": "apiKey",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "name": "subscription-key",
+ "in": "header"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "AzureKey": []
+ },
+ {
+ "SasToken": []
+ }
+ ],
+ "responses": {},
+ "parameters": {
+ "ApiVersion": {
+ "name": "api-version",
+ "description": "Version number of Azure Maps API. Current version is 2024-04-01.",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "x-ms-parameter-location": "client"
+ },
+ "BoundingBoxNorthEast": {
+ "name": "maxcoordinates",
+ "x-ms-client-name": "northEast",
+ "in": "query",
+ "description": "Maximum coordinates (north-east point) of bounding box in latitude longitude coordinate system. E.g. 52.41064,4.84228",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "number",
+ "format": "double"
+ },
+ "collectionFormat": "csv",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "BoundingBox"
+ }
+ },
+ "BoundingBoxSouthWest": {
+ "name": "mincoordinates",
+ "x-ms-client-name": "southWest",
+ "in": "query",
+ "description": "Minimum coordinates (south-west point) of bounding box in latitude longitude coordinate system. E.g. 52.41064,4.84228",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "number",
+ "format": "double"
+ },
+ "collectionFormat": "csv",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "BoundingBox"
+ }
+ },
+ "MapTileSize": {
+ "name": "tileSize",
+ "in": "query",
+ "description": "The size of the returned map tile in pixels.",
+ "type": "string",
+ "enum": [
+ "256",
+ "512"
+ ],
+ "x-ms-enum": {
+ "name": "MapTileSize",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "256",
+ "name": "size256",
+ "description": "Return a 256 by 256 pixel tile."
+ },
+ {
+ "value": "512",
+ "name": "size512",
+ "description": "Return a 512 by 512 pixel tile."
+ }
+ ]
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "TilesetId": {
+ "name": "tilesetId",
+ "description": "A tileset is a collection of raster or vector data broken up into a uniform grid of square tiles at preset zoom levels. Every tileset has a **tilesetId** to use when making requests. The **tilesetId** for tilesets created using [Azure Maps Creator](https://aka.ms/amcreator) are generated through the [Tileset Create API](https://docs.microsoft.com/rest/api/maps-creator/tileset). The ready-to-use tilesets supplied by Azure Maps are listed below. For example, microsoft.base.",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "enum": [
+ "microsoft.base",
+ "microsoft.base.labels",
+ "microsoft.base.hybrid",
+ "microsoft.terra.main",
+ "microsoft.base.road",
+ "microsoft.base.darkgrey",
+ "microsoft.base.labels.road",
+ "microsoft.base.labels.darkgrey",
+ "microsoft.base.hybrid.road",
+ "microsoft.base.hybrid.darkgrey",
+ "microsoft.imagery",
+ "microsoft.weather.radar.main",
+ "microsoft.weather.infrared.main",
+ "microsoft.traffic.absolute",
+ "microsoft.traffic.absolute.main",
+ "microsoft.traffic.relative",
+ "microsoft.traffic.relative.main",
+ "microsoft.traffic.relative.dark",
+ "microsoft.traffic.delay",
+ "microsoft.traffic.delay.main",
+ "microsoft.traffic.reduced.main",
+ "microsoft.traffic.incident"
+ ],
+ "x-ms-enum": {
+ "name": "TilesetID",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "microsoft.base",
+ "description": "A base map is a standard map that displays roads, natural and artificial features along with the labels for those features in a vector tile.
\n\nSupports zoom levels 0 through 22. Format: vector (pbf)."
+ },
+ {
+ "value": "microsoft.base.labels",
+ "description": "Displays labels for roads, natural and artificial features in a vector tile.
\n\nSupports zoom levels 0 through 22. Format: vector (pbf)."
+ },
+ {
+ "value": "microsoft.base.hybrid",
+ "description": "Displays road, boundary and label data in a vector tile.
\n\nSupports zoom levels 0 through 22. Format: vector (pbf)."
+ },
+ {
+ "value": "microsoft.terra.main",
+ "description": "Shaded relief and terra layers.
\n\nSupports zoom levels 0 through 6. Format: raster (png)."
+ },
+ {
+ "value": "microsoft.base.road",
+ "description": "All layers with our main style.
\n\nSupports zoom levels 0 through 22. Format: raster (png)."
+ },
+ {
+ "value": "microsoft.base.darkgrey",
+ "description": "All layers with our dark grey style.
\n\nSupports zoom levels 0 through 22. Format: raster (png)."
+ },
+ {
+ "value": "microsoft.base.labels.road",
+ "description": "Label data in our main style.
\n\nSupports zoom levels 0 through 22. Format: raster (png)."
+ },
+ {
+ "value": "microsoft.base.labels.darkgrey",
+ "description": "Label data in our dark grey style.
\n\nSupports zoom levels 0 through 22. Format: raster (png)."
+ },
+ {
+ "value": "microsoft.base.hybrid.road",
+ "description": "Road, boundary and label data in our main style.
\n\nSupports zoom levels 0 through 22. Format: raster (png)."
+ },
+ {
+ "value": "microsoft.base.hybrid.darkgrey",
+ "description": "Road, boundary and label data in our dark grey style.
\n\nSupports zoom levels 0 through 22. Format: raster (png)."
+ },
+ {
+ "value": "microsoft.imagery",
+ "description": "A combination of satellite and aerial imagery. Only available in S1 pricing SKU.
\n\nSupports zoom levels 1 through 19. Format: raster (jpeg)."
+ },
+ {
+ "value": "microsoft.weather.radar.main",
+ "description": "Weather radar tiles. Latest weather radar images including areas of rain, snow, ice and mixed conditions. For more information on the Azure Maps Weather service coverage, see [Azure Maps weather services coverage](/azure/azure-maps/weather-coverage). For more information on Radar data, see [Weather services in Azure Maps](/azure/azure-maps/weather-services-concepts#radar-images).\n\nSupports zoom levels 0 through 15. Format: raster (png)."
+ },
+ {
+ "value": "microsoft.weather.infrared.main",
+ "description": "Weather infrared tiles. Latest Infrared Satellite images shows clouds by their temperature. For more information, see [Azure Maps weather services coverage](/azure/azure-maps/weather-coverage). For more information about the satellite data returned, see [Weather services in Azure Maps](/azure-maps/weather-services-concepts#satellite-images).\n\nSupports zoom levels 0 through 15. Format: raster (png)."
+ },
+ {
+ "value": "microsoft.traffic.absolute",
+ "description": "absolute traffic tiles in vector"
+ },
+ {
+ "value": "microsoft.traffic.absolute.main",
+ "description": "absolute traffic tiles in raster in our main style."
+ },
+ {
+ "value": "microsoft.traffic.relative",
+ "description": "relative traffic tiles in vector"
+ },
+ {
+ "value": "microsoft.traffic.relative.main",
+ "description": "relative traffic tiles in raster in our main style."
+ },
+ {
+ "value": "microsoft.traffic.relative.dark",
+ "description": "relative traffic tiles in raster in our dark style."
+ },
+ {
+ "value": "microsoft.traffic.delay",
+ "description": "traffic tiles in vector"
+ },
+ {
+ "value": "microsoft.traffic.delay.main",
+ "description": "traffic tiles in raster in our main style"
+ },
+ {
+ "value": "microsoft.traffic.reduced.main",
+ "description": "reduced traffic tiles in raster in our main style"
+ },
+ {
+ "value": "microsoft.traffic.incident",
+ "description": "incident tiles in vector"
+ }
+ ]
+ },
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "paths": {
+ "/map/tile": {
+ "get": {
+ "summary": "Use to request map tiles in vector or raster format.",
+ "description": "\n\nThe `Get Map Tiles` API in an HTTP GET request that allows users to request map tiles in vector or raster formats typically to be integrated into a map control or SDK. Some example tiles that can be requested are Azure Maps road tiles, real-time Weather Radar tiles or the map tiles created using [Azure Maps Creator](https://aka.ms/amcreator). By default, Azure Maps uses vector tiles for its web map control ([Web SDK](/azure/azure-maps/about-azure-maps#web-sdk)) and [Android SDK](/azure/azure-maps/about-azure-maps#android-sdk).",
+ "operationId": "Render_GetMapTile",
+ "x-ms-client-name": "GetMapTile",
+ "x-ms-examples": {
+ "Successful Tile Request": {
+ "$ref": "./examples/Render_GetMapTile.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/TilesetId"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/zTileIndex"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/xTileIndex"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/yTileIndex"
+ },
+ {
+ "name": "timeStamp",
+ "in": "query",
+ "format": "date-time",
+ "description": "The desired date and time of the requested tile. This parameter must be specified in the standard date-time format (e.g. 2019-11-14T16:03:00-08:00), as defined by [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). This parameter is only supported when tilesetId parameter is set to one of the values below.\n \n* microsoft.weather.infrared.main: We provide tiles up to 3 hours in the past. Tiles are available in 10-minute intervals. We round the timeStamp value to the nearest 10-minute time frame.\n* microsoft.weather.radar.main: We provide tiles up to 1.5 hours in the past and up to 2 hours in the future. Tiles are available in 5-minute intervals. We round the timeStamp value to the nearest 5-minute time frame.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/MapTileSize"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/View"
+ }
+ ],
+ "produces": [
+ "application/json",
+ "image/jpeg",
+ "image/png",
+ "image/pbf",
+ "application/vnd.mapbox-vector-tile"
+ ],
+ "responses": {
+ "200": {
+ "description": "The tile returned from a successful API call.",
+ "schema": {
+ "type": "object",
+ "format": "file",
+ "readOnly": true
+ },
+ "headers": {
+ "Content-Type": {
+ "type": "string",
+ "description": "The content-type for the response."
+ }
+ }
+ },
+ "default": {
+ "$ref": "../../../Common/preview/1.0/common.json#/responses/default"
+ }
+ }
+ }
+ },
+ "/map/tileset": {
+ "get": {
+ "summary": "Use to get metadata for a tileset.",
+ "description": "\n\nThe Get Map Tileset API allows users to request metadata for a tileset.",
+ "operationId": "Render_GetMapTileset",
+ "x-ms-examples": {
+ "Successful Tileset Request": {
+ "$ref": "./examples/Render_GetMapTileset.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/TilesetId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MapTileset"
+ }
+ },
+ "default": {
+ "$ref": "../../../Common/preview/1.0/common.json#/responses/default"
+ }
+ }
+ }
+ },
+ "/map/attribution": {
+ "get": {
+ "summary": "Use to get map copyright attribution information.",
+ "description": "\n\nThe `Get Map Attribution` API allows users to request map copyright attribution information for a section of a tileset.",
+ "operationId": "Render_GetMapAttribution",
+ "x-ms-examples": {
+ "Successful Attribution Request": {
+ "$ref": "./examples/Render_GetMapAttribution.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/TilesetId"
+ },
+ {
+ "name": "zoom",
+ "in": "query",
+ "description": "Zoom level for the desired map attribution.",
+ "required": true,
+ "type": "integer",
+ "format": "int32",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "bounds",
+ "in": "query",
+ "description": "The string that represents the rectangular area of a bounding box. The bounds parameter is defined by the 4 bounding box coordinates, with WGS84 longitude and latitude of the southwest corner followed by WGS84 longitude and latitude of the northeast corner. The string is presented in the following format: `[SouthwestCorner_Longitude, SouthwestCorner_Latitude, NortheastCorner_Longitude, NortheastCorner_Latitude]`.",
+ "required": true,
+ "type": "array",
+ "collectionFormat": "csv",
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MapAttribution"
+ }
+ },
+ "default": {
+ "$ref": "../../../Common/preview/1.0/common.json#/responses/default"
+ }
+ }
+ }
+ },
+ "/map/statetile": {
+ "get": {
+ "summary": "Use to get state tiles in vector format that can then be used to display feature state information in an indoor map.",
+ "description": "\n\nFetches state tiles in vector format typically to be integrated into indoor maps module of map control or SDK. The map control will call this API after user turns on dynamic styling. For more information, see [Zoom Levels and Tile Grid](/azure/location-based-services/zoom-levels-and-tile-grid).",
+ "operationId": "Render_GetMapStateTile",
+ "x-ms-examples": {
+ "Successful State Tile Request": {
+ "$ref": "./examples/Render_GetMapStateTile.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/zTileIndex"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/xTileIndex"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/yTileIndex"
+ },
+ {
+ "name": "statesetId",
+ "in": "query",
+ "description": "The stateset id.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/vnd.mapbox-vector-tile",
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "This tile is returned from a successful Get Map State Tile call",
+ "schema": {
+ "type": "object",
+ "format": "file",
+ "readOnly": true
+ },
+ "headers": {
+ "Content-Type": {
+ "type": "string",
+ "description": "The content-type for the response."
+ }
+ }
+ },
+ "default": {
+ "$ref": "../../../Common/preview/1.0/common.json#/responses/default"
+ }
+ }
+ }
+ },
+ "/map/copyright/caption/{format}": {
+ "get": {
+ "summary": "Use to get copyright information to use when rendering a tile.",
+ "description": "\n\nThe `Get Copyright Caption` API is an HTTP GET request designed to serve copyright information to be used with tiles requested from the Render service. In addition to a basic copyright for the whole map, it can serve specific groups of copyrights for some countries/regions.\n\nAs an alternative to copyrights for map request, it can also return captions for displaying provider information on the map.",
+ "operationId": "Render_GetCopyrightCaption",
+ "x-ms-examples": {
+ "Successful Copyright Caption Request": {
+ "$ref": "./examples/Render_GetCopyrightCaption.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CopyrightCaption"
+ }
+ },
+ "default": {
+ "$ref": "../../../Common/preview/1.0/common.json#/responses/default"
+ }
+ }
+ }
+ },
+ "/map/static": {
+ "get": {
+ "description": "This rendering API produces static, rasterized map views of a user-defined area. It's suitable for lightweight web applications, when the desired user experience doesn't require interactive map controls, or when bandwidth is limited. This API is also useful for embedding maps in applications outside of the browser, in backend services, report generation, or desktop applications. \n\n This API includes parameters for basic data visualization: \n\n- Labeled pushpins in multiple styles.\n- Render circle, path, and polygon geometry types.\n\nFor more information and detailed examples, see [Render custom data on a raster map](/azure/azure-maps/how-to-render-custom-data).\n
\nThe dimensions of the bbox parameter are constrained, depending on the zoom level. This ensures the resulting image has an appropriate level of detail.\n
\n\n |Zoom Level | Min Lon Range | Max Lon Range | Min Lat Range| Max Lat Range|\n |:----------|:----------------|:----------------|:----------------|:-------------|\n |0 | 56.25 | 360.0 | 30.1105585173 | 180.0 | \n |1 | 28.125 | 360.0 | 14.87468995 | 180.0 |\n |2 | 14.063 | 351.5625 | 7.4130741851 | 137.9576312246 |\n |3 | 7.03125 | 175.78125 | 3.7034501005 | 73.6354071932 |\n |4 | 3.515625 | 87.890625 | 1.8513375155 | 35.4776115315 |\n |5 | 1.7578125 | 43.9453125 | 0.925620264 | 17.4589959239 |\n |6 | 0.87890625 | 21.97265625 | 0.4628040687 | 8.6907788223 |\n |7 | 0.439453125 | 10.986328125 | 0.2314012764 | 4.3404320789 |\n |8 | 0.2197265625 | 5.4931640625 | 0.1157005434 | 2.1695927024 |\n |9 | 0.1098632812 | 2.7465820312 | 0.0578502599 | 1.0847183194 |\n |10 | 0.0549316406 | 1.3732910156 | 0.0289251285 | 0.5423494021 |\n |11 | 0.0274658203 | 0.6866455078 | 0.014462564 | 0.2711734813 |\n |12 | 0.0137329102 | 0.3433227539 | 0.007231282 | 0.1355865882 |\n |13 | 0.0068664551 | 0.171661377 | 0.003615641 | 0.067793275 |\n |14 | 0.0034332275 | 0.0858306885 | 0.0018078205 | 0.0338966351 |\n |15 | 0.0017166138 | 0.0429153442 | 0.0009039102 | 0.0169483173 | \n |16 | 0.0008583069 | 0.0214576721 | 0.0004519551 | 0.0084741586 | \n |17 | 0.0004291534 | 0.0107288361 | 0.0002259776 | 0.0042370793 |\n |18 | 0.0002145767 | 0.005364418 | 0.0001129888 | 0.0021185396 |\n |19 | 0.0001072884 | 0.002682209 | 5.64944E-05 | 0.0010592698 |\n |20 | 5.36442E-05 | 0.0013411045 | 2.82472E-05 | 0.0005296349 | \n\n_Note_ : Either **center** or **bbox** parameter must be supplied to the API.",
+ "operationId": "Render_GetMapStaticImage",
+ "x-ms-examples": {
+ "Successful Static Image Request": {
+ "$ref": "./examples/Render_GetMapStaticImage.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "tilesetId",
+ "in": "query",
+ "description": "Map style to be returned. Possible values are microsoft.base.road, microsoft.base.darkgrey, and microsoft.imagery. Default value is set to be microsoft.base.road. For more information, see [Render TilesetId](https://learn.microsoft.com/en-us/rest/api/maps/render/get-map-tileset?view=rest-maps-2023-06-01&tabs=HTTP#tilesetid).",
+ "type": "string",
+ "enum": [
+ "microsoft.base.road",
+ "microsoft.base.darkgrey",
+ "microsoft.imagery"
+ ],
+ "x-ms-enum": {
+ "name": "TilesetId",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "microsoft.base.road",
+ "description": "TilesetId contains all layers with rendering main style."
+ },
+ {
+ "value": "microsoft.base.darkgrey",
+ "description": "TilesetId contains all layers with our dark grey style."
+ },
+ {
+ "value": "microsoft.imagery",
+ "description": "TilesetId contains a combination of satellite and aerial imagery."
+ }
+ ]
+ }
+ },
+ {
+ "name": "trafficLayer",
+ "in": "query",
+ "description": "Optional Value, indicating no traffic flow overlaid on the image result. Possible values are microsoft.traffic.relative.main and none. Default value is none, indicating no traffic flow returned. If traffic related tilesetId is provided, will return map image with corresponding traffic layer. For more information, see [Render TilesetId](https://learn.microsoft.com/en-us/rest/api/maps/render/get-map-tileset?view=rest-maps-2023-06-01&tabs=HTTP#tilesetid).",
+ "type": "string",
+ "enum": [
+ "microsoft.traffic.relative.main",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "TrafficTilesetId",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "microsoft.traffic.relative.main",
+ "description": " Supported traffic related tilesetId."
+ },
+ {
+ "value": "none",
+ "description": " Default value, no traffic flow overlay."
+ }
+ ]
+ }
+ },
+ {
+ "name": "zoom",
+ "in": "query",
+ "description": "Desired zoom level of the map. Support zoom value range from 0-20 (inclusive) for tilesetId being microsoft.base.road or microsoft.base.darkgrey. Support zoom value range from 0-19 (inclusive) for tilesetId being microsoft.imagery. Default value is 12.
For more information, see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid).",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 20
+ },
+ {
+ "name": "center",
+ "in": "query",
+ "description": "Coordinates of the center point in double. Format: 'lon,lat'. Longitude range: -180 to 180. Latitude range: -90 to 90. \n\nNote: Either center or bbox are required parameters. They are\nmutually exclusive.",
+ "type": "array",
+ "collectionFormat": "csv",
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ {
+ "name": "bbox",
+ "x-ms-client-name": "boundingBoxPrivate",
+ "in": "query",
+ "description": "A bounding box is defined by two latitudes and two longitudes that represent the four sides of a rectangular area on the Earth. Format : 'minLon, minLat,\nmaxLon, maxLat' (in double). \n\nNote: Either bbox or center are required\nparameters. They are mutually exclusive. bbox shouldn’t be used with\nheight or width.\n\nThe maximum and minimum allowed ranges for Lat and Lon are defined for each zoom level\nin the table at the top of this page.",
+ "type": "array",
+ "collectionFormat": "csv",
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ {
+ "name": "height",
+ "in": "query",
+ "description": "Height of the resulting image in pixels. Range from 80 to 1500. Default\nis 512. It shouldn’t be used with bbox.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 80,
+ "maximum": 1500
+ },
+ {
+ "name": "width",
+ "in": "query",
+ "description": "Width of the resulting image in pixels. Range from 80 to 2000. Default is 512. It should not be used with bbox.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 80,
+ "maximum": 2000
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/View"
+ },
+ {
+ "name": "pins",
+ "description": "Pushpin style and instances. Use this parameter to optionally add pushpins to the image.\nThe pushpin style describes the appearance of the pushpins, and the instances specify\nthe coordinates of the pushpins (in double) and optional labels for each pin. (Be sure to properly URL-encode values of this\nparameter since it will contain reserved characters such as pipes and punctuation.)\n\nThe Azure Maps account S0 SKU only supports a single instance of the pins parameter. Other SKUs\nallow multiple instances of the pins parameter to specify multiple pin styles.\n\nTo render a pushpin at latitude 45°N and longitude 122°W using the default built-in pushpin style, add the\nquerystring parameter \n\n`pins=default||-122 45` \n\nNote that the longitude comes before the latitude.\nAfter URL encoding this will look like\n\n`pins=default%7C%7C-122+45`\n\nAll of the examples here show the pins\nparameter without URL encoding, for clarity.\n\nTo render a pin at multiple locations, separate each location with a pipe character. For example, use\n\n`pins=default||-122 45|-119.5 43.2|-121.67 47.12`\n\nThe S0 Azure Maps account SKU only allows five pushpins. Other account SKUs do not have this limitation.\n\n### Style Modifiers\n\nYou can modify the appearance of the pins by adding style modifiers. These are added after the style but before\nthe locations and labels. Style modifiers each have a two-letter name. These abbreviated names are used to help\nreduce the length of the URL.\n\nTo change the color of the pushpin, use the 'co' style modifier and specify the color using the HTML/CSS RGB color\nformat which is a six-digit hexadecimal number (the three-digit form is not supported). For example, to use\na deep pink color which you would specify as #FF1493 in CSS, use\n\n`pins=default|coFF1493||-122 45`\n\n### Pushpin Labels\n\nTo add a label to the pins, put the label in single quotes just before the coordinates. Avoid using special character such as `|` or `||` in label. For example, to label\nthree pins with the values '1', '2', and '3', use\n\n`pins=default||'1'-122 45|'2'-119.5 43.2|'3'-121.67 47.12`\n\nThere is a built-in pushpin style called 'none' that does not display a pushpin image. You can use this if\nyou want to display labels without any pin image. For example,\n\n`pins=none||'A'-122 45|'B'-119.5 43.2`\n\nTo change the color of the pushpin labels, use the 'lc' label color style modifier. For example, to use pink\npushpins with black labels, use\n\n`pins=default|coFF1493|lc000000||-122 45`\n\nTo change the size of the labels, use the 'ls' label size style modifier. The label size represents the approximate\nheight of the label text in pixels. For example, to increase the label size to 12, use\n\n`pins=default|ls12||'A'-122 45|'B'-119 43`\n\nThe labels are centered at the pushpin 'label anchor.' The anchor location is predefined for built-in pushpins and\nis at the top center of custom pushpins (see below). To override the label anchor, using the 'la' style modifier\nand provide X and Y pixel coordinates for the anchor. These coordinates are relative to the top left corner of the\npushpin image. Positive X values move the anchor to the right, and positive Y values move the anchor down. For example,\nto position the label anchor 10 pixels right and 4 pixels above the top left corner of the pushpin image,\nuse\n\n`pins=default|la10 -4||'A'-122 45|'B'-119 43`\n\n### Custom Pushpins\n\nTo use a custom pushpin image, use the word 'custom' as the pin style name, and then specify a URL after the\nlocation and label information. The maximum allowed size for a customized label image is 65,536 pixels. Use two pipe characters to indicate that you're done specifying locations and are\nstarting the URL. For example,\n\n`pins=custom||-122 45||http://contoso.com/pushpins/red.png`\n\nAfter URL encoding, this would look like\n\n`pins=custom%7C%7C-122+45%7C%7Chttp%3A%2F%2Fcontoso.com%2Fpushpins%2Fred.png`\n\nBy default, custom pushpin images are drawn centered at the pin coordinates. This usually isn't ideal as it obscures\nthe location that you're trying to highlight. To override the anchor location of the pin image, use the 'an'\nstyle modifier. This uses the same format as the 'la' label anchor style modifier. For example, if your custom\npin image has the tip of the pin at the top left corner of the image, you can set the anchor to that spot by\nusing\n\n`pins=custom|an0 0||-122 45||http://contoso.com/pushpins/red.png`\n\nNote: If you use the 'co' color modifier with a custom pushpin image, the specified color will replace the RGB \nchannels of the pixels in the image but will leave the alpha (opacity) channel unchanged. This would usually\nonly be done with a solid-color custom image.\n\n### Scale, Rotation, and Opacity\n\nYou can make pushpins and their labels larger or smaller by using the 'sc' scale style modifier. This is a\nvalue greater than zero. A value of 1 is the standard scale. Values larger than 1 will make the pins larger, and\nvalues smaller than 1 will make them smaller. For example, to draw the pushpins 50% larger than normal, use\n\n`pins=default|sc1.5||-122 45`\n\nYou can rotate pushpins and their labels by using the 'ro' rotation style modifier. This is a number of degrees\nof clockwise rotation. Use a negative number to rotate counter-clockwise. For example, to rotate the pushpins\n90 degrees clockwise and double their size, use\n\n`pins=default|ro90|sc2||-122 45`\n\nYou can make pushpins and their labels partially transparent by specifying the 'al' alpha style modifier.\nThis is a number between 0 and 1 indicating the opacity of the pushpins. Zero makes them completely transparent\n(and not visible) and 1 makes them completely opaque (which is the default). For example, to make pushpins\nand their labels only 67% opaque, use\n\n`pins=default|al.67||-122 45`\n\n### Style Modifier Summary\n\nModifier | Description | Type | Range \n:--------:|---------------|--------|----------\nal | Alpha (opacity) | float | 0 to 1 \nan | Pin anchor | | * \nco | Pin color | string | 000000 to FFFFFF \nla | Label anchor | | * \nlc | Label color | string | 000000 to FFFFFF \nls | Label size | float | Greater than 0 \nro | Rotation | float | -360 to 360 \nsc | Scale | float | Greater than 0 \n\n* X and Y coordinates can be anywhere within pin image or a margin around it.\nThe margin size is the minimum of the pin width and height.",
+ "in": "query",
+ "type": "array",
+ "collectionFormat": "multi",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "path",
+ "description": "Path style and locations (in double). Use this parameter to optionally add lines, polygons or circles to the image.\nThe path style describes the appearance of the line and fill. (Be sure to properly URL-encode values of this\nparameter since it will contain reserved characters such as pipes and punctuation.)\n\nPath parameter is supported in Azure Maps account SKU starting with S1. Multiple instances of the path parameter \nallow to specify multiple geometries with their styles. Number of parameters per request is limited to 10 and\nnumber of locations is limited to 100 per path.\n\nTo render a circle with radius 100 meters and center point at latitude 45°N and longitude 122°W using the default style, add the\nquerystring parameter \n\n`path=ra100||-122 45` \n\nNote that the longitude comes before the latitude.\nAfter URL encoding this will look like\n\n`path=ra100%7C%7C-122+45`\n\nAll of the examples here show the path parameter without URL encoding, for clarity.\n\nTo render a line, separate each location with a pipe character. For example, use\n\n`path=||-122 45|-119.5 43.2|-121.67 47.12`\n\nA polygon is specified with a closed path, where the first and last points are equal. For example, use\n\n`path=||-122 45|-119.5 43.2|-121.67 47.12|-122 45`\n\nLongitude value for locations of lines and polygons can be in the range from -360 to 360 to allow for rendering of geometries crossing the anti-meridian.\n\n### Style Modifiers\n\nYou can modify the appearance of the path by adding style modifiers. These are added before the locations. \nStyle modifiers each have a two-letter name. These abbreviated names are used to help reduce the length\nof the URL.\n\nTo change the color of the outline, use the 'lc' style modifier and specify the color using the HTML/CSS RGB color\nformat which is a six-digit hexadecimal number (the three-digit form is not supported). For example, to use\na deep pink color which you would specify as #FF1493 in CSS, use\n\n`path=lcFF1493||-122 45|-119.5 43.2`\n\nMultiple style modifiers may be combined to create a more complex visual style.\n\n`lc0000FF|lw3|la0.60|fa0.50||-122.2 47.6|-122.2 47.7|-122.3 47.7|-122.3 47.6|-122.2 47.6`\n\n### Style Modifier Summary\n\nModifier | Description | Type | Range \n:--------:|---------------|--------|----------\nlc | Line color | string | 000000 to FFFFFF\nfc | Fill color | string | 000000 to FFFFFF\nla | Line alpha (opacity) | float | 0 to 1 \nfa | Fill alpha (opacity) | float | 0 to 1 \nlw | Line width |int32 | (0, 50] \nra | Circle radius (meters) | float | Greater than 0",
+ "in": "query",
+ "type": "array",
+ "collectionFormat": "multi",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "Accept",
+ "in": "header",
+ "description": "The Accept header field can be used to specify preferences regarding response media types. Allowed media types include image/jpeg and image/png. Return image in image/png if Accept header is not specified.",
+ "required": false,
+ "type": "string",
+ "items": {
+ "type": "string"
+ },
+ "x-ms-parameter-location": "client",
+ "enum": [
+ "image/png",
+ "image/jpeg"
+ ],
+ "x-ms-enum": {
+ "name": "MediaType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "image/png",
+ "description": "Return image in png format."
+ },
+ {
+ "value": "image/jpeg",
+ "description": "Return image in jpeg format."
+ }
+ ]
+ }
+ }
+ ],
+ "produces": [
+ "image/jpeg",
+ "image/png"
+ ],
+ "responses": {
+ "200": {
+ "description": "This image is returned from a successful Get Map Static Image call.",
+ "schema": {
+ "type": "object",
+ "format": "file",
+ "readOnly": true
+ },
+ "headers": {
+ "Content-Type": {
+ "type": "string",
+ "description": "The content-type for the response."
+ }
+ }
+ },
+ "default": {
+ "$ref": "../../../Common/preview/1.0/common.json#/responses/default"
+ }
+ }
+ }
+ },
+ "/map/copyright/bounding/{format}": {
+ "get": {
+ "summary": "Use to get copyright information for the specified bounding box.",
+ "description": "\n\nReturns copyright information for a given bounding box. Bounding-box requests should specify the minimum and maximum longitude and latitude (EPSG-3857) coordinates",
+ "operationId": "Render_GetCopyrightFromBoundingBox",
+ "x-ms-examples": {
+ "Successful BoundingBox Copyright Request": {
+ "$ref": "./examples/Render_GetCopyrightFromBoundingBox.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/BoundingBoxSouthWest"
+ },
+ {
+ "$ref": "#/parameters/BoundingBoxNorthEast"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/IncludeText"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Copyright"
+ }
+ },
+ "default": {
+ "$ref": "../../../Common/preview/1.0/common.json#/responses/default"
+ }
+ }
+ }
+ },
+ "/map/copyright/tile/{format}": {
+ "get": {
+ "summary": "Use to get copyright information.",
+ "description": "\n\nTo obtain the copyright information for a particular tile, the request should specify the tile's zoom level and x and y coordinates. For more information, see [Zoom Levels and Tile Grid](/azure/azure-maps/zoom-levels-and-tile-grid).\n\nCopyrights API is designed to serve copyright information for Render service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries/regions.",
+ "operationId": "Render_GetCopyrightForTile",
+ "x-ms-examples": {
+ "Successful Tile Copyright Request": {
+ "$ref": "./examples/Render_GetCopyrightForTile.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/zTileIndex"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/xTileIndex"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/yTileIndex"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/IncludeText"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Copyright"
+ }
+ },
+ "default": {
+ "$ref": "../../../Common/preview/1.0/common.json#/responses/default"
+ }
+ }
+ }
+ },
+ "/map/copyright/world/{format}": {
+ "get": {
+ "summary": "Use to get copyright information for for the world.",
+ "description": "\n\nReturns the copyright information for the world. To obtain the default copyright information for the whole world, don't specify a tile or bounding box. \n\nCopyrights API is designed to serve copyright information for Render service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries/regions. ",
+ "operationId": "Render_GetCopyrightForWorld",
+ "x-ms-examples": {
+ "Successful World Copyright Request": {
+ "$ref": "./examples/Render_GetCopyrightForWorld.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/IncludeText"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Copyright"
+ }
+ },
+ "default": {
+ "$ref": "../../../Common/preview/1.0/common.json#/responses/default"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Copyright": {
+ "description": "This object is returned from a successful copyright request",
+ "type": "object",
+ "properties": {
+ "formatVersion": {
+ "description": "Format Version property",
+ "type": "string",
+ "readOnly": true
+ },
+ "generalCopyrights": {
+ "description": "General Copyrights array",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "regions": {
+ "description": "Regions array",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/RegionCopyrights"
+ }
+ }
+ }
+ },
+ "CopyrightCaption": {
+ "description": "This object is returned from a successful copyright call",
+ "type": "object",
+ "properties": {
+ "formatVersion": {
+ "description": "Format Version property",
+ "type": "string",
+ "readOnly": true
+ },
+ "copyrightsCaption": {
+ "description": "Copyrights Caption property",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "MapAttribution": {
+ "description": "Copyright attribution for the requested section of a tileset.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "copyrights": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of copyright strings."
+ }
+ }
+ },
+ "MapTileset": {
+ "description": "Metadata for a tileset in the TileJSON format.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "tilejson": {
+ "type": "string",
+ "pattern": "\\d+\\.\\d+\\.\\d+\\w?[\\w\\d]*",
+ "description": "Describes the version of the TileJSON spec that is implemented by this JSON object."
+ },
+ "name": {
+ "type": "string",
+ "description": "A name describing the tileset. The name can contain any legal character. Implementations SHOULD NOT interpret the name as HTML."
+ },
+ "description": {
+ "type": "string",
+ "description": "Text description of the tileset. The description can contain any legal character. Implementations SHOULD NOT interpret the description as HTML."
+ },
+ "version": {
+ "type": "string",
+ "pattern": "\\d+\\.\\d+\\.\\d+\\w?[\\w\\d]*",
+ "description": "A semver.org style version number for the tiles contained within the tileset. When changes across tiles are introduced, the minor version MUST change."
+ },
+ "attribution": {
+ "type": "string",
+ "description": "Copyright attribution to be displayed on the map. Implementations MAY decide to treat this as HTML or literal text. For security reasons, make absolutely sure that this field can't be abused as a vector for XSS or beacon tracking."
+ },
+ "template": {
+ "type": "string",
+ "description": "A mustache template to be used to format data from grids for interaction."
+ },
+ "legend": {
+ "type": "string",
+ "description": "A legend to be displayed with the map. Implementations MAY decide to treat this as HTML or literal text. For security reasons, make absolutely sure that this field can't be abused as a vector for XSS or beacon tracking."
+ },
+ "scheme": {
+ "type": "string",
+ "description": "Default: \"xyz\". Either \"xyz\" or \"tms\". Influences the y direction of the tile coordinates. The global-mercator (aka Spherical Mercator) profile is assumed."
+ },
+ "tiles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "An array of tile endpoints. If multiple endpoints are specified, clients may use any combination of endpoints. All endpoints MUST return the same content for the same URL. The array MUST contain at least one endpoint."
+ },
+ "grids": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "An array of interactivity endpoints."
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "An array of data files in GeoJSON format."
+ },
+ "minzoom": {
+ "x-ms-client-name": "minZoom",
+ "minimum": 0,
+ "maximum": 30,
+ "type": "integer",
+ "description": "The minimum zoom level."
+ },
+ "maxzoom": {
+ "x-ms-client-name": "maxZoom",
+ "minimum": 0,
+ "maximum": 30,
+ "type": "integer",
+ "description": "The maximum zoom level."
+ },
+ "bounds": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ },
+ "description": "The maximum extent of available map tiles. Bounds MUST define an area covered by all zoom levels. The bounds are represented in WGS:84 latitude and longitude values, in the order left, bottom, right, top. Values may be integers or floating point numbers."
+ },
+ "center": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ },
+ "description": "The default location of the tileset in the form [longitude, latitude, zoom]. The zoom level MUST be between minzoom and maxzoom. Implementations can use this value to set the default location."
+ }
+ }
+ },
+ "RegionCopyrights": {
+ "type": "object",
+ "properties": {
+ "copyrights": {
+ "description": "Copyrights array",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "country": {
+ "description": "Country property",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "ISO3": {
+ "description": "ISO3 property",
+ "type": "string",
+ "readOnly": true
+ },
+ "label": {
+ "description": "Label property",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+}
From 0aeb3683c81d5058e67e90d22a22b46b5ff59688 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Thu, 6 Jun 2024 09:48:55 -0700
Subject: [PATCH 127/343] Remove CapacityType
---
specification/ai/ModelClient/client.tsp | 1 -
.../GetChatCompletions_MaximumSet_Gen.json | 25 +++++++-------
.../GetChatCompletions_MinimumSet_Gen.json | 17 +++++-----
.../GetEmbeddings_MaximumSet_Gen.json | 19 +++++------
.../GetEmbeddings_MinimumSet_Gen.json | 17 +++++-----
.../GetImageEmbeddings_MaximumSet_Gen.json | 21 ++++++------
.../GetImageEmbeddings_MinimumSet_Gen.json | 17 +++++-----
.../GetModelInfo_MaximumSet_Gen.json | 4 +--
.../GetModelInfo_MinimumSet_Gen.json | 4 +--
.../ModelClient/models/chat_completions.tsp | 2 --
.../ai/ModelClient/models/common.tsp | 18 ----------
.../GetChatCompletions_MaximumSet_Gen.json | 25 +++++++-------
.../GetChatCompletions_MinimumSet_Gen.json | 17 +++++-----
.../GetEmbeddings_MaximumSet_Gen.json | 19 +++++------
.../GetEmbeddings_MinimumSet_Gen.json | 17 +++++-----
.../GetImageEmbeddings_MaximumSet_Gen.json | 21 ++++++------
.../GetImageEmbeddings_MinimumSet_Gen.json | 17 +++++-----
.../examples/GetModelInfo_MaximumSet_Gen.json | 4 +--
.../examples/GetModelInfo_MinimumSet_Gen.json | 4 +--
.../preview/2024-05-01-preview/openapi.json | 34 -------------------
20 files changed, 118 insertions(+), 185 deletions(-)
diff --git a/specification/ai/ModelClient/client.tsp b/specification/ai/ModelClient/client.tsp
index 1ec40d3b4636..0d6edea81614 100644
--- a/specification/ai/ModelClient/client.tsp
+++ b/specification/ai/ModelClient/client.tsp
@@ -17,7 +17,6 @@ namespace Customizations; // The actual name here doesn't matter and is here for
// Since we made all operator methods internal, we need to expliclty say we still want the models they use
// to be public.
-@@access(ModelClient.CapacityType, Access.public);
@@access(ModelClient.ChatChoice, Access.public);
@@access(ModelClient.ChatCompletions, Access.public);
@@access(ModelClient.ChatCompletionsFunctionToolCall, Access.public);
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MaximumSet_Gen.json
index 0ba63e5be5a6..ea6505f21888 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -10,7 +10,7 @@
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": 0,
+ "frequency_penalty": -1,
"stream": true,
"presence_penalty": 1,
"temperature": 0,
@@ -18,39 +18,38 @@
"max_tokens": 0,
"response_format": "text",
"stop": [
- "cteiwbsdfipv"
+ "xvqcawyltsgxp"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 11
+ "seed": 7
}
},
"responses": {
"200": {
"body": {
- "id": "bmvsapbvjgusxip",
- "created": 25,
- "model": "c",
+ "id": "j",
+ "created": 8,
+ "model": "seescrvpjgzsypchxgxfywnhaqo",
"usage": {
- "capacity_type": "usage",
- "completion_tokens": 11,
- "prompt_tokens": 24,
- "total_tokens": 28
+ "completion_tokens": 4,
+ "prompt_tokens": 11,
+ "total_tokens": 29
},
"choices": [
{
- "index": 1,
+ "index": 22,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "cawybqiubcroelaugj",
+ "content": "mypcazxgotv",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "pwiptrvzjdijeqoy"
+ "id": "rwnxvsfequsocsyxlj"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MinimumSet_Gen.json
index b118cdd86a73..a316ee0bec64 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,22 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "bmvsapbvjgusxip",
- "created": 25,
- "model": "c",
+ "id": "j",
+ "created": 8,
+ "model": "seescrvpjgzsypchxgxfywnhaqo",
"usage": {
- "capacity_type": "usage",
- "completion_tokens": 11,
- "prompt_tokens": 24,
- "total_tokens": 28
+ "completion_tokens": 4,
+ "prompt_tokens": 11,
+ "total_tokens": 29
},
"choices": [
{
- "index": 1,
+ "index": 22,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "cawybqiubcroelaugj"
+ "content": "mypcazxgotv"
}
}
]
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MaximumSet_Gen.json
index b7480319aa27..fb19a5770dfb 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -6,9 +6,9 @@
"unknown-parameters": "error",
"body": {
"input": [
- "vkcxwhlhba"
+ "lldxiwoooquzs"
],
- "dimensions": 27,
+ "dimensions": 17,
"encoding_format": "base64",
"input_type": "text"
}
@@ -16,22 +16,21 @@
"responses": {
"200": {
"body": {
- "id": "vocuiyeigedom",
+ "id": "bosctybzvexfttpdci",
"data": [
{
"embedding": [
- 11
+ 22
],
- "index": 7
+ "index": 10
}
],
"usage": {
- "capacity_type": "usage",
- "input_tokens": 11,
- "prompt_tokens": 5,
- "total_tokens": 18
+ "input_tokens": 12,
+ "prompt_tokens": 6,
+ "total_tokens": 12
},
- "model": "tcxclltyrnhrfjqngtgyqrfdzkilqk"
+ "model": "qwtvuoqzjbkybpijoedy"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MinimumSet_Gen.json
index 7661e5dd82e2..472a47e314a4 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,29 +5,28 @@
"api-version": "2024-05-01-preview",
"body": {
"input": [
- "jpmehzhrcjufrurxmsepgtiufrdk"
+ "ykddkctmxmqgueem"
]
}
},
"responses": {
"200": {
"body": {
- "id": "vocuiyeigedom",
+ "id": "bosctybzvexfttpdci",
"data": [
{
"embedding": [
- 11
+ 22
],
- "index": 7
+ "index": 10
}
],
"usage": {
- "capacity_type": "usage",
- "input_tokens": 11,
- "prompt_tokens": 5,
- "total_tokens": 18
+ "input_tokens": 12,
+ "prompt_tokens": 6,
+ "total_tokens": 12
},
- "model": "tcxclltyrnhrfjqngtgyqrfdzkilqk"
+ "model": "qwtvuoqzjbkybpijoedy"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MaximumSet_Gen.json
index d7d815d88e29..a21f2d325348 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MaximumSet_Gen.json
@@ -7,11 +7,11 @@
"body": {
"input": [
{
- "image": "m",
- "text": "nlskyzultivibrepqugzntgvqsa"
+ "image": "nqywwlco",
+ "text": "lwdsmegnaxqwwayjp"
}
],
- "dimensions": 17,
+ "dimensions": 16,
"encoding_format": "base64",
"input_type": "text"
}
@@ -19,22 +19,21 @@
"responses": {
"200": {
"body": {
- "id": "vocuiyeigedom",
+ "id": "bosctybzvexfttpdci",
"data": [
{
"embedding": [
- 11
+ 22
],
- "index": 7
+ "index": 10
}
],
"usage": {
- "capacity_type": "usage",
- "input_tokens": 11,
- "prompt_tokens": 5,
- "total_tokens": 18
+ "input_tokens": 12,
+ "prompt_tokens": 6,
+ "total_tokens": 12
},
- "model": "tcxclltyrnhrfjqngtgyqrfdzkilqk"
+ "model": "qwtvuoqzjbkybpijoedy"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MinimumSet_Gen.json
index bdef297866d2..9743a7f692bd 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MinimumSet_Gen.json
@@ -6,7 +6,7 @@
"body": {
"input": [
{
- "image": "m"
+ "image": "nqywwlco"
}
]
}
@@ -14,22 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "vocuiyeigedom",
+ "id": "bosctybzvexfttpdci",
"data": [
{
"embedding": [
- 11
+ 22
],
- "index": 7
+ "index": 10
}
],
"usage": {
- "capacity_type": "usage",
- "input_tokens": 11,
- "prompt_tokens": 5,
- "total_tokens": 18
+ "input_tokens": 12,
+ "prompt_tokens": 6,
+ "total_tokens": 12
},
- "model": "tcxclltyrnhrfjqngtgyqrfdzkilqk"
+ "model": "qwtvuoqzjbkybpijoedy"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MaximumSet_Gen.json
index fdec7e99d846..9b18173d4325 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MaximumSet_Gen.json
@@ -7,9 +7,9 @@
"responses": {
"200": {
"body": {
- "model_name": "puviy",
+ "model_name": "pvjlbwovpsotsvsioii",
"model_type": "embeddings",
- "model_provider_name": "vlrodqwutbuydcxambssy"
+ "model_provider_name": "hjprgnvy"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MinimumSet_Gen.json
index 83d3deab1013..bb62f42b1741 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MinimumSet_Gen.json
@@ -7,9 +7,9 @@
"responses": {
"200": {
"body": {
- "model_name": "puviy",
+ "model_name": "pvjlbwovpsotsvsioii",
"model_type": "embeddings",
- "model_provider_name": "vlrodqwutbuydcxambssy"
+ "model_provider_name": "hjprgnvy"
}
}
}
diff --git a/specification/ai/ModelClient/models/chat_completions.tsp b/specification/ai/ModelClient/models/chat_completions.tsp
index 95e6db57ac07..479742cc42a7 100644
--- a/specification/ai/ModelClient/models/chat_completions.tsp
+++ b/specification/ai/ModelClient/models/chat_completions.tsp
@@ -165,8 +165,6 @@ Counts consider all tokens across prompts, choices, choice alternates, best_of g
other consumers.
""")
model CompletionsUsage {
- ...CapacityAlias;
-
@doc("The number of tokens generated across all completions emissions.")
completion_tokens: int32;
diff --git a/specification/ai/ModelClient/models/common.tsp b/specification/ai/ModelClient/models/common.tsp
index 4215e9063c36..e40f5de07340 100644
--- a/specification/ai/ModelClient/models/common.tsp
+++ b/specification/ai/ModelClient/models/common.tsp
@@ -85,8 +85,6 @@ model EmbeddingItem {
@doc("Measurement of the amount of tokens used in this request and response.")
model EmbeddingsUsage {
- ...CapacityAlias;
-
@doc("Number of tokens in the request prompt.")
input_tokens: int32;
@@ -158,19 +156,3 @@ union UnknownParams {
@doc("The service will pass unknown parameters to the back-end AI model.")
pass_through: "pass_through",
}
-
-alias CapacityAlias = {
- @doc("Indicates whether your capacity has been affected by the usage amount (token count) reported here.")
- capacity_type: CapacityType;
-};
-
-@doc("Whether your capacity has been affected by the usage amount (token count) reported here.")
-union CapacityType {
- string,
-
- @doc("Your capacity has been affected by the usage amount (token count) reported here.")
- usage: "usage",
-
- @doc("Your capacity has not been affected by the usage amount (token count) reported here.")
- fixed: "fixed",
-}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index 0ba63e5be5a6..ea6505f21888 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -10,7 +10,7 @@
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": 0,
+ "frequency_penalty": -1,
"stream": true,
"presence_penalty": 1,
"temperature": 0,
@@ -18,39 +18,38 @@
"max_tokens": 0,
"response_format": "text",
"stop": [
- "cteiwbsdfipv"
+ "xvqcawyltsgxp"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 11
+ "seed": 7
}
},
"responses": {
"200": {
"body": {
- "id": "bmvsapbvjgusxip",
- "created": 25,
- "model": "c",
+ "id": "j",
+ "created": 8,
+ "model": "seescrvpjgzsypchxgxfywnhaqo",
"usage": {
- "capacity_type": "usage",
- "completion_tokens": 11,
- "prompt_tokens": 24,
- "total_tokens": 28
+ "completion_tokens": 4,
+ "prompt_tokens": 11,
+ "total_tokens": 29
},
"choices": [
{
- "index": 1,
+ "index": 22,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "cawybqiubcroelaugj",
+ "content": "mypcazxgotv",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "pwiptrvzjdijeqoy"
+ "id": "rwnxvsfequsocsyxlj"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index b118cdd86a73..a316ee0bec64 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,22 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "bmvsapbvjgusxip",
- "created": 25,
- "model": "c",
+ "id": "j",
+ "created": 8,
+ "model": "seescrvpjgzsypchxgxfywnhaqo",
"usage": {
- "capacity_type": "usage",
- "completion_tokens": 11,
- "prompt_tokens": 24,
- "total_tokens": 28
+ "completion_tokens": 4,
+ "prompt_tokens": 11,
+ "total_tokens": 29
},
"choices": [
{
- "index": 1,
+ "index": 22,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "cawybqiubcroelaugj"
+ "content": "mypcazxgotv"
}
}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index b7480319aa27..fb19a5770dfb 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -6,9 +6,9 @@
"unknown-parameters": "error",
"body": {
"input": [
- "vkcxwhlhba"
+ "lldxiwoooquzs"
],
- "dimensions": 27,
+ "dimensions": 17,
"encoding_format": "base64",
"input_type": "text"
}
@@ -16,22 +16,21 @@
"responses": {
"200": {
"body": {
- "id": "vocuiyeigedom",
+ "id": "bosctybzvexfttpdci",
"data": [
{
"embedding": [
- 11
+ 22
],
- "index": 7
+ "index": 10
}
],
"usage": {
- "capacity_type": "usage",
- "input_tokens": 11,
- "prompt_tokens": 5,
- "total_tokens": 18
+ "input_tokens": 12,
+ "prompt_tokens": 6,
+ "total_tokens": 12
},
- "model": "tcxclltyrnhrfjqngtgyqrfdzkilqk"
+ "model": "qwtvuoqzjbkybpijoedy"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index 7661e5dd82e2..472a47e314a4 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,29 +5,28 @@
"api-version": "2024-05-01-preview",
"body": {
"input": [
- "jpmehzhrcjufrurxmsepgtiufrdk"
+ "ykddkctmxmqgueem"
]
}
},
"responses": {
"200": {
"body": {
- "id": "vocuiyeigedom",
+ "id": "bosctybzvexfttpdci",
"data": [
{
"embedding": [
- 11
+ 22
],
- "index": 7
+ "index": 10
}
],
"usage": {
- "capacity_type": "usage",
- "input_tokens": 11,
- "prompt_tokens": 5,
- "total_tokens": 18
+ "input_tokens": 12,
+ "prompt_tokens": 6,
+ "total_tokens": 12
},
- "model": "tcxclltyrnhrfjqngtgyqrfdzkilqk"
+ "model": "qwtvuoqzjbkybpijoedy"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MaximumSet_Gen.json
index d7d815d88e29..a21f2d325348 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MaximumSet_Gen.json
@@ -7,11 +7,11 @@
"body": {
"input": [
{
- "image": "m",
- "text": "nlskyzultivibrepqugzntgvqsa"
+ "image": "nqywwlco",
+ "text": "lwdsmegnaxqwwayjp"
}
],
- "dimensions": 17,
+ "dimensions": 16,
"encoding_format": "base64",
"input_type": "text"
}
@@ -19,22 +19,21 @@
"responses": {
"200": {
"body": {
- "id": "vocuiyeigedom",
+ "id": "bosctybzvexfttpdci",
"data": [
{
"embedding": [
- 11
+ 22
],
- "index": 7
+ "index": 10
}
],
"usage": {
- "capacity_type": "usage",
- "input_tokens": 11,
- "prompt_tokens": 5,
- "total_tokens": 18
+ "input_tokens": 12,
+ "prompt_tokens": 6,
+ "total_tokens": 12
},
- "model": "tcxclltyrnhrfjqngtgyqrfdzkilqk"
+ "model": "qwtvuoqzjbkybpijoedy"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MinimumSet_Gen.json
index bdef297866d2..9743a7f692bd 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MinimumSet_Gen.json
@@ -6,7 +6,7 @@
"body": {
"input": [
{
- "image": "m"
+ "image": "nqywwlco"
}
]
}
@@ -14,22 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "vocuiyeigedom",
+ "id": "bosctybzvexfttpdci",
"data": [
{
"embedding": [
- 11
+ 22
],
- "index": 7
+ "index": 10
}
],
"usage": {
- "capacity_type": "usage",
- "input_tokens": 11,
- "prompt_tokens": 5,
- "total_tokens": 18
+ "input_tokens": 12,
+ "prompt_tokens": 6,
+ "total_tokens": 12
},
- "model": "tcxclltyrnhrfjqngtgyqrfdzkilqk"
+ "model": "qwtvuoqzjbkybpijoedy"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
index fdec7e99d846..9b18173d4325 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
@@ -7,9 +7,9 @@
"responses": {
"200": {
"body": {
- "model_name": "puviy",
+ "model_name": "pvjlbwovpsotsvsioii",
"model_type": "embeddings",
- "model_provider_name": "vlrodqwutbuydcxambssy"
+ "model_provider_name": "hjprgnvy"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
index 83d3deab1013..bb62f42b1741 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
@@ -7,9 +7,9 @@
"responses": {
"200": {
"body": {
- "model_name": "puviy",
+ "model_name": "pvjlbwovpsotsvsioii",
"model_type": "embeddings",
- "model_provider_name": "vlrodqwutbuydcxambssy"
+ "model_provider_name": "hjprgnvy"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/openapi.json
index 13647516e87f..530b4b29bafa 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/openapi.json
@@ -519,30 +519,6 @@
}
}
},
- "CapacityType": {
- "type": "string",
- "description": "Whether your capacity has been affected by the usage amount (token count) reported here.",
- "enum": [
- "usage",
- "fixed"
- ],
- "x-ms-enum": {
- "name": "CapacityType",
- "modelAsString": true,
- "values": [
- {
- "name": "usage",
- "value": "usage",
- "description": "Your capacity has been affected by the usage amount (token count) reported here."
- },
- {
- "name": "fixed",
- "value": "fixed",
- "description": "Your capacity has not been affected by the usage amount (token count) reported here."
- }
- ]
- }
- },
"ChatChoice": {
"type": "object",
"description": "The representation of a single prompt completion as part of an overall chat completions request.\nGenerally, `n` choices are generated per provided prompt with a default value of 1.\nToken limits and other settings may limit the number of choices generated.",
@@ -984,10 +960,6 @@
"type": "object",
"description": "Representation of the token counts processed for a completions request.\nCounts consider all tokens across prompts, choices, choice alternates, best_of generations, and\nother consumers.",
"properties": {
- "capacity_type": {
- "$ref": "#/definitions/CapacityType",
- "description": "Indicates whether your capacity has been affected by the usage amount (token count) reported here."
- },
"completion_tokens": {
"type": "integer",
"format": "int32",
@@ -1005,7 +977,6 @@
}
},
"required": [
- "capacity_type",
"completion_tokens",
"prompt_tokens",
"total_tokens"
@@ -1165,10 +1136,6 @@
"type": "object",
"description": "Measurement of the amount of tokens used in this request and response.",
"properties": {
- "capacity_type": {
- "$ref": "#/definitions/CapacityType",
- "description": "Indicates whether your capacity has been affected by the usage amount (token count) reported here."
- },
"input_tokens": {
"type": "integer",
"format": "int32",
@@ -1186,7 +1153,6 @@
}
},
"required": [
- "capacity_type",
"input_tokens",
"prompt_tokens",
"total_tokens"
From b22c642b361e6d6e7d72a2347a09b0bcf6075d70 Mon Sep 17 00:00:00 2001
From: Konrad Jamrozik
Date: Thu, 6 Jun 2024 14:11:56 -0700
Subject: [PATCH 128/343] Update directory-structure.md: clarify service,
service group, uniform versioning. (#28929)
---
.markdownlint.jsonc | 7 +-
cSpell.json | 12 +-
documentation/directory-structure.md | 270 ++++++++----------
documentation/glossary.md | 83 ++++++
.../typespec-structure-guidelines.md | 8 +-
documentation/uniform-versioning.md | 95 ++++++
6 files changed, 314 insertions(+), 161 deletions(-)
create mode 100644 documentation/glossary.md
create mode 100644 documentation/uniform-versioning.md
diff --git a/.markdownlint.jsonc b/.markdownlint.jsonc
index 98657b7eff01..f4856b9b8949 100644
--- a/.markdownlint.jsonc
+++ b/.markdownlint.jsonc
@@ -31,5 +31,10 @@
// https://github.com/DavidAnson/markdownlint/blob/main/doc/md034.md
//
// We allow bare URLs e.g. to link to GitHub issues.
- "MD034": false
+ "MD034": false,
+
+ // MD041 - First line in a file should be a top-level heading
+ //
+ // We sometimes use "short link" table as first line.
+ "MD041": false
}
diff --git a/cSpell.json b/cSpell.json
index 0af01c9ee4c6..e72217ed3b24 100644
--- a/cSpell.json
+++ b/cSpell.json
@@ -3,6 +3,8 @@
"language": "en",
"words": [
"authnotrequired",
+ "azsdk",
+ "confidentialledger",
"Creds",
"fixdate",
"frontends",
@@ -878,7 +880,6 @@
"unittype"
]
},
-
{
"filename": "**/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json",
"words": [
@@ -1191,7 +1192,6 @@
"containerd"
]
},
-
{
"filename": "**/specification/batch/data-plane/Microsoft.Batch/**/*.json",
"words": [
@@ -1266,10 +1266,10 @@
{
"filename": "**/specification/riskiq/data-plane/Microsoft.Easm/preview/2024-03-01-preview/easm.json",
"words": [
- "Cisa",
- "cisa",
- "affected",
- "AUTOCONFIRMED"
+ "Cisa",
+ "cisa",
+ "affected",
+ "AUTOCONFIRMED"
]
},
{
diff --git a/documentation/directory-structure.md b/documentation/directory-structure.md
index c56b1a4e708a..d3564b6314b9 100644
--- a/documentation/directory-structure.md
+++ b/documentation/directory-structure.md
@@ -7,163 +7,142 @@ https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one
-->
- [`specification` directory structure](#specification-directory-structure)
+ - [Key concepts](#key-concepts)
- [`specification` folder](#specification-folder)
- - [`resource-manager` and `data-plane` folders](#resource-manager-and-data-plane-folders)
- - [AutoRest configuration `README.md` files](#autorest-configuration-readmemd-files)
- - [`stable` and `preview` folders](#stable-and-preview-folders)
- - [A complete example directory structure of `specification/`](#a-complete-example-directory-structure-of-specificationazureteam)
- - [Naming guidelines for `specification` folder contents](#naming-guidelines-for-specification-folder-contents)
+ - [`` folders](#typespecsrc-folders)
+ - [`resource-manager/` folder](#resource-managerrpns-folder)
+ - [`data-plane/` folders](#data-planegroupingdir-folders)
+ - [Service folder structure](#service-folder-structure)
- [`specification/common-types`](#specificationcommon-types)
- - [Advanced scenario: service group](#advanced-scenario-service-group)
- - [Service group `common-types`](#service-group-common-types)
- - [Versioning services in a service group](#versioning-services-in-a-service-group)
- - [Deprecated structure and hand-written OpenAPI specs](#deprecated-structure-and-hand-written-openapi-specs)
-# `specification` directory structure
+ - [Naming guidelines for `specification` folder contents](#naming-guidelines-for-specification-folder-contents)
+ - [About legacy, deprecated directory structure for services and service groups](#about-legacy-deprecated-directory-structure-for-services-and-service-groups)
+ - [Migrating from a singular service to service group in a legacy directory structure](#migrating-from-a-singular-service-to-service-group-in-a-legacy-directory-structure)
+ - [Deprecated directory structure and hand-written OpenAPI specs](#deprecated-directory-structure-and-hand-written-openapi-specs)
+# `specification` directory structure
This article describes the directory structure / folder layout of the `specification` folder.
You may be also interested in following:
+
- [Specification index]
- [Resource Provider list]
> [!IMPORTANT]
-> The structure described in this article is strictly enforced. There exist some exceptions for historical reasons.
-> These exceptions are not allowed going forward.
+> The structure described in this article is recommended. There exist some exceptions for historical reasons.
+> These exceptions are strongly discouraged going forward.
-## `specification` folder
-
-The `specification` folder is the root folder for all service specifications.
-
-Each child of the `specification` folder corresponds to a `service` specification for given Azure team. Here we denote such folder as ``.
-In advanced cases for big teams the `` folder can host multiple services, known as `service group`.
-Read [the relevant section](#advanced-scenario-service-group) for details.
+## Key concepts
-Given `` has following structure:
+The directory structure is a reflection of a few key concepts.
-- `/` (multiple folders)
-- `/resource-manager`
-- `/data-plane`
-
-The `/` folders contain the TypeSpec specification for the given `service` or `service group`.
-You can find details on the name and contents of these folders in [TypeSpec directory structure].
-You can learn more about TypeSpec at [aka.ms/azsdk/typespec] and [aka.ms/typespec].
+Familiarize yourself with the concepts of `service`, `service group`, `grouping directory` and `uniform versioning`
+as explained in the [glossary].
-## `resource-manager` and `data-plane` folders
+## `specification` folder
-The `/resource-manager` contains the ARM OpenAPI specifications emitted from TypeSpec in `/`.
+The `specification` folder is the root folder for all `service` specifications.
-The `resource-manager` folder has exactly one child folder whose name matches the **Resource Provider (RP) Namespace** (``),
-such as `Microsoft.Automation` (full list of namespaces is [here][Resource Provider list]).
-There is 1 to 1 correspondence between an RP and an RP namespace.
-There must be **exactly one** RP namespace folder under given `resource-manager` folder.
-We denote such folder as `resource-manager/`.
+Each child of the `specification` folder corresponds to ``.
+All the `service` (see [glossary]) specifications owned by that team are rooted in their `` folder.
-The `/data-plane` contains the data-plane OpenAPI specifications emitted from TypeSpec in ``.
-The `data-plane` folder has no child `` folder. However, it can have a set of `` folders.
+Given `` folder has following structure:
-## AutoRest configuration `README.md` files
+- `/` (multiple `` folders are allowed)
+- `/resource-manager/` (exactly one `` folder is allowed)
+- `/data-plane/` (multiple `` folders are allowed)
-Both the `/resource-manager` and `/data-plane` folders must contain an AutoRest configuration file, `README.md`.
-Learn more about this file at [aka.ms/azsdk/autorest].
+### `` folders
-
+The `/` folders contain the TypeSpec specifications for the services owned by the team.
-Each `README.md` describes a single `service` and is used as an SDK package and documentation for each version of the service.
-Inside the `README.md` file there are lists of paths to OpenAPI spec `.json` files making up given service version.
+The content of these folders is used as input to emit OpenAPI specifications
+placed within `/resource-manager/` folder and `/data-plane/` folders.
> [!NOTE]
-> All OpenAPI specs for given service version (i.e. the list of paths in given `input-file:` block in the `README.md`) must have the same service version,
-> which also means being in the same [API version lifecycle stage][aka.ms/azsdk/api-versions].
-
-## `stable` and `preview` folders
+> Some services may not have `` folders. In such case, these services OpenAPI specs are hand-written.
+> This is legacy, deprecated practice and is not allowed going forward.
-Both `/resource-manager/` and `/data-plane/` folders, in addition to containing `README.md`, also can contain
-`stable` and `preview` folders. These folders contain OpenAPI specs in the `stable` and `preview` [lifecycle stages][aka.ms/azsdk/api-versions]
-respectively, organized in `` subfolders for each service API version. For example, `/resource-manager//stable/` or
-`/data-plane//preview/`.
+You can find details on the name and contents of `` folders in [TypeSpec directory structure].
+You can learn more about TypeSpec at [aka.ms/azsdk/typespec] and [aka.ms/typespec].
-Each such API version folder directly contains a set of `.json` files containing OpenAPI specs emitted from TypeSpec, as well as an `examples` child folder
-with `.json` files having the contents of [`x-ms-examples`] referenced from the OpenAPI specs.
+### `resource-manager/` folder
-## A complete example directory structure of `specification/`
+The `/resource-manager/` is a folder corresponding to ARM **Resource Provider (RP) namespace**.
-Putting everything together discussed, the directory structure of a singular `specification//` is as follows:
+An example RPNS is `Microsoft.Automation`. A list of RPs can be found in the [Resource Provider list].
-``` yaml
-/1/...
-/2/... # multiple '' folders
+This folder corresponds to a `service group` (see [glossary]) for all ARM services owned by the team.
-/resource-manager/README.md
-/resource-manager//stable//*.json
-/resource-manager//stable//examples/*.json
- // ... # multiple '' folders
-/resource-manager//preview//*.json
-/resource-manager//preview//examples/*.json
- // ... # multiple '' folders
+An `` folder has one or more child `` folders corresponding to the services belonging
+to the `service group` represented by the `` folder.
-/data-plane/README.md
-/data-plane//stable//*.json
-/data-plane//stable//examples/*.json
- // ... # multiple '' folders
-/data-plane//preview//*.json
-/data-plane//preview//examples/*.json
- // ... # multiple '' folders
- // ... # multiple '' folders
+For example, [`specification/containerservice/resource-manager/Microsoft.ContainerService/aks`]
+is a folder for the `aks` service within the `Microsoft.ContainerService` ARM Resource Provider namespace.
-```
+> [!NOTE]
+> Many Azure teams that have one ARM service instead of rooting it in
+> `specification//resource-manager//` root it in
+> `specification//resource-manager`.
+> This is legacy, deprecated structure and is strongly discouraged going forward.
-As a specific example of the above, consider [`specification/confidentialledger`] `` which has the following structure:
+In addition, the `` folder may contain `common-types` child folder that usually is of
+form `common-types/v/common.json` and contains types shared across API versions.
+E.g. [`Microsoft.Compute/common-types`].
-``` yaml
+### `data-plane/` folders
-# ===== s
+The `/data-plane` folder is the equivalent
+of `/resource-manager` but with following distinctions:
-/Microsoft.CodeTransparency/
-/Microsoft.ManagedCcf/
+- `/data-plane` pertains to data-plane service APIs, not ARM service APIs.
+- `/data-plane` has no concept of Resource Provider Namespace (``).
+ Instead, it has or more `` child folders (see also [glossary]).
-# ===== data-plane
+Each `` folder has one or more child `` folders corresponding to the services grouped
+in given ``.
-/data-plane/README.md
+> [!NOTE]
+> Many Azure teams that have one data-plane service instead of rooting it in
+> `specification//data-plane//` root it in
+> `specification//data-plane`.
+> This is legacy, deprecated structure and is strongly discouraged going forward.
-# ----- : Microsoft.CodeTransparency
+## Service folder structure
-/data-plane/Microsoft.CodeTransparency/preview/2024-01-11-preview
-/data-plane/Microsoft.CodeTransparency/preview/2024-01-11-preview/examples
+As described above, ARM service folder path is:
-# ----- : Microsoft.ConfidentialLedger
+`specification//resource-manager//`
-/data-plane/Microsoft.ConfidentialLedger/stable
-/data-plane/Microsoft.ConfidentialLedger/stable/2022-05-13
-/data-plane/Microsoft.ConfidentialLedger/stable/2022-05-13/examples
+while data-plane service folder path is:
-/data-plane/Microsoft.ConfidentialLedger/preview
-/data-plane/Microsoft.ConfidentialLedger/preview/2023-01-18-preview
-/data-plane/Microsoft.ConfidentialLedger/preview/2023-01-18-preview/examples
-# ... more previews here
+`specification//data-plane//`.
-# ----- : Microsoft.ManagedCcf
+A service folder has the following elements:
-/data-plane/Microsoft.ManagedCcf/preview/2023-06-01-preview
-/data-plane/Microsoft.ManagedCcf/preview/2023-06-01-preview/examples
+- The [AutoRest config `README.md` file]. See also section about it in [uniform versioning article].
+- Additional AutoRest config `README.md` files specific to given language SDK.
+- The `stable` and `preview` folders if applicable.
-# ===== resource-manager
+The `stable` and `preview` folders contain OpenAPI specs in the `stable` and `preview` [lifecycle stages][aka.ms/azsdk/api-versions]
+respectively, organized in `` subfolders for each service API version.
-/resource-manager/README.md
+For example:
-# ----- resource-manager RP Namespace (): Microsoft.ConfidentialLedger
+- `/resource-manager///stable/`
+- `/resource-manager///preview/`
+- `/data-plane///stable/`
+- `/data-plane///preview/`
-/resource-manager/Microsoft.ConfidentialLedger/stable/2022-05-13
-/resource-manager/Microsoft.ConfidentialLedger/stable/2022-05-13/examples
+Each such API version folder directly contains a set of `.json` files containing OpenAPI specs emitted from TypeSpec,
+as well as an `examples` child folder with `.json` files having the contents of [`x-ms-examples`] referenced
+from the OpenAPI specs.
-/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview
-/resource-manager/Microsoft.ConfidentialLedger/preview/2023-06-28-preview/examples
-# ... more previews here
-/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview
-/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples
+Read [API versioning guidelines] to learn more.
-```
+## `specification/common-types`
-For another example, see [`specification/eventgrid`].
+The special directory of [`specification/common-types`] contains shared definitions that can be reused across all
+Azure team services in their `specification` child folders.
## Naming guidelines for `specification` folder contents
@@ -173,75 +152,66 @@ For another example, see [`specification/eventgrid`].
- For file names, any casing is allowed.
- When in doubt, mimic naming of the examples provided in this article.
-## `specification/common-types`
-
-The special directory of [`specification/common-types`] contains shared definitions that can be reused across all Azure team services in their
-`specification` child folders.
-
-## Advanced scenario: service group
+## About legacy, deprecated directory structure for services and service groups
-In case of big Azure teams, their `specification/` hosts multiple services, together known as `service group`.
-The main difference between one service and a service group is how they are presented to Azure customers:
-One service has one SDK package and one documentation portal, while a service group has separate SDK package for each service and separate documentation.
+Many teams follow a legacy, deprecated directory structure which usually has following differences:
-For example, [`specification/containerservice`] is a `service group` for both `aks` and `fleet` services.
+- If a team owns only one service, instead of rooting it in `specification//resource-manager//`,
+ it is rooted in`specification//resource-manager`.
+- If a team first owned one service and then expanded to a service group,
+ it contains mixture of both the deprecated structure (for the first service) as well as the correct structure
+ (for the 2nd and following services).
-The doc for `aks` is [Azure Kubernetes Service]. It points to aks REST reference e.g. for [API version `2024-01-01`][aks REST reference 2024-01-01],
-which corresponds to [`specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-01-01`].
+This legacy structure is strongly discouraged going forward.
-The doc for `fleet` is [Azure Kubernetes Fleet Manager]. It point to fleet REST reference, e.g. for [API version `2023-10-15`][fleet REST reference 2023-10-15],
-which corresponds to [`specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2023-10-15`].
+## Migrating from a singular service to service group in a legacy directory structure
-Using our example, note the most important directory structure difference of a `service group` scenario as compared to singular `service`:
+In case an Azure SDK team owns a singular service following the legacy, deprecated layout, and wants to expand to a full
+service group, it can do the following:
-- The `resource-manager/Microsoft.ContainerService` folder has multiple child service folders which contain `stable` and `preview` folders for each service,
- instead of directly containing `stable` and `preview` folders.
-- Each of the `aks` and `fleet` subfolders have their own `README.md` file, instead of there being one `README.md` in the `resource-manager` folder.
- As a result, the SDKs of these services are separate.
+- Keep the existing service as-is, without any changes.
+- Introduce the new services using the new, correct structure.
-### Service group `common-types`
+## Deprecated directory structure and hand-written OpenAPI specs
-A service group can also introduce its own set of `common-types` which are too general to be shared across all Azure teams but common enough to be
-shared across all services in given service group. For an example, see [`Microsoft.Compute/common-types`].
-
-### Versioning services in a service group
-
-The versioning policy for API and SDK packages applies independently to each service in the service group.
-This means that each service in the service group must obey the same versioning rules as it were a singular service.
-However, multiple separate services can have different versioning cycles, including different SDK packages. Refer to the aforementioned `aks` and `fleet`
-services for examples of different versioning cycles in a service group.
-
-## Deprecated structure and hand-written OpenAPI specs
-
-As mentioned at the beginning of this article, for historical reasons, some `specification/` folders may
+As mentioned multiple times in this article, for historical reasons, some `specification/` folders may
violate some of the constraints presented in this article. This includes violations like:
- More deeply nested subfolders than allowed.
+- `README.md` placed in a wrong folder (thus incorrectly denoting it as a `service` folder).
+- Lack of `` directory for given service path.
- Incorrect lack of `-preview` suffix in `preview` API versions.
+- Multiple `` subfolders of `resource-manager` folder.
- Mixing of `stable` and `preview` API versions in the same folder subtree.
- Mixing of multiple API versions in given `README.md` package, including mixing of multiple API version lifecycle stages.
-In addition, some `` folders have OpenAPI specs that have been written manually instead of emitted from TypeSpec.
-In some cases the folders have mixture of manually-written and TypeSpec-emitted OpenAPI specs.
+In addition, some `` folders have OpenAPI specs that have been written manually instead of emitted from
+TypeSpec. In some cases the folders have mixture of manually-written and TypeSpec-emitted OpenAPI specs.
-All of the aforementioned cases are considered legacy and are not allowed going forward.
+All of the aforementioned cases are considered legacy & deprecated, and are strongly discouraged going forward.
[`Microsoft.Compute/common-types`]: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/compute/resource-manager/Microsoft.Compute/common-types/
[`specification/common-types`]: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/common-types
+[`specification/containerservice/resource-manager/Microsoft.ContainerService/aks`]: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/containerservice/resource-manager/Microsoft.ContainerService/aks
+[`x-ms-examples`]: https://azure.github.io/autorest/extensions/#x-ms-examples
+[aka.ms/azsdk/api-versions]: https://aka.ms/azsdk/api-versions
+[aka.ms/azsdk/typespec]: https://aka.ms/azsdk/typespec
+[aka.ms/typespec]: https://aka.ms/typespec
+[API versioning guidelines]: https://github.com/microsoft/api-guidelines/blob/vNext/azure/Guidelines.md#api-versioning
+[AutoRest config `README.md` file]: https://aka.ms/azsdk/autorest
+[glossary]: ./glossary.md
+[Resource Provider list]: https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/azure-services-resource-providers#match-resource-provider-to-service
+[Specification index]: https://azure.github.io/azure-sdk/releases/latest/all/specs.html
+[TypeSpec directory structure]: https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/typespec-structure-guidelines.md
+[uniform versioning article]: ./uniform-versioning.md
+
+
[`specification/confidentialledger`]: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/confidentialledger
[`specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-01-01`]: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-01-01
[`specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2023-10-15`]: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2023-10-15
[`specification/containerservice`]: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/containerservice
[`specification/eventgrid`]: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/eventgrid
-[`x-ms-examples`]: https://azure.github.io/autorest/extensions/#x-ms-examples
-[aka.ms/azsdk/api-versions]: https://aka.ms/azsdk/api-versions
[aka.ms/azsdk/autorest]: https://aka.ms/azsdk/autorest
-[aka.ms/azsdk/typespec]: https://aka.ms/azsdk/typespec
-[aka.ms/typespec]: https://aka.ms/typespec
[aks REST reference 2024-01-01]: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-01-01
[Azure Kubernetes Fleet Manager]: https://learn.microsoft.com/en-us/azure/kubernetes-fleet/
-[Azure Kubernetes Service]: https://learn.microsoft.com/en-us/azure/aks/
[fleet REST reference 2023-10-15]: https://learn.microsoft.com/en-us/rest/api/fleet/operation-groups?view=rest-fleet-2023-10-15
-[Resource Provider list]: https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/azure-services-resource-providers#match-resource-provider-to-service
-[Specification index]: https://azure.github.io/azure-sdk/releases/latest/all/specs.html
-[TypeSpec directory structure]: https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/typespec-structure-guidelines.md
diff --git a/documentation/glossary.md b/documentation/glossary.md
new file mode 100644
index 000000000000..d55bbf11b9ff
--- /dev/null
+++ b/documentation/glossary.md
@@ -0,0 +1,83 @@
+# Glossary
+
+This article defines some of the terms used in the articles under `documentation` directory.
+
+## Grouping directory
+
+A `grouping directory`, denoted as `` in the [directory structure article], is a root folder for
+a set of data-plane `service` folders. It is a subfolder of `data-plane` folder.
+
+Each `service` in given `grouping directory` must [**version uniformly**][uniform versioning article] but each `service`
+within a `grouping directory` can version independently of each other.
+
+A `grouping directory` can be seen as a more free-form equivalent of the ARM `service group`, but for data-plane services.
+
+Specifically, all services grouped in given `groping directory` do not share any ARM **Resource Provider (RP) namespace**
+and are not related to ARM in any way.
+
+## Resource type
+
+In case of ARM, a `service` is a collection of `resource types` or `resource type groups`.
+
+## Service
+
+A `service` is a set of operation endpoints (typically HTTP REST API endpoints)
+that [**version uniformly**][uniform versioning article].
+
+A `service` corresponds to a cohesive, uniformly versioned experience for the customer with HTTP REST API surface,
+documentation portal and language SDKs. For example, [Azure Kubernetes Service].
+
+In this repository, an ARM service has a path of form:
+
+`specification//resource-manager//`
+
+where `` stands for ARM **Resource Provider (RP) namespace**.
+
+A data-plane service has a path of form:
+
+`specification//data-plane//`
+
+> [!NOTE]
+> Some existing services follow different directory structure layouts.
+> All such layouts are legacy, deprecated, and not allowed going forward.
+
+For example, [`specification/containerservice/resource-manager/Microsoft.ContainerService/aks`]
+is a folder for the `aks` service within the `Microsoft.ContainerService` ARM Resource Provider namespace.
+
+You can learn more about how a `service` maps to its directory in the [directory structure article].
+
+## Service group
+
+A `service group` is a set of services that share a common ARM **Resource Provider (RP) namespace**, `RPNS`.
+
+Each `service` in given `service group` must [**version uniformly**][uniform versioning article] but each `service`
+within a `service group` can version independently of each other.
+
+A `service group` has a path of form:
+
+`specification//resource-manager/`
+
+as such, it corresponds to ARM Resource Provider Namespace.
+
+Example service group:
+
+[`specification/containerservice/resource-manager/Microsoft.ContainerService`]
+
+which is composed of two services, [`aks`] and [`fleet`].
+
+> [!NOTE]
+> Previously `service group` was erroneously used in reference to services like `aks`. This is incorrect.
+
+You can learn more about how a `service group` maps to its directory in the [directory structure article].
+
+## Uniform versioning
+
+See [uniform versioning article].
+
+[`aks`]: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/containerservice/resource-manager/Microsoft.ContainerService/aks
+[`fleet`]: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet
+[`specification/containerservice/resource-manager/Microsoft.ContainerService/aks`]: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/containerservice/resource-manager/Microsoft.ContainerService/aks
+[`specification/containerservice/resource-manager/Microsoft.ContainerService`]: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/containerservice/resource-manager/Microsoft.ContainerService
+[Azure Kubernetes Service]: https://learn.microsoft.com/en-us/azure/aks/
+[directory structure article]: ./directory-structure.md
+[uniform versioning article]: ./uniform-versioning.md
diff --git a/documentation/typespec-structure-guidelines.md b/documentation/typespec-structure-guidelines.md
index 92ee3450ea70..f7ff9359f922 100644
--- a/documentation/typespec-structure-guidelines.md
+++ b/documentation/typespec-structure-guidelines.md
@@ -4,9 +4,9 @@
- [Service folder structure](#service-folder-structure)
- [Libraries for service groups](#libraries-for-service-groups)
- [Specification versioning](#specification-versioning)
- - [Organizing services in folders](#organizing-services-in-folders)
- - [Utilizing feature branches](#utilizing-feature-branches)
- - [Publishing specifications](#publishing-specifications)
+ - [Organizing services in folders](#organizing-services-in-folders)
+ - [Utilizing feature branches](#utilizing-feature-branches)
+ - [Publishing specifications](#publishing-specifications)
# Guidelines for TypeSpec project repositories
@@ -18,7 +18,7 @@ This document provides guidelines for managing TypeSpec projects for Azure. It o
The structure of TypeSpec project repositories starts with the [specification](https://aka.ms/azsdk/spec-dirs) folder, serving as the root for all service specifications. Each child folder, denoted as ``, corresponds to a service specification for a specific Azure team. In more complex scenarios, such as larger teams, the `` folder can host multiple services, forming what is known as a service group.
-The `` folder can include multiple ``s, each containing the TypeSpec specification for a given service or service group.
+The `` folder can include multiple `` folders, each containing the TypeSpec specification for a given service or service group.
A given TypeSpec project folder can represent various scenarios:
diff --git a/documentation/uniform-versioning.md b/documentation/uniform-versioning.md
new file mode 100644
index 000000000000..923e8c2c0ed4
--- /dev/null
+++ b/documentation/uniform-versioning.md
@@ -0,0 +1,95 @@
+# Uniform versioning
+
+> [!NOTE]
+> This article uses terminology defined in the [glossary], like `service` or `service group`.
+
+A `service` **must version uniformly**.
+
+In brief, it means:
+
+> The service, its set of operation endpoints (typically HTTP REST API endpoints), its documentation, and any SDK referencing it, all must version in lockstep.
+> If a new service API version is released, also a new documentation reference must be released to describe it.
+> Similarly, a new version of given SDK package must be released to refer to the new service version.
+
+Each `service` within a `service group` can version independently of each other.
+
+## Uniform versioning rules
+
+All of the rules listed here apply both for OpenAPI specs emitted from TypeSpec as well as for hand-written OpenAPI specs.
+
+**Uniform versioning** prescribes the following
+
+1. Any deployed service operation endpoint must belong to an API version. An API version once deployed is immutable.
+ Its behavior or constituent operations cannot be changed.
+2. Any given service API version can be composed only of HTTP API operations and ARM resource types (if applicable)
+ that have the same API version.
+3. Any documentation pertaining to the service and any SDKs generated from the service must pertain to only
+ one service version.
+4. The service version must be always represented in its entirety; any SDK or documentation referring to the service
+ must encompass all of it.
+5. The `common-types` OpenAPI definition shared across multiple services can version independently of the service.
+ However, the rule that API version is immutable still must be observed.
+ As such, when versioning `common-types`, previous API versions will remain immutable because new API versions must be created.
+
+## Uniform versioning implications
+
+The **uniform versioning** has several implications and implementation decisions supporting it.
+
+### API versions
+
+- The service is effectively defined as a series of consecutive API versions.
+- Each API version is represented by a pair of folders representing its lifecycle stage and a date,
+ like `stable/2024-03-05` or `preview/2024-05-15-preview`.
+- Each API version date must be later than the previous date.
+- `stable` and `preview` API versions cannot have the same date. This would prevent API users from knowing
+ which one is later one.
+- Moving to `stable` from `preview` by removing `-preview` suffix is not allowed.
+ In such case, at least one day must be added to the `stable` API version.
+
+### Directory structure
+
+- The entirety of given API service specification must be placed inside its folder, e.g. `stable/2024-03-05`.
+ The service consists of operation endpoints defined in OpenAPI spec `.json` files placed in its API version folder.
+- Learn more in [directory structure article].
+
+### No API version mixing within a service
+
+- Nowhere within a service, documentation for it, or SDK referencing it,
+ can multiple service API versions be mixed. as such:
+ - `preview` API versions cannot be mixed with `stable` API versions.
+ - No HTTP API endpoint for given API version can have any kind of dependency on service endpoint from any other API version.
+ - The above apply to a stand-alone service as well as to a service that is a member of a `service group`.
+
+### API version mixing across services in a service group
+
+- Each `service` within a `service group` can version independently of each other.
+- Each `service` within a `service group` must observe the **uniform versioning rules** within its own scope.
+
+### AutoRest configuration for SDK generation (`README.md` files)
+
+- Any [AutoRest config `README.md` file] definition for the service must have tags corresponding to the API versions
+ present in the directory structure.
+- Each of the API version tags must include **all** OpenAPI spec `.json` files for given API version.
+- Each of the API version tags must include **only** OpenAPI spec `.json` files for given API version.
+- Each `README.md` describes a single `service` and is used as an SDK package and documentation for each version of the service.
+- All OpenAPI specs for given `service` API version (i.e. the list of paths in given `input-file:` block for given API version tag in the `README.md`)
+ must have the same service version, which also means being in the same [API version lifecycle stage].
+
+### Versioning of `common-types`
+
+- All the shared OpenAPI definitions (i.e. `common-types`) the service depends on must have the same version,
+ [e.g. `v6`][common-types v6], but it can be different from the version of the service.
+- Updating `common-types` version requires updating the API version.
+ For example, if `common-types` published an updated version of `v7`,
+ then if the service wants to take dependency on it, it can only do it in
+ a new version. For example, `2024-04-17`.
+ Because the service version is now `2024-04-17`, all the OpenAPI specification `.json` files the service is composed
+ of must have the same version of `2024-04-17` and the `info.version` property must say `2024-04-17`.
+ In addition, a new SDK must be generated from the service, and new documentation published, both tagged with
+ service version `2024-04-17`.
+
+[API version lifecycle stage]: https://aka.ms/azsdk/api-versions
+[AutoRest config `README.md` file]: https://aka.ms/azsdk/autorest
+[common-types v6]: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/common-types/resource-management/
+[directory structure article]: ./directory-structure.md
+[glossary]: ./glossary.md
From 0d5a4226bcd5966d15e2335a976c239431b0d414 Mon Sep 17 00:00:00 2001
From: Jim Chou <77021369+jimchou-dev@users.noreply.github.com>
Date: Fri, 7 Jun 2024 08:52:52 -0700
Subject: [PATCH 129/343] [ACS][Communication][Chat] 2024-06-05-preview public
preview API spec (#28875)
---
.../communicationserviceschat.json | 2209 +++++++++++++++++
...ions_ListChatReadReceiptsWithPageSize.json | 69 +
.../Conversations_SendChatReadReceipt.json | 45 +
.../examples/Images_DeleteChatImage.json | 11 +
.../examples/Images_GetChatImage.json | 17 +
.../examples/Images_UploadChatImage.json | 21 +
.../examples/Messages_DeleteChatMessage.json | 43 +
.../examples/Messages_GetChatMessage.json | 65 +
...Messages_ListChatMessagesWithPageSize.json | 189 ++
.../examples/Messages_SendChatMessage.json | 57 +
.../Messages_SendTypingNotification.json | 45 +
.../examples/Messages_UpdateChatMessage.json | 51 +
.../Participants_AddChatParticipants.json | 91 +
...ants_ListChatParticipantsWithPageSize.json | 69 +
.../Participants_RemoveChatParticipant.json | 48 +
.../examples/Threads_CreateChatThread.json | 111 +
..._CreateChatThreadWithIdempotencyToken.json | 112 +
.../examples/Threads_DeleteChatThread.json | 42 +
.../examples/Threads_GetChatThread.json | 57 +
.../Threads_ListChatThreadsWithPageSize.json | 74 +
.../Threads_UpdateChatThreadTopic.json | 46 +
.../communication/data-plane/Chat/readme.md | 11 +
22 files changed, 3483 insertions(+)
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/communicationserviceschat.json
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Conversations_ListChatReadReceiptsWithPageSize.json
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Conversations_SendChatReadReceipt.json
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Images_DeleteChatImage.json
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Images_GetChatImage.json
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Images_UploadChatImage.json
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_DeleteChatMessage.json
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_GetChatMessage.json
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_ListChatMessagesWithPageSize.json
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_SendChatMessage.json
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_SendTypingNotification.json
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_UpdateChatMessage.json
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Participants_AddChatParticipants.json
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Participants_ListChatParticipantsWithPageSize.json
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Participants_RemoveChatParticipant.json
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_CreateChatThread.json
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_CreateChatThreadWithIdempotencyToken.json
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_DeleteChatThread.json
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_GetChatThread.json
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_ListChatThreadsWithPageSize.json
create mode 100644 specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_UpdateChatThreadTopic.json
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/communicationserviceschat.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/communicationserviceschat.json
new file mode 100644
index 000000000000..a10260e6a30d
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/communicationserviceschat.json
@@ -0,0 +1,2209 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Communication Chat Service",
+ "description": "Azure Communication Chat Service",
+ "version": "2024-06-05-preview"
+ },
+ "paths": {
+ "/chat/threads/{chatThreadId}/readReceipts": {
+ "get": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Gets chat message read receipts for a thread.",
+ "operationId": "ChatThread_ListChatReadReceipts",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id to get the chat message read receipts for.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "maxPageSize",
+ "description": "The maximum number of chat message read receipts to be returned per page.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "in": "query",
+ "name": "skip",
+ "description": "Skips chat message read receipts up to a specified position in response.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The action returns the requested `ChatMessageReadReceipt` resources.",
+ "schema": {
+ "$ref": "#/definitions/ChatMessageReadReceiptsCollection"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get thread read receipts with pagination (max page size)": {
+ "$ref": "./examples/Conversations_ListChatReadReceiptsWithPageSize.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ }
+ },
+ "post": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Sends a read receipt event to a thread, on behalf of a user.",
+ "operationId": "ChatThread_SendChatReadReceipt",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id to send the read receipt event to.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "sendReadReceiptRequest",
+ "description": "Read receipt details.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SendReadReceiptRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Send read receipt": {
+ "$ref": "./examples/Conversations_SendChatReadReceipt.json"
+ }
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/messages": {
+ "post": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Sends a message to a thread.",
+ "operationId": "ChatThread_SendChatMessage",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "The thread id to send the message to.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "sendChatMessageRequest",
+ "description": "Details of the message to send.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SendChatMessageRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Message sent, the `Location` header contains the URL for the newly sent message.",
+ "schema": {
+ "$ref": "#/definitions/SendChatMessageResult"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Send Message": {
+ "$ref": "./examples/Messages_SendChatMessage.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Gets a list of messages from a thread.",
+ "operationId": "ChatThread_ListChatMessages",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "The thread id of the message.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "maxPageSize",
+ "description": "The maximum number of messages to be returned per page.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "in": "query",
+ "name": "startTime",
+ "description": "The earliest point in time to get messages after. The timestamp should be in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ChatMessagesCollection"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get messages with pagination (max page size)": {
+ "$ref": "./examples/Messages_ListChatMessagesWithPageSize.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/messages/{chatMessageId}": {
+ "get": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Gets a message by id.",
+ "operationId": "ChatThread_GetChatMessage",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "The thread id to which the message was sent.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "chatMessageId",
+ "description": "The message id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The action returns a `Message` resource.",
+ "schema": {
+ "$ref": "#/definitions/ChatMessage"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get Message": {
+ "$ref": "./examples/Messages_GetChatMessage.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Updates a message.",
+ "operationId": "ChatThread_UpdateChatMessage",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "The thread id to which the message was sent.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "chatMessageId",
+ "description": "The message id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "updateChatMessageRequest",
+ "description": "Details of the request to update the message.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateChatMessageRequest"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Message is successfully updated."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Update message content": {
+ "$ref": "./examples/Messages_UpdateChatMessage.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Deletes a message.",
+ "operationId": "ChatThread_DeleteChatMessage",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "The thread id to which the message was sent.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "chatMessageId",
+ "description": "The message id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Delete message": {
+ "$ref": "./examples/Messages_DeleteChatMessage.json"
+ }
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/participants": {
+ "get": {
+ "tags": [
+ "Participants"
+ ],
+ "summary": "Gets the participants of a thread.",
+ "operationId": "ChatThread_ListChatParticipants",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id to get participants for.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "maxPageSize",
+ "description": "The maximum number of participants to be returned per page.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "in": "query",
+ "name": "skip",
+ "description": "Skips participants up to a specified position in response.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The action returns the participants of a thread.",
+ "schema": {
+ "$ref": "#/definitions/ChatParticipantsCollection"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get participants with pagination (max page size)": {
+ "$ref": "./examples/Participants_ListChatParticipantsWithPageSize.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/participants/:remove": {
+ "post": {
+ "tags": [
+ "Participants"
+ ],
+ "summary": "Remove a participant from a thread.",
+ "operationId": "ChatThread_RemoveChatParticipant",
+ "consumes": [
+ "application/json",
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id to remove the participant from.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "participantCommunicationIdentifier",
+ "description": "Id of the thread participant to remove from the thread.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Remove participant": {
+ "$ref": "./examples/Participants_RemoveChatParticipant.json"
+ }
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/participants/:add": {
+ "post": {
+ "tags": [
+ "Participants"
+ ],
+ "summary": "Adds thread participants to a thread. If participants already exist, no change occurs.",
+ "operationId": "ChatThread_AddChatParticipants",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Id of the thread to add participants to.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "addChatParticipantsRequest",
+ "description": "Thread participants to be added to the thread.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AddChatParticipantsRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The participants were successfully added.",
+ "schema": {
+ "$ref": "#/definitions/AddChatParticipantsResult"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Add participants": {
+ "$ref": "./examples/Participants_AddChatParticipants.json"
+ }
+ }
+ }
+ },
+ "/chat/threads": {
+ "post": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Creates a chat thread.",
+ "operationId": "Chat_CreateChatThread",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "header",
+ "name": "repeatability-request-id",
+ "description": "If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated, globally unique for all time, identifier for the request. It is recommended to use version 4 (random) UUIDs.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "createChatThreadRequest",
+ "description": "Request payload for creating a chat thread.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateChatThreadRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Thread created, the `Location` header would contain the URL for the newly created thread.",
+ "schema": {
+ "$ref": "#/definitions/CreateChatThreadResult"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Create chat thread": {
+ "$ref": "./examples/Threads_CreateChatThread.json"
+ },
+ "Create chat thread with repeatability request id header": {
+ "$ref": "./examples/Threads_CreateChatThreadWithIdempotencyToken.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Gets the list of chat threads of a user.",
+ "operationId": "Chat_ListChatThreads",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "maxPageSize",
+ "description": "The maximum number of chat threads returned per page.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "in": "query",
+ "name": "startTime",
+ "description": "The earliest point in time to get chat threads up to. The timestamp should be in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The action returns a `GetThreadsResponse` resource.",
+ "schema": {
+ "$ref": "#/definitions/ChatThreadsItemCollection"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get threads with pagination (Max Page Size)": {
+ "$ref": "./examples/Threads_ListChatThreadsWithPageSize.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}": {
+ "patch": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Updates a thread's properties.",
+ "operationId": "ChatThread_UpdateChatThreadProperties",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "The id of the thread to update.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "updateChatThreadRequest",
+ "description": "Request payload for updating a chat thread.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateChatThreadRequest"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Thread was successfully updated."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Update chat thread topic": {
+ "$ref": "./examples/Threads_UpdateChatThreadTopic.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Gets a chat thread's properties.",
+ "operationId": "ChatThread_GetChatThreadProperties",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Id of the thread.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The action returns a chat thread.",
+ "schema": {
+ "$ref": "#/definitions/ChatThreadProperties"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get chat thread": {
+ "$ref": "./examples/Threads_GetChatThread.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Deletes a thread.",
+ "operationId": "Chat_DeleteChatThread",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Id of the thread to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Delete chat thread": {
+ "$ref": "./examples/Threads_DeleteChatThread.json"
+ }
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/typing": {
+ "post": {
+ "tags": [
+ "TypingNotifications"
+ ],
+ "summary": "Posts a typing event to a thread, on behalf of a user.",
+ "operationId": "ChatThread_SendTypingNotification",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Id of the thread.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "sendTypingNotificationRequest",
+ "description": "Details of the typing notification request.",
+ "schema": {
+ "$ref": "#/definitions/SendTypingNotificationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Post typing event to a thread": {
+ "$ref": "./examples/Messages_SendTypingNotification.json"
+ }
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/images": {
+ "post": {
+ "tags": [
+ "Images"
+ ],
+ "summary": "Upload an image in a thread, on behalf of a user.",
+ "operationId": "ChatThread_UploadChatImage",
+ "consumes": [
+ "application/octet-stream"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "header",
+ "name": "image-filename",
+ "description": "The file name of the image.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id where the uploaded image belongs to. (Teams meeting only)",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "chatImageFile",
+ "description": "Image binary data, allowed image formats: jpeg, png, gif, heic, webp",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ChatImageFile"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Uploaded successfully, the `Location` header contains the URL for the newly uploaded image.",
+ "schema": {
+ "$ref": "#/definitions/UploadChatImageResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Upload Image": {
+ "$ref": "./examples/Images_UploadChatImage.json"
+ }
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/images/{imageId}/view/{imageViewType}": {
+ "get": {
+ "tags": [
+ "Images"
+ ],
+ "summary": "Get an image by view type.",
+ "operationId": "ChatThread_GetChatImage",
+ "produces": [
+ "application/json",
+ "image/gif",
+ "image/jpeg",
+ "image/png",
+ "image/bmp",
+ "image/tiff"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "The thread id to which the message was sent.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "imageId",
+ "description": "The image id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "imageViewType",
+ "description": "The view type of image.",
+ "required": true,
+ "enum": [
+ "original",
+ "small"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ImageViewType",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Image binary data",
+ "schema": {
+ "$ref": "#/definitions/ChatImageFile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete message": {
+ "$ref": "./examples/Images_GetChatImage.json"
+ }
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/images/{imageId}": {
+ "delete": {
+ "tags": [
+ "Images"
+ ],
+ "summary": "Deletes a image.",
+ "operationId": "ChatThread_DeleteChatImage",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "The thread id to which the message was sent.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "imageId",
+ "description": "The image id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete message": {
+ "$ref": "./examples/Images_DeleteChatImage.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CommunicationUserIdentifierModel": {
+ "$ref": "../../../Common/stable/2023-11-15/common.json#/definitions/CommunicationUserIdentifierModel"
+ },
+ "CommunicationCloudEnvironment": {
+ "$ref": "../../../Common/stable/2023-11-15/common.json#/definitions/CommunicationCloudEnvironmentModel"
+ },
+ "MicrosoftTeamsUserIdentifierModel": {
+ "$ref": "../../../Common/stable/2023-11-15/common.json#/definitions/MicrosoftTeamsUserIdentifierModel"
+ },
+ "MicrosoftTeamsAppIdentifierModel": {
+ "$ref": "../../../Common/stable/2023-11-15/common.json#/definitions/MicrosoftTeamsAppIdentifierModel"
+ },
+ "CommunicationIdentifierModel": {
+ "$ref": "../../../Common/stable/2023-11-15/common.json#/definitions/CommunicationIdentifierModel"
+ },
+ "ChatMessageReadReceipt": {
+ "description": "A chat message read receipt indicates the time a chat message was read by a recipient.",
+ "required": [
+ "chatMessageId",
+ "readOn",
+ "senderCommunicationIdentifier"
+ ],
+ "type": "object",
+ "properties": {
+ "senderCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ },
+ "chatMessageId": {
+ "description": "Id of the chat message that has been read. This id is generated by the server.",
+ "type": "string",
+ "example": "1591137790240"
+ },
+ "readOn": {
+ "format": "date-time",
+ "description": "The time at which the message was read. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ }
+ }
+ },
+ "ChatMessageReadReceiptsCollection": {
+ "description": "A paged collection of chat message read receipts.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of chat message read receipts.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatMessageReadReceipt"
+ }
+ },
+ "nextLink": {
+ "description": "If there are more chat message read receipts that can be retrieved, the next link will be populated.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "CommunicationError": {
+ "$ref": "../../../Common/stable/2023-11-15/common.json#/definitions/CommunicationError"
+ },
+ "CommunicationErrorResponse": {
+ "$ref": "../../../Common/stable/2023-11-15/common.json#/definitions/CommunicationErrorResponse"
+ },
+ "ErrorResponse": {
+ "type": "object",
+ "description": "Wrapper for error response to follow ARM guidelines.",
+ "properties": {
+ "error": {
+ "description": "The error response.",
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "Error": {
+ "type": "object",
+ "description": "Error response information.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ },
+ "details": {
+ "type": "array",
+ "description": "An array of error detail objects.",
+ "items": {
+ "$ref": "#/definitions/ErrorDetail"
+ },
+ "x-ms-identifiers": [
+ "code"
+ ]
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "ErrorDetail": {
+ "type": "object",
+ "description": "Error detail information.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "SendReadReceiptRequest": {
+ "description": "Request payload for sending a read receipt.",
+ "required": [
+ "chatMessageId"
+ ],
+ "type": "object",
+ "properties": {
+ "chatMessageId": {
+ "description": "Id of the latest chat message read by the user.",
+ "type": "string",
+ "example": "1592435762364"
+ }
+ }
+ },
+ "ChatMessageType": {
+ "description": "The chat message type.",
+ "enum": [
+ "text",
+ "html",
+ "topicUpdated",
+ "participantAdded",
+ "participantRemoved"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ChatMessageType",
+ "modelAsString": true
+ },
+ "example": "html"
+ },
+ "SendChatMessageRequest": {
+ "description": "Details of the message to send.",
+ "required": [
+ "content"
+ ],
+ "type": "object",
+ "properties": {
+ "content": {
+ "description": "Chat message content.",
+ "type": "string",
+ "example": "Come one guys, lets go for lunch together.
"
+ },
+ "senderDisplayName": {
+ "description": "The display name of the chat message sender. This property is used to populate sender name for push notifications.",
+ "type": "string",
+ "example": "Bob Admin"
+ },
+ "type": {
+ "$ref": "#/definitions/ChatMessageType"
+ },
+ "metadata": {
+ "description": "Message metadata.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "attachments": {
+ "description": "The array of attachments",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatAttachment"
+ }
+ }
+ }
+ },
+ "SendChatMessageResult": {
+ "description": "Result of the send message operation.",
+ "required": [
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "A server-generated message id.",
+ "type": "string",
+ "example": "123456789"
+ }
+ }
+ },
+ "ChatParticipant": {
+ "description": "A participant of the chat thread.",
+ "required": [
+ "communicationIdentifier"
+ ],
+ "type": "object",
+ "properties": {
+ "communicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ },
+ "displayName": {
+ "description": "Display name for the chat participant.",
+ "type": "string",
+ "example": "Bob"
+ },
+ "shareHistoryTime": {
+ "format": "date-time",
+ "description": "Time from which the chat history is shared with the participant. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "metadata": {
+ "description": "Contextual metadata for the chat participant. The metadata consists of name/value pairs. The total size of all metadata pairs can be up to 1KB in size.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ChatAttachmentType": {
+ "description": "The type of attachment.",
+ "enum": [
+ "image",
+ "file"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ChatAttachmentType",
+ "modelAsString": true
+ }
+ },
+ "ChatAttachment": {
+ "description": "An attachment in a chat message. Currently only supported in Teams Interop scenarios.",
+ "required": [
+ "id",
+ "attachmentType"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the attachment",
+ "type": "string",
+ "example": "f508ce15-e878-431f-b871-f530cac5331d"
+ },
+ "attachmentType": {
+ "$ref": "#/definitions/ChatAttachmentType"
+ },
+ "name": {
+ "description": "The name of the attachment content.",
+ "type": "string",
+ "example": "SomeImage.png"
+ },
+ "url": {
+ "description": "The URL where the attachment can be downloaded",
+ "type": "string",
+ "format": "uri",
+ "example": "https://{geoChatGW}/threads/{chatThreadId}/images/{imageId}/views/original"
+ },
+ "previewUrl": {
+ "description": "The URL where the preview of attachment can be downloaded",
+ "type": "string",
+ "format": "uri",
+ "example": "https://{geoChatGW}/threads/{chatThreadId}/images/{imageId}/views/small"
+ }
+ }
+ },
+ "ChatMessageContent": {
+ "description": "Content of a chat message.",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Chat message content for messages of types text or html.",
+ "type": "string",
+ "example": "Come one guys, lets go for lunch together.
"
+ },
+ "topic": {
+ "description": "Chat message content for messages of type topicUpdated.",
+ "type": "string",
+ "example": "Lunch Chat thread"
+ },
+ "participants": {
+ "description": "Chat message content for messages of types participantAdded or participantRemoved.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatParticipant"
+ }
+ },
+ "attachments": {
+ "description": "List of attachments for this message",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatAttachment"
+ }
+ },
+ "initiatorCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ }
+ }
+ },
+ "ChatMessage": {
+ "description": "Chat message.",
+ "required": [
+ "createdOn",
+ "id",
+ "sequenceId",
+ "type",
+ "version"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the chat message. This id is server generated.",
+ "type": "string",
+ "example": "123456789"
+ },
+ "type": {
+ "$ref": "#/definitions/ChatMessageType"
+ },
+ "sequenceId": {
+ "description": "Sequence of the chat message in the conversation.",
+ "type": "string"
+ },
+ "version": {
+ "description": "Version of the chat message.",
+ "type": "string"
+ },
+ "content": {
+ "$ref": "#/definitions/ChatMessageContent"
+ },
+ "senderDisplayName": {
+ "description": "The display name of the chat message sender. This property is used to populate sender name for push notifications.",
+ "type": "string",
+ "example": "Jane"
+ },
+ "createdOn": {
+ "format": "date-time",
+ "description": "The timestamp when the chat message arrived at the server. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "senderCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ },
+ "deletedOn": {
+ "format": "date-time",
+ "description": "The timestamp (if applicable) when the message was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "editedOn": {
+ "format": "date-time",
+ "description": "The last timestamp (if applicable) when the message was edited. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "metadata": {
+ "description": "Message metadata.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "policyViolation": {
+ "$ref": "#/definitions/PolicyViolation"
+ }
+ }
+ },
+ "ChatMessagesCollection": {
+ "description": "Collection of chat messages for a particular chat thread.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of chat messages.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatMessage"
+ }
+ },
+ "nextLink": {
+ "description": "If there are more chat messages that can be retrieved, the next link will be populated.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateChatMessageRequest": {
+ "description": "Request payload for updating a chat message.",
+ "type": "object",
+ "properties": {
+ "content": {
+ "description": "Chat message content.",
+ "type": "string",
+ "example": "Let's go for lunch together."
+ },
+ "metadata": {
+ "description": "Message metadata.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "attachments": {
+ "description": "The array of attachments",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatAttachment"
+ }
+ }
+ }
+ },
+ "ChatParticipantsCollection": {
+ "description": "Collection of participants belong to a particular thread.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Chat participants.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatParticipant"
+ }
+ },
+ "nextLink": {
+ "description": "If there are more chat participants that can be retrieved, the next link will be populated.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AddChatParticipantsRequest": {
+ "description": "Participants to be added to the thread.",
+ "required": [
+ "participants"
+ ],
+ "type": "object",
+ "properties": {
+ "participants": {
+ "description": "Participants to add to a chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatParticipant"
+ }
+ }
+ }
+ },
+ "AddChatParticipantsResult": {
+ "description": "Result of the add chat participants operation.",
+ "type": "object",
+ "properties": {
+ "invalidParticipants": {
+ "description": "The participants that failed to be added to the chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommunicationError"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "CreateChatThreadRequest": {
+ "description": "Request payload for creating a chat thread.",
+ "required": [
+ "topic"
+ ],
+ "type": "object",
+ "properties": {
+ "topic": {
+ "description": "The chat thread topic.",
+ "type": "string",
+ "example": "Lunch Thread"
+ },
+ "participants": {
+ "description": "Participants to be added to the chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatParticipant"
+ }
+ },
+ "metadata": {
+ "description": "Contextual metadata for the thread. The metadata consists of name/value pairs. The total size of all metadata pairs can be up to 1KB in size.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/ChatRetentionPolicy"
+ }
+ }
+ },
+ "ChatThreadProperties": {
+ "description": "Chat thread.",
+ "required": [
+ "createdByCommunicationIdentifier",
+ "createdOn",
+ "id",
+ "topic"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Chat thread id.",
+ "type": "string",
+ "example": "19:uni01_uy5ucb66ugp3lrhe7pxso6xx4hsmm3dl6eyjfefv2n6x3rrurpea@thread.v2"
+ },
+ "topic": {
+ "description": "Chat thread topic.",
+ "type": "string",
+ "example": "Lunch Chat thread"
+ },
+ "createdOn": {
+ "format": "date-time",
+ "description": "The timestamp when the chat thread was created. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "createdByCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ },
+ "deletedOn": {
+ "format": "date-time",
+ "description": "The timestamp when the chat thread was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "metadata": {
+ "description": "Contextual metadata for the thread. The metadata consists of name/value pairs. The total size of all metadata pairs can be up to 1KB in size.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/ChatRetentionPolicy"
+ },
+ "messagingPolicy": {
+ "$ref": "#/definitions/MessagingPolicy"
+ }
+ }
+ },
+ "CreateChatThreadResult": {
+ "description": "Result of the create chat thread operation.",
+ "type": "object",
+ "properties": {
+ "chatThread": {
+ "$ref": "#/definitions/ChatThreadProperties"
+ },
+ "invalidParticipants": {
+ "description": "The participants that failed to be added to the chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommunicationError"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ChatThreadItem": {
+ "description": "Summary information of a chat thread.",
+ "required": [
+ "id",
+ "topic"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Chat thread id.",
+ "type": "string",
+ "example": "19:uni01_uy5ucb66ugp3lrhe7pxso6xx4hsmm3dl6eyjfefv2n6x3rrurpea@thread.v2"
+ },
+ "topic": {
+ "description": "Chat thread topic.",
+ "type": "string",
+ "example": "Lunch Chat thread"
+ },
+ "deletedOn": {
+ "format": "date-time",
+ "description": "The timestamp when the chat thread was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "lastMessageReceivedOn": {
+ "format": "date-time",
+ "description": "The timestamp when the last message arrived at the server. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "readOnly": true,
+ "example": "2020-10-30T10:50:50Z"
+ }
+ }
+ },
+ "ChatThreadsItemCollection": {
+ "description": "Collection of chat threads.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of chat threads.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatThreadItem"
+ }
+ },
+ "nextLink": {
+ "description": "If there are more chat threads that can be retrieved, the next link will be populated.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateChatThreadRequest": {
+ "description": "Request payload for updating a chat thread.",
+ "type": "object",
+ "properties": {
+ "topic": {
+ "description": "Chat thread topic.",
+ "type": "string",
+ "example": "Lunch Thread"
+ },
+ "metadata": {
+ "description": "Contextual metadata for the thread. The metadata consists of name/value pairs. The total size of all metadata pairs can be up to 1KB in size.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/ChatRetentionPolicy"
+ }
+ }
+ },
+ "SendTypingNotificationRequest": {
+ "description": "Request payload for typing notifications.",
+ "type": "object",
+ "properties": {
+ "senderDisplayName": {
+ "description": "The display name of the typing notification sender. This property is used to populate sender name for push notifications.",
+ "type": "string",
+ "example": "Bob Admin"
+ }
+ }
+ },
+ "ChatRetentionPolicy": {
+ "description": "Data retention policy for auto deletion.",
+ "type": "object",
+ "discriminator": "kind",
+ "properties": {
+ "kind": {
+ "description": "Retention Policy Type",
+ "enum": [
+ "threadCreationDate",
+ "none"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RetentionPolicyKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "threadCreationDate",
+ "description": "Thread retention policy based on thread creation date."
+ },
+ {
+ "value": "none",
+ "description": "No thread retention policy"
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "ThreadCreationDateRetentionPolicy": {
+ "description": "Thread retention policy based on thread creation date.",
+ "type": "object",
+ "x-ms-discriminator-value": "threadCreationDate",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatRetentionPolicy"
+ }
+ ],
+ "properties": {
+ "deleteThreadAfterDays": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Indicates how many days after the thread creation the thread will be deleted."
+ }
+ },
+ "required": [
+ "deleteThreadAfterDays"
+ ]
+ },
+ "NoneRetentionPolicy": {
+ "description": "No thread retention policy.",
+ "type": "object",
+ "x-ms-discriminator-value": "none",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatRetentionPolicy"
+ }
+ ]
+ },
+ "ChatImageFile": {
+ "description": "The image binary data.",
+ "type": "string",
+ "format": "binary",
+ "x-ms-media-kind": "image"
+ },
+ "UploadChatImageResult": {
+ "description": "Result payload for uploading an image.",
+ "required": [
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "A server-generated image id.",
+ "type": "string",
+ "example": "0-eus-d2-fb42e272282ebb6ef76a3aedd1974433"
+ },
+ "attachmentType": {
+ "$ref": "#/definitions/ChatAttachmentType"
+ },
+ "name": {
+ "description": "The name including file extension type of the attachment.",
+ "type": "string",
+ "example": "SomeImage.png"
+ }
+ }
+ },
+ "PolicyViolationMessageState": {
+ "description": "The policy violation state.",
+ "enum": [
+ "contentBlocked",
+ "warning"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PolicyViolationMessageState",
+ "modelAsString": true
+ },
+ "example": "contentBlocked"
+ },
+ "PolicyViolation": {
+ "description": "Policy violation of a message.",
+ "required": [
+ "state"
+ ],
+ "type": "object",
+ "properties": {
+ "state": {
+ "$ref": "#/definitions/PolicyViolationMessageState"
+ }
+ }
+ },
+ "MessagingPolicy": {
+ "description": "Messaging policy for a chat thread.",
+ "type": "object",
+ "properties": {
+ "textOnlyChat": {
+ "description": "Allow text only chat with no message with attachment, if `textOnlyChat` is undefined assumed `false`.",
+ "type": "boolean",
+ "example": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "in": "query",
+ "name": "api-version",
+ "description": "Version of API to invoke.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "Endpoint": {
+ "in": "path",
+ "name": "endpoint",
+ "description": "The endpoint of the Azure Communication resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "client"
+ }
+ },
+ "securityDefinitions": {
+ "Authorization": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header",
+ "description": "An ACS (Azure Communication Services) user access token."
+ }
+ },
+ "security": [
+ {
+ "Authorization": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ }
+}
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Conversations_ListChatReadReceiptsWithPageSize.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Conversations_ListChatReadReceiptsWithPageSize.json
new file mode 100644
index 000000000000..0a9e16ffe410
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Conversations_ListChatReadReceiptsWithPageSize.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2024-06-05-preview",
+ "chatThreadId": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "maxPageSize": 2
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "chatMessageId": "1591137790240",
+ "readOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715"
+ }
+ },
+ "chatMessageId": "1591768249318",
+ "readOn": "2020-06-06T05:55:41.6460000Z"
+ }
+ ],
+ "nextLink": "https://contoso.westus.communications.azure.com/chat/threads/19:453dafb77b26481ea2e73bcada0324af@thread.v2/readReceipts?skip=2&maxPageSize=2&api-version=2024-06-05-preview"
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Conversations_SendChatReadReceipt.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Conversations_SendChatReadReceipt.json
new file mode 100644
index 000000000000..31d0c6054169
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Conversations_SendChatReadReceipt.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2024-06-05-preview",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "sendReadReceiptRequest": {
+ "chatMessageId": "1591137790240"
+ }
+ },
+ "responses": {
+ "200": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Images_DeleteChatImage.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Images_DeleteChatImage.json
new file mode 100644
index 000000000000..c93d9493a51c
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Images_DeleteChatImage.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2024-06-05-preview",
+ "chatThreadId": "19:34adfa4f-cedf-4dc0-ba29-b6d1a69ab345@thread.v2",
+ "imageId": "0-eus-d2-fb42e272282ebb6ef76a3aedd1974433"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Images_GetChatImage.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Images_GetChatImage.json
new file mode 100644
index 000000000000..cf975548dd7e
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Images_GetChatImage.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2024-06-05-preview",
+ "chatThreadId": "19:34adfa4f-cedf-4dc0-ba29-b6d1a69ab345@thread.v2",
+ "imageId": "0-eus-d2-fb42e272282ebb6ef76a3aedd1974433",
+ "imageViewType": "original"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "image/png"
+ },
+ "body": "{binary}"
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Images_UploadChatImage.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Images_UploadChatImage.json
new file mode 100644
index 000000000000..1500a00a6092
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Images_UploadChatImage.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2024-06-05-preview",
+ "chatThreadId": "19:34adfa4f-cedf-4dc0-ba29-b6d1a69ab345@thread.v2",
+ "chatImageFile": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAAAAAA6fptVAAAACklEQVQYV2P4DwABAQEAWk1v8QAAAABJRU5ErkJggg==",
+ "image-filename": "sample.png"
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "/chat/threads/19:34adfa4f-cedf-4dc0-ba29-b6d1a69ab345@thread.v2/images/0-eus-d2-fb42e272282ebb6ef76a3aedd1974433"
+ },
+ "body": {
+ "id": "0-eus-d2-fb42e272282ebb6ef76a3aedd1974433",
+ "attachmentType": "inlineImage",
+ "name": "sample.png"
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_DeleteChatMessage.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_DeleteChatMessage.json
new file mode 100644
index 000000000000..74e649da8c80
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_DeleteChatMessage.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2024-06-05-preview",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "chatMessageId": "1591768249318"
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_GetChatMessage.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_GetChatMessage.json
new file mode 100644
index 000000000000..60b096952cbc
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_GetChatMessage.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2024-06-05-preview",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "chatMessageId": "1591768249318"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "1591768249318",
+ "sequenceId": "1",
+ "type": "text",
+ "version": "1599016601134",
+ "content": {
+ "message": "Let's head out for lunch in 15 minutes."
+ },
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-10T05:50:49.3180000Z",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "metadata": {
+ "someKey1": "someValue1",
+ "someKey2": "someValue2"
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_ListChatMessagesWithPageSize.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_ListChatMessagesWithPageSize.json
new file mode 100644
index 000000000000..e144e71b0f97
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_ListChatMessagesWithPageSize.json
@@ -0,0 +1,189 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2024-06-05-preview",
+ "chatThreadId": "19:meeting_453dafb77b26481ea2e73bcada0324af@thread.v2",
+ "maxPageSize": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "1593108077690",
+ "type": "text",
+ "sequenceId": "6",
+ "version": "1593108077690",
+ "content": {
+ "message": ""
+ },
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-25T18:01:17.6900000Z",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "policyViolation": {
+ "state": "contentBlocked"
+ }
+ },
+ {
+ "id": "1593107077690",
+ "type": "html",
+ "version": "1593107077683",
+ "sequenceId": "5",
+ "content": {
+ "message": "This place for lunch?
\r\n",
+ "attachments": [
+ {
+ "id": "0-canaryeus-d1-907ca0083e8f3bef6793e5a46c0ded73",
+ "attachmentType": "image",
+ "name": "image",
+ "url": "https://contoso.westus.communications.azure.com/chat/threads/19:meeting_453dafb77b26481ea2e73bcada0324af@thread.v2/images/0-canaryeus-d1-907ca0083e8f3bef6793e5a46c0ded73/views/original?api-version=2023-07-01-preview",
+ "previewUrl": "https://contoso.westus.communications.azure.com/chat/threads/19:meeting_453dafb77b26481ea2e73bcada0324af@thread.v2/messages/1700844519132/teamsInterop/images/0-canaryeus-d1-907ca0083e8f3bef6793e5a46c0ded73/views/small?api-version=2023-07-01-preview"
+ }
+ ]
+ },
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-25T17:44:37.6830000Z",
+ "metadata": {
+ "amsreferences": "[\"0-canaryeus-d1-907ca0083e8f3bef6793e5a46c0ded73\"]"
+ },
+ "senderCommunicationIdentifier": {
+ "rawId": "8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ {
+ "id": "1593107077683",
+ "type": "text",
+ "sequenceId": "4",
+ "version": "1593107077683",
+ "content": {
+ "message": "Let's use this chat to decide what to get for lunch today."
+ },
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-25T17:44:37.6830000Z",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ {
+ "id": "1593107046498",
+ "type": "text",
+ "sequenceId": "3",
+ "version": "1593107046498",
+ "content": {
+ "message": "Good morning everyone!"
+ },
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-25T17:44:06.4980000Z",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ {
+ "id": "1593106976785",
+ "type": "topicUpdated",
+ "sequenceId": "2",
+ "version": "1593106976785",
+ "content": {
+ "initiatorCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "topic": "Lunch"
+ },
+ "createdOn": "2020-06-25T17:42:56.7850000Z"
+ },
+ {
+ "id": "1593106976753",
+ "type": "participantAdded",
+ "version": "1593106976753",
+ "sequenceId": "1",
+ "content": {
+ "initiatorCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "participants": [
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715"
+ }
+ }
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_f13a9208-0bb8-45c0-916c-f3ed922728ce",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_f13a9208-0bb8-45c0-916c-f3ed922728ce"
+ }
+ }
+ }
+ ]
+ },
+ "createdOn": "2020-06-25T17:42:56.7530000Z"
+ }
+ ],
+ "nextLink": "https://contoso.westus.communications.azure.com/chat/threads/19:meeting_453dafb77b26481ea2e73bcada0324af@thread.v2/messages?syncState=3e4700000031393a756e6930315f7a626e68336e74326466756666657a6333736f7837646f67377766686b36793571653272776c6e66686c68647a69726968647071407468726561642e763201451fe6e77201000004357fea72010000&startTime=0&maxPageSize=5&api-version=2024-06-05-preview"
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_SendChatMessage.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_SendChatMessage.json
new file mode 100644
index 000000000000..be79e19effb5
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_SendChatMessage.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2024-06-05-preview",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "sendChatMessageRequest": {
+ "content": "Let's head out for lunch in 15 minutes.",
+ "senderDisplayName": "Jane",
+ "metadata": {
+ "someKey1": "someValue1",
+ "someKey2": "someValue2"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://contoso.westus.communications.azure.com/chat/threads/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/messages/1593072104708"
+ },
+ "body": {
+ "id": "1593072104708"
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_SendTypingNotification.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_SendTypingNotification.json
new file mode 100644
index 000000000000..be6bf22f627d
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_SendTypingNotification.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2024-06-05-preview",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "sendTypingNotificationRequest": {
+ "senderDisplayName": "Jane"
+ }
+ },
+ "responses": {
+ "200": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_UpdateChatMessage.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_UpdateChatMessage.json
new file mode 100644
index 000000000000..92fa7dcfeae9
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Messages_UpdateChatMessage.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "content-type": "application/merge-patch+json",
+ "api-version": "2024-06-05-preview",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "chatMessageId": "1591768249318",
+ "updateChatMessageRequest": {
+ "content": "Updated message content",
+ "metadata": {
+ "someKey1": "someValue1",
+ "someKey2": "someValue2"
+ }
+ }
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Participants_AddChatParticipants.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Participants_AddChatParticipants.json
new file mode 100644
index 000000000000..b1a48b3138f9
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Participants_AddChatParticipants.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2024-06-05-preview",
+ "chatThreadId": "19:f2167429acf6482880c6b7790a9086c1@thread.v2",
+ "addChatParticipantsRequest": {
+ "participants": [
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715"
+ }
+ },
+ "displayName": "Alex",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "displayName": "Peter",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_f13a9208-0bb8-45c0-916c-f3ed922728ce",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_f13a9208-0bb8-45c0-916c-f3ed922728ce"
+ }
+ },
+ "displayName": "Rama",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "invalidParticipants": [
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_a34d2d65-d72f-4c48-a12c-2d5c9ac75a1a",
+ "code": "403",
+ "message": "Permissions check failed"
+ },
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_f6762773-e33a-4727-985f-50bd1d197c7b",
+ "code": "404",
+ "message": "Not found"
+ }
+ ]
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Participants_ListChatParticipantsWithPageSize.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Participants_ListChatParticipantsWithPageSize.json
new file mode 100644
index 000000000000..959dd3a631d7
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Participants_ListChatParticipantsWithPageSize.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2024-06-05-preview",
+ "chatThreadId": "19:f2167429acf6482880c6b7790a9086c1@thread.v2",
+ "maxPageSize": 2
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715"
+ }
+ },
+ "displayName": "Jane",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "displayName": "Alex",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ }
+ ],
+ "nextLink": "https://contoso.westus.communications.azure.com/chat/threads/19:453dafb77b26481ea2e73bcada0324af@thread.v2/participants?skip=2&maxPageSize=2&api-version=2024-06-05-preview"
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Participants_RemoveChatParticipant.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Participants_RemoveChatParticipant.json
new file mode 100644
index 000000000000..fdeadcf66d7e
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Participants_RemoveChatParticipant.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2024-06-05-preview",
+ "chatThreadId": "19:f2167429acf6482880c6b7790a9086c1@thread.v2",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_CreateChatThread.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_CreateChatThread.json
new file mode 100644
index 000000000000..a0115eebeac8
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_CreateChatThread.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2024-06-05-preview",
+ "createChatThreadRequest": {
+ "topic": "Lunch",
+ "participants": [
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715"
+ }
+ },
+ "displayName": "Jane"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "displayName": "Alex"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_a34d2d65-d72f-4c48-a12c-2d5c9ac75a1a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_a34d2d65-d72f-4c48-a12c-2d5c9ac75a1a"
+ }
+ },
+ "displayName": "Bob"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_f6762773-e33a-4727-985f-50bd1d197c7b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_f6762773-e33a-4727-985f-50bd1d197c7b"
+ }
+ },
+ "displayName": "Peter"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://contoso.westus.communications.azure.com/chat/threads/19%3Auni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2"
+ },
+ "body": {
+ "chatThread": {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "topic": "Lunch",
+ "createdOn": "2020-06-06T05:55:41.6460000Z",
+ "createdByCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715"
+ }
+ }
+ },
+ "invalidParticipants": [
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_a34d2d65-d72f-4c48-a12c-2d5c9ac75a1a",
+ "code": "403",
+ "message": "Permissions check failed"
+ },
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_f6762773-e33a-4727-985f-50bd1d197c7b",
+ "code": "404",
+ "message": "Not found"
+ }
+ ]
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_CreateChatThreadWithIdempotencyToken.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_CreateChatThreadWithIdempotencyToken.json
new file mode 100644
index 000000000000..51011449d4b1
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_CreateChatThreadWithIdempotencyToken.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2024-06-05-preview",
+ "idempotency-token": "35dd6e71-251b-5e29-8376-ba93d09c3fbf",
+ "createChatThreadRequest": {
+ "topic": "Lunch",
+ "participants": [
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715"
+ }
+ },
+ "displayName": "Jane"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "displayName": "Alex"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_a34d2d65-d72f-4c48-a12c-2d5c9ac75a1a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_a34d2d65-d72f-4c48-a12c-2d5c9ac75a1a"
+ }
+ },
+ "displayName": "Bob"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_f6762773-e33a-4727-985f-50bd1d197c7b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_f6762773-e33a-4727-985f-50bd1d197c7b"
+ }
+ },
+ "displayName": "Peter"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://contoso.westus.communications.azure.com/chat/threads/19%3Auni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2"
+ },
+ "body": {
+ "chatThread": {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "topic": "Lunch",
+ "createdOn": "2020-06-06T05:55:41.6460000Z",
+ "createdByCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715"
+ }
+ }
+ },
+ "invalidParticipants": [
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_a34d2d65-d72f-4c48-a12c-2d5c9ac75a1a",
+ "code": "403",
+ "message": "Permissions check failed"
+ },
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_f6762773-e33a-4727-985f-50bd1d197c7b",
+ "code": "404",
+ "message": "Not found"
+ }
+ ]
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_DeleteChatThread.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_DeleteChatThread.json
new file mode 100644
index 000000000000..243167721b3a
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_DeleteChatThread.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2024-06-05-preview",
+ "chatThreadId": "19:9525281ac1f947fc884bcee1a9f983c2@thread.v2"
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_GetChatThread.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_GetChatThread.json
new file mode 100644
index 000000000000..d3a96dbcee19
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_GetChatThread.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2024-06-05-preview",
+ "chatThreadId": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "topic": "Lunch",
+ "createdOn": "2020-06-06T05:55:41.6460000Z",
+ "createdByCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "messagingPolicy": {
+ "textOnlyChat": false
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_ListChatThreadsWithPageSize.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_ListChatThreadsWithPageSize.json
new file mode 100644
index 000000000000..c74d16378e31
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_ListChatThreadsWithPageSize.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2024-06-05-preview",
+ "maxPageSize": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "topic": "Chat with Samantha",
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "id": "19:a0dfe5fc10e04a7f8d8a64d455f4196d@thread.v2",
+ "topic": "Presentation Brainstorming",
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "id": "19:uni01_n242d2bzammtwxiib7pbjtozeevjqzavzn654ku3dajocexfo2na@thread.v2",
+ "topic": "Chat with Alex",
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "id": "19:0062022a28be4e0983734f7e45cd8566@thread.v2",
+ "topic": "Lunch",
+ "deletedOn": "2020-07-07T05:55:41.6460000Z",
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpe@thread.v2",
+ "topic": "Chat with Bob",
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ }
+ ],
+ "nextLink": "https://contoso.westus.communications.azure.com/chat/threads?syncState=W3sic3RhcnQiOiIyMDIwLTA2LTIzVDIzOjMyOjQ3LjMwNSswMDowMCIsImVuZCI6IjIwMjAtMDYtMjVUMDY6NTY6MjMuNjk2KzAwOjAwIn0seyJzdGFydCI6IjE5NzAtMDEtMDFUMDA6MDA6MDArMDA6MDAiLCJlbmQiOiIxOTcwLTAxLTAxVDAwOjAwOjAwKzAwOjAwIn1d&api-version=2024-06-05-preview&maxPageSize=5"
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_UpdateChatThreadTopic.json b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_UpdateChatThreadTopic.json
new file mode 100644
index 000000000000..822393251639
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2024-06-05-preview/examples/Threads_UpdateChatThreadTopic.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "content-type": "application/merge-patch+json",
+ "api-version": "2024-06-05-preview",
+ "chatThreadId": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "updateChatThreadRequest": {
+ "topic": "Updated Thread Topic"
+ }
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Chat/readme.md b/specification/communication/data-plane/Chat/readme.md
index 76da29a67609..273da7ea5e61 100644
--- a/specification/communication/data-plane/Chat/readme.md
+++ b/specification/communication/data-plane/Chat/readme.md
@@ -194,6 +194,17 @@ title:
Azure Communication Services
```
+### Tag: package-2024-06-05-preview
+
+These settings apply only when `--tag=package-2024-06-05-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2024-06-05-preview'
+input-file:
+ - preview/2024-06-05-preview/communicationserviceschat.json
+title:
+ Azure Communication Services
+```
+
---
# Code Generation
From 86b70ce378f0005c26b58ba0bcf96907bfa3a966 Mon Sep 17 00:00:00 2001
From: pjohari-ms <84465928+pjohari-ms@users.noreply.github.com>
Date: Fri, 7 Jun 2024 15:56:05 -0500
Subject: [PATCH 130/343] [Microsoft.DocumentDB] Bug fix for preview API
Version 2024-05-15-preview (#29344)
* Bug fix for version 05-15-preview
* Renamed models for better naming
---
.../preview/2024-05-15-preview/services.json | 17 ++++++++---------
1 file changed, 8 insertions(+), 9 deletions(-)
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2024-05-15-preview/services.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2024-05-15-preview/services.json
index 242e5ea9b239..34b08bbbc4f8 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2024-05-15-preview/services.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2024-05-15-preview/services.json
@@ -310,7 +310,6 @@
"type": "object",
"properties": {
"properties": {
- "x-ms-client-flatten": true,
"$ref": "#/definitions/ServiceResourceCreateUpdateProperties"
}
}
@@ -396,8 +395,8 @@
}
}
},
- "DataTransferServiceResourceCreateUpdateParameters": {
- "description": "Parameters for Create or Update request for DataTransferServiceResource",
+ "DataTransferServiceResourceCreateUpdateProperties": {
+ "description": "Properties for Create or Update request for DataTransferServiceResource",
"type": "object",
"x-ms-discriminator-value": "DataTransfer",
"allOf": [
@@ -406,8 +405,8 @@
}
]
},
- "SqlDedicatedGatewayServiceResourceCreateUpdateParameters": {
- "description": "Parameters for Create or Update request for SqlDedicatedGatewayServiceResource",
+ "SqlDedicatedGatewayServiceResourceCreateUpdateProperties": {
+ "description": "Properties for Create or Update request for SqlDedicatedGatewayServiceResource",
"type": "object",
"x-ms-discriminator-value": "SqlDedicatedGateway",
"allOf": [
@@ -504,8 +503,8 @@
}
}
},
- "GraphAPIComputeServiceResourceCreateUpdateParameters": {
- "description": "Parameters for Create or Update request for GraphAPIComputeServiceResource",
+ "GraphAPIComputeServiceResourceCreateUpdateProperties": {
+ "description": "Properties for Create or Update request for GraphAPIComputeServiceResource",
"type": "object",
"x-ms-discriminator-value": "GraphAPICompute",
"allOf": [
@@ -544,8 +543,8 @@
}
}
},
- "MaterializedViewsBuilderServiceResourceCreateUpdateParameters": {
- "description": "Parameters for Create or Update request for MaterializedViewsBuilderServiceResource",
+ "MaterializedViewsBuilderServiceResourceCreateUpdateProperties": {
+ "description": "Properties for Create or Update request for MaterializedViewsBuilderServiceResource",
"type": "object",
"x-ms-discriminator-value": "MaterializedViewsBuilder",
"allOf": [
From e90dc8b10a5721c156af287729e41263b15ac379 Mon Sep 17 00:00:00 2001
From: Konrad Jamrozik
Date: Fri, 7 Jun 2024 14:26:15 -0700
Subject: [PATCH 131/343] Update uniform-versioning.md and glossary.md: minor
fixups (#29368)
* Update uniform-versioning.md
* Update glossary.md
---
documentation/glossary.md | 2 +-
documentation/uniform-versioning.md | 7 +++++--
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/documentation/glossary.md b/documentation/glossary.md
index d55bbf11b9ff..84810756d853 100644
--- a/documentation/glossary.md
+++ b/documentation/glossary.md
@@ -39,7 +39,7 @@ A data-plane service has a path of form:
> [!NOTE]
> Some existing services follow different directory structure layouts.
-> All such layouts are legacy, deprecated, and not allowed going forward.
+> All such layouts are legacy, deprecated, and strongly discouraged going forward.
For example, [`specification/containerservice/resource-manager/Microsoft.ContainerService/aks`]
is a folder for the `aks` service within the `Microsoft.ContainerService` ARM Resource Provider namespace.
diff --git a/documentation/uniform-versioning.md b/documentation/uniform-versioning.md
index 923e8c2c0ed4..7a085b44b857 100644
--- a/documentation/uniform-versioning.md
+++ b/documentation/uniform-versioning.md
@@ -1,3 +1,6 @@
+| Short Link: | [aka.ms/azsdk/uniform-versioning](https://aka.ms/azsdk/uniform-versioning) |
+|--|--|
+
# Uniform versioning
> [!NOTE]
@@ -11,7 +14,7 @@ In brief, it means:
> If a new service API version is released, also a new documentation reference must be released to describe it.
> Similarly, a new version of given SDK package must be released to refer to the new service version.
-Each `service` within a `service group` can version independently of each other.
+Each `service` within a `service group` or `grouping directory` can version independently of each other.
## Uniform versioning rules
@@ -55,7 +58,7 @@ The **uniform versioning** has several implications and implementation decisions
### No API version mixing within a service
- Nowhere within a service, documentation for it, or SDK referencing it,
- can multiple service API versions be mixed. as such:
+ can multiple service API versions be mixed. As such:
- `preview` API versions cannot be mixed with `stable` API versions.
- No HTTP API endpoint for given API version can have any kind of dependency on service endpoint from any other API version.
- The above apply to a stand-alone service as well as to a service that is a member of a `service group`.
From 25afa22a250c0ad5a28671003f961b9cd20d60f6 Mon Sep 17 00:00:00 2001
From: Libba Lawrence
Date: Fri, 7 Jun 2024 16:16:19 -0700
Subject: [PATCH 132/343] [EG] mark internal all (#29366)
* internal csharp
* remove - apply to all
* update - js doesnt recognize internal?
* try this
* tsp format
* update
* update version
---
.../Azure.Messaging.EventGrid/client.tsp | 32 +++++++++++++++++--
.../Azure.Messaging.EventGrid/tspconfig.yaml | 2 +-
2 files changed, 31 insertions(+), 3 deletions(-)
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid/client.tsp b/specification/eventgrid/Azure.Messaging.EventGrid/client.tsp
index c5bfa4531cdd..efc120374ada 100644
--- a/specification/eventgrid/Azure.Messaging.EventGrid/client.tsp
+++ b/specification/eventgrid/Azure.Messaging.EventGrid/client.tsp
@@ -118,11 +118,16 @@ namespace Customizations {
// All Language customizations
-// publishCloudEvent access level
+//Operation Access Level
@@access(publishCloudEvent, Access.internal, "python");
+@@access(publishCloudEvent, Access.internal, "csharp");
+@@access(publishCloudEvent, Access.internal, "java");
+@@access(publishCloudEvent, Access.internal, "javascript");
-// publishCloudEvents access level
@@access(publishCloudEvents, Access.internal, "python");
+@@access(publishCloudEvents, Access.internal, "csharp");
+@@access(publishCloudEvents, Access.internal, "java");
+@@access(publishCloudEvents, Access.internal, "javascript");
@@access(receiveCloudEvents, Access.internal, "python");
@@access(acknowledgeCloudEvents, Access.internal, "python");
@@ -130,6 +135,26 @@ namespace Customizations {
@@access(rejectCloudEvents, Access.internal, "python");
@@access(renewCloudEventLocks, Access.internal, "python");
+@@access(receiveCloudEvents, Access.internal, "csharp");
+@@access(acknowledgeCloudEvents, Access.internal, "csharp");
+@@access(releaseCloudEvents, Access.internal, "csharp");
+@@access(rejectCloudEvents, Access.internal, "csharp");
+@@access(renewCloudEventLocks, Access.internal, "csharp");
+
+@@access(receiveCloudEvents, Access.internal, "java");
+@@access(acknowledgeCloudEvents, Access.internal, "java");
+@@access(releaseCloudEvents, Access.internal, "java");
+@@access(rejectCloudEvents, Access.internal, "java");
+@@access(renewCloudEventLocks, Access.internal, "java");
+
+@@access(receiveCloudEvents, Access.internal, "javascript");
+@@access(acknowledgeCloudEvents, Access.internal, "javascript");
+@@access(releaseCloudEvents, Access.internal, "javascript");
+@@access(rejectCloudEvents, Access.internal, "javascript");
+@@access(renewCloudEventLocks, Access.internal, "javascript");
+
+//Mark models as public (except ReceiveResult, PublishResult)
+//BUG: Bypassing Go for now as it marks all models as internal
@@access(AcknowledgeResult, Access.public);
@@access(ReleaseResult, Access.public);
@@access(RejectResult, Access.public);
@@ -137,12 +162,15 @@ namespace Customizations {
@@access(ReleaseDelay, Access.public);
@@access(FailedLockToken, Access.public);
+//Rename Enum
@@clientName(ReleaseDelay.By0Seconds, "NoDelay");
@@clientName(ReleaseDelay.By10Seconds, "TenSeconds");
@@clientName(ReleaseDelay.By3600Seconds, "OneHour");
@@clientName(ReleaseDelay.By600Seconds, "TenMinutes");
@@clientName(ReleaseDelay.By60Seconds, "OneMinute");
+//Rename RenewLocksResult
@@clientName(RenewCloudEventLocksResult, "RenewLocksResult");
+//Rename value to details (ReceiveResult internal)
@@clientName(ReceiveResult.value, "details");
diff --git a/specification/eventgrid/Azure.Messaging.EventGrid/tspconfig.yaml b/specification/eventgrid/Azure.Messaging.EventGrid/tspconfig.yaml
index 3cb17a6f89e0..714857f61985 100644
--- a/specification/eventgrid/Azure.Messaging.EventGrid/tspconfig.yaml
+++ b/specification/eventgrid/Azure.Messaging.EventGrid/tspconfig.yaml
@@ -17,7 +17,7 @@ options:
azure-resource-provider-folder: "data-plane"
"@azure-tools/typespec-python":
package-pprint-name: '"Azure Event Grid"'
- package-version: 4.12.0b1
+ package-version: 4.20.0
package-dir: "azure-eventgrid"
package-name: "{package-dir}"
emitter-output-dir: "{project-root}/{service-dir}/{package-name}"
From e8ead1c7c2e2d656d3e648ae45db07581da86932 Mon Sep 17 00:00:00 2001
From: nnagarajanmsft <94897071+nnagarajanmsft@users.noreply.github.com>
Date: Sun, 9 Jun 2024 21:27:21 +0530
Subject: [PATCH 133/343] Nnagarajanmsft elasticsan microsoft.elastic san 2024
05 01 (#28828)
* Adds base for updating Microsoft.ElasticSan from version stable/2023-01-01 to version 2024-05-01
* Updates readme
* Updates API version in new specs and examples
* Add EnforceDataIntegrityCheck and generate and validate examples
* Run swagger prettier check for files reported in checks
* Run prettier for all jsons
* add modelerfour to disable flatten to avoid JS breaking
* Add new field in VolumeGroupUpdateProperties
---------
Co-authored-by: kazrael2119 <98569699+kazrael2119@users.noreply.github.com>
---
.../stable/2024-05-01/elasticsan.json | 2687 +++++++++++++++++
.../ElasticSans_Create_MaximumSet_Gen.json | 165 +
.../ElasticSans_Create_MinimumSet_Gen.json | 99 +
.../ElasticSans_Delete_MaximumSet_Gen.json | 19 +
.../ElasticSans_Delete_MinimumSet_Gen.json | 19 +
.../ElasticSans_Get_MaximumSet_Gen.json | 78 +
.../ElasticSans_Get_MinimumSet_Gen.json | 78 +
...ns_ListByResourceGroup_MaximumSet_Gen.json | 82 +
...ns_ListByResourceGroup_MinimumSet_Gen.json | 14 +
...ans_ListBySubscription_MaximumSet_Gen.json | 81 +
...ans_ListBySubscription_MinimumSet_Gen.json | 13 +
.../ElasticSans_Update_MaximumSet_Gen.json | 93 +
.../ElasticSans_Update_MinimumSet_Gen.json | 84 +
.../Operations_List_MaximumSet_Gen.json | 28 +
.../Operations_List_MinimumSet_Gen.json | 12 +
...ointConnections_Create_MaximumSet_Gen.json | 87 +
...ointConnections_Create_MinimumSet_Gen.json | 79 +
...ointConnections_Delete_MaximumSet_Gen.json | 20 +
...ointConnections_Delete_MinimumSet_Gen.json | 20 +
...ndpointConnections_Get_MaximumSet_Gen.json | 42 +
...ndpointConnections_Get_MinimumSet_Gen.json | 42 +
...dpointConnections_List_MaximumSet_Gen.json | 46 +
...dpointConnections_List_MinimumSet_Gen.json | 15 +
...urces_ListByElasticSan_MaximumSet_Gen.json | 41 +
...urces_ListByElasticSan_MinimumSet_Gen.json | 15 +
.../examples/Skus_List_MaximumSet_Gen.json | 40 +
.../examples/Skus_List_MinimumSet_Gen.json | 13 +
.../VolumeGroups_Create_MaximumSet_Gen.json | 211 ++
.../VolumeGroups_Create_MinimumSet_Gen.json | 150 +
.../VolumeGroups_Delete_MaximumSet_Gen.json | 20 +
.../VolumeGroups_Delete_MinimumSet_Gen.json | 20 +
.../VolumeGroups_Get_MaximumSet_Gen.json | 95 +
.../VolumeGroups_Get_MinimumSet_Gen.json | 16 +
...roups_ListByElasticSan_MaximumSet_Gen.json | 99 +
...roups_ListByElasticSan_MinimumSet_Gen.json | 15 +
.../VolumeGroups_Update_MaximumSet_Gen.json | 131 +
.../VolumeGroups_Update_MinimumSet_Gen.json | 22 +
...VolumeSnapshots_Create_MaximumSet_Gen.json | 70 +
...VolumeSnapshots_Create_MinimumSet_Gen.json | 70 +
...VolumeSnapshots_Delete_MaximumSet_Gen.json | 21 +
...VolumeSnapshots_Delete_MinimumSet_Gen.json | 21 +
.../VolumeSnapshots_Get_MaximumSet_Gen.json | 37 +
.../VolumeSnapshots_Get_MinimumSet_Gen.json | 37 +
...hots_ListByVolumeGroup_MaximumSet_Gen.json | 42 +
...hots_ListByVolumeGroup_MinimumSet_Gen.json | 16 +
.../Volumes_Create_MaximumSet_Gen.json | 97 +
.../Volumes_Create_MinimumSet_Gen.json | 90 +
.../Volumes_Delete_MaximumSet_Gen.json | 23 +
.../Volumes_Delete_MinimumSet_Gen.json | 21 +
.../examples/Volumes_Get_MaximumSet_Gen.json | 48 +
.../examples/Volumes_Get_MinimumSet_Gen.json | 48 +
...umes_ListByVolumeGroup_MaximumSet_Gen.json | 52 +
...umes_ListByVolumeGroup_MinimumSet_Gen.json | 16 +
.../Volumes_Update_MaximumSet_Gen.json | 61 +
.../Volumes_Update_MinimumSet_Gen.json | 54 +
.../elasticsan/resource-manager/readme.md | 13 +-
.../resource-manager/readme.typescript.md | 5 +
57 files changed, 5631 insertions(+), 2 deletions(-)
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/elasticsan.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Create_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Create_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Delete_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Delete_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Get_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Get_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_ListByResourceGroup_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_ListByResourceGroup_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_ListBySubscription_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_ListBySubscription_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Update_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Update_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Operations_List_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Operations_List_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Create_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Create_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Delete_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Delete_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Get_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Get_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_List_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_List_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateLinkResources_ListByElasticSan_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateLinkResources_ListByElasticSan_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Skus_List_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Skus_List_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Create_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Create_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Delete_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Delete_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Get_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Get_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_ListByElasticSan_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_ListByElasticSan_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Update_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Update_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Create_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Create_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Delete_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Delete_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Get_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Get_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_ListByVolumeGroup_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_ListByVolumeGroup_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Create_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Create_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Delete_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Delete_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Get_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Get_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_ListByVolumeGroup_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_ListByVolumeGroup_MinimumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Update_MaximumSet_Gen.json
create mode 100644 specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Update_MinimumSet_Gen.json
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/elasticsan.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/elasticsan.json
new file mode 100644
index 000000000000..2504c483f15c
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/elasticsan.json
@@ -0,0 +1,2687 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-05-01",
+ "title": "ElasticSanManagement"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "tags": [
+ {
+ "name": "ElasticSans",
+ "description": "APIs for ElasticSan operations."
+ },
+ {
+ "name": "ElasticSanOperations",
+ "description": "APIs for ElasticSan operations,"
+ },
+ {
+ "name": "VolumeGroups",
+ "description": "APIs for Volume Group operations."
+ },
+ {
+ "name": "Volumes",
+ "description": "APIs for Volume operations."
+ }
+ ],
+ "paths": {
+ "/providers/Microsoft.ElasticSan/operations": {
+ "get": {
+ "tags": [
+ "Elastic San Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of ElasticSan operations.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Operations_List_MaximumSet_Gen": {
+ "$ref": "./examples/Operations_List_MaximumSet_Gen.json"
+ },
+ "Operations_List_MinimumSet_Gen": {
+ "$ref": "./examples/Operations_List_MinimumSet_Gen.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ElasticSan/skus": {
+ "get": {
+ "tags": [
+ "Elastic San Skus"
+ ],
+ "summary": "List all the available Skus in the region and information related to them",
+ "operationId": "Skus_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Specify $filter='location eq ' to filter on location.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists the available SKUs supported by Microsoft.ElasticSan for given subscription.",
+ "schema": {
+ "$ref": "#/definitions/SkuInformationList"
+ }
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Skus_List_MaximumSet_Gen": {
+ "$ref": "./examples/Skus_List_MaximumSet_Gen.json"
+ },
+ "Skus_List_MinimumSet_Gen": {
+ "$ref": "./examples/Skus_List_MinimumSet_Gen.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ElasticSan/elasticSans": {
+ "get": {
+ "tags": [
+ "ElasticSans"
+ ],
+ "operationId": "ElasticSans_ListBySubscription",
+ "description": "Gets a list of ElasticSans in a subscription",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation completed successfully; retrieved Elastic San by subscription",
+ "schema": {
+ "$ref": "#/definitions/ElasticSanList"
+ }
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ElasticSans_ListBySubscription_MaximumSet_Gen": {
+ "$ref": "./examples/ElasticSans_ListBySubscription_MaximumSet_Gen.json"
+ },
+ "ElasticSans_ListBySubscription_MinimumSet_Gen": {
+ "$ref": "./examples/ElasticSans_ListBySubscription_MinimumSet_Gen.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans": {
+ "get": {
+ "tags": [
+ "ElasticSan"
+ ],
+ "operationId": "ElasticSans_ListByResourceGroup",
+ "description": "Gets a list of ElasticSan in a resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation completed successfully; retrieved elasticSans by resource group",
+ "schema": {
+ "$ref": "#/definitions/ElasticSanList"
+ }
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ElasticSans_ListByResourceGroup_MaximumSet_Gen": {
+ "$ref": "./examples/ElasticSans_ListByResourceGroup_MaximumSet_Gen.json"
+ },
+ "ElasticSans_ListByResourceGroup_MinimumSet_Gen": {
+ "$ref": "./examples/ElasticSans_ListByResourceGroup_MinimumSet_Gen.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}": {
+ "put": {
+ "tags": [
+ "ElasticSans"
+ ],
+ "operationId": "ElasticSans_Create",
+ "description": "Create ElasticSan.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ElasticSan"
+ },
+ "description": "Elastic San object."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Resource Create or Update operation is successfully completed.",
+ "schema": {
+ "$ref": "#/definitions/ElasticSan"
+ }
+ },
+ "201": {
+ "description": "Created -- Resource Create; operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ElasticSan"
+ }
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "ElasticSans_Create_MaximumSet_Gen": {
+ "$ref": "./examples/ElasticSans_Create_MaximumSet_Gen.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ElasticSans"
+ ],
+ "operationId": "ElasticSans_Update",
+ "description": "Update a Elastic San.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ElasticSanUpdate"
+ },
+ "description": "Elastic San object."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- ElasticSAN properties updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/ElasticSan"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Update request accepted; operation will complete asynchronously.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "ElasticSans_Update_MaximumSet_Gen": {
+ "$ref": "./examples/ElasticSans_Update_MaximumSet_Gen.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ElasticSans"
+ ],
+ "operationId": "ElasticSans_Delete",
+ "description": "Delete a Elastic San.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Delete operation completed successfully."
+ },
+ "202": {
+ "description": "Accepted -- Delete request accepted; operation will complete asynchronously.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent --ElasticSAN does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "ElasticSans_Delete_MaximumSet_Gen": {
+ "$ref": "./examples/ElasticSans_Delete_MaximumSet_Gen.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ElasticSans"
+ ],
+ "operationId": "ElasticSans_Get",
+ "description": "Get a ElasticSan.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation completed successfully; retrieved ElasticSan.",
+ "schema": {
+ "$ref": "#/definitions/ElasticSan"
+ }
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ElasticSans_Get_MaximumSet_Gen": {
+ "$ref": "./examples/ElasticSans_Get_MaximumSet_Gen.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumeGroups": {
+ "get": {
+ "tags": [
+ "VolumeGroups"
+ ],
+ "description": "List VolumeGroups.",
+ "operationId": "VolumeGroups_ListByElasticSan",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation completed successfully; retrieved Volume Group List.",
+ "schema": {
+ "$ref": "#/definitions/VolumeGroupList"
+ }
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "VolumeGroups_ListByElasticSan_MaximumSet_Gen": {
+ "$ref": "./examples/VolumeGroups_ListByElasticSan_MaximumSet_Gen.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}": {
+ "put": {
+ "tags": [
+ "VolumeGroups"
+ ],
+ "description": "Create a Volume Group.",
+ "operationId": "VolumeGroups_Create",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VolumeGroupNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VolumeGroup"
+ },
+ "description": "Volume Group object."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Resource Create or Update operation is successfully completed.",
+ "schema": {
+ "$ref": "#/definitions/VolumeGroup"
+ }
+ },
+ "201": {
+ "description": "Created -- Resource Create; operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/VolumeGroup"
+ }
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "VolumeGroups_Create_MaximumSet_Gen": {
+ "$ref": "./examples/VolumeGroups_Create_MaximumSet_Gen.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VolumeGroups"
+ ],
+ "description": "Update an VolumeGroup.",
+ "operationId": "VolumeGroups_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VolumeGroupNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VolumeGroupUpdate"
+ },
+ "description": "Volume Group object."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Returned when the update operation is successfully completed.",
+ "schema": {
+ "$ref": "#/definitions/VolumeGroup"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Update request accepted; operation will complete asynchronously.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "VolumeGroups_Update_MaximumSet_Gen": {
+ "$ref": "./examples/VolumeGroups_Update_MaximumSet_Gen.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "VolumeGroups"
+ ],
+ "description": "Delete an VolumeGroup.",
+ "operationId": "VolumeGroups_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VolumeGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Delete operation completed successfully."
+ },
+ "202": {
+ "description": "Accepted -- Delete request accepted; operation will complete asynchronously.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "VolumeGroups_Delete_MaximumSet_Gen": {
+ "$ref": "./examples/VolumeGroups_Delete_MaximumSet_Gen.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "VolumeGroups"
+ ],
+ "description": "Get an VolumeGroups.",
+ "operationId": "VolumeGroups_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VolumeGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully; retrieved iSCSI Target.",
+ "schema": {
+ "$ref": "#/definitions/VolumeGroup"
+ }
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "VolumeGroups_Get_MaximumSet_Gen": {
+ "$ref": "./examples/VolumeGroups_Get_MaximumSet_Gen.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}": {
+ "put": {
+ "tags": [
+ "Volumes"
+ ],
+ "description": "Create a Volume.",
+ "operationId": "Volumes_Create",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VolumeGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VolumeNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Volume"
+ },
+ "description": "Volume object."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Resource Create or Update operation is successfully completed.",
+ "schema": {
+ "$ref": "#/definitions/Volume"
+ }
+ },
+ "201": {
+ "description": "Created -- Resource Create; operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Volume"
+ }
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Volumes_Create_MaximumSet_Gen": {
+ "$ref": "./examples/Volumes_Create_MaximumSet_Gen.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Volumes"
+ ],
+ "description": "Update an Volume.",
+ "operationId": "Volumes_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VolumeGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VolumeNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VolumeUpdate"
+ },
+ "description": "Volume object."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Returned when the update operation is successfully completed.",
+ "schema": {
+ "$ref": "#/definitions/Volume"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Update request accepted; operation will complete asynchronously.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Volumes_Update_MaximumSet_Gen": {
+ "$ref": "./examples/Volumes_Update_MaximumSet_Gen.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Volumes"
+ ],
+ "description": "Delete an Volume.",
+ "operationId": "Volumes_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VolumeGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VolumeNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "x-ms-delete-snapshots",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "true",
+ "false"
+ ],
+ "x-ms-enum": {
+ "name": "x-ms-delete-snapshots",
+ "modelAsString": true
+ },
+ "description": "Optional, used to delete snapshots under volume. Allowed value are only true or false. Default value is false."
+ },
+ {
+ "name": "x-ms-force-delete",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "true",
+ "false"
+ ],
+ "x-ms-enum": {
+ "name": "x-ms-force-delete",
+ "modelAsString": true
+ },
+ "description": "Optional, used to delete volume if active sessions present. Allowed value are only true or false. Default value is false."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete operation completed successfully."
+ },
+ "202": {
+ "description": "Delete request accepted; operation will complete asynchronously.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Resource does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Volumes_Delete_MaximumSet_Gen": {
+ "$ref": "./examples/Volumes_Delete_MaximumSet_Gen.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Volumes"
+ ],
+ "description": "Get an Volume.",
+ "operationId": "Volumes_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VolumeGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VolumeNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully; retrieved Volume.",
+ "schema": {
+ "$ref": "#/definitions/Volume"
+ }
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Volumes_Get_MaximumSet_Gen": {
+ "$ref": "./examples/Volumes_Get_MaximumSet_Gen.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes": {
+ "get": {
+ "tags": [
+ "Volumes"
+ ],
+ "description": "List Volumes in a VolumeGroup.",
+ "operationId": "Volumes_ListByVolumeGroup",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VolumeGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully; retrieved volumes in a volume group.",
+ "schema": {
+ "$ref": "#/definitions/VolumeList"
+ }
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Volumes_ListByVolumeGroup_MaximumSet_Gen": {
+ "$ref": "./examples/Volumes_ListByVolumeGroup_MaximumSet_Gen.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Update the state of specified private endpoint connection associated with the Elastic San",
+ "operationId": "PrivateEndpointConnections_Create",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "Private Endpoint Connection Approval object."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Resource Create or Update operation is successfully completed.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "201": {
+ "description": "Created -- Resource Create; operation will complete asynchronously",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error from Elastic SAN resource provider.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnections_Create_MaximumSet_Gen": {
+ "$ref": "./examples/PrivateEndpointConnections_Create_MaximumSet_Gen.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Gets the specified private endpoint connection associated with the Elastic San",
+ "operationId": "PrivateEndpointConnections_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Get the private endpoint connection properties successfully",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error from Elastic SAN resource provider.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnections_Get_MaximumSet_Gen": {
+ "$ref": "./examples/PrivateEndpointConnections_Get_MaximumSet_Gen.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Deletes the specified private endpoint connection associated with the Elastic San",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Get the private endpoint connection properties successfully"
+ },
+ "202": {
+ "description": "Delete request accepted; operation will complete asynchronously.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "No Content -- The Private Endpoint Connection does not exist."
+ },
+ "default": {
+ "description": "Error from Elastic SAN resource provider.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnections_Delete_MaximumSet_Gen": {
+ "$ref": "./examples/PrivateEndpointConnections_Delete_MaximumSet_Gen.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "List all Private Endpoint Connections associated with the Elastic San.",
+ "operationId": "PrivateEndpointConnections_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Successfully retrieved private endpoint connections",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnections_List_MaximumSet_Gen": {
+ "$ref": "./examples/PrivateEndpointConnections_List_MaximumSet_Gen.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "operationId": "PrivateLinkResources_ListByElasticSan",
+ "description": "Gets the private link resources that need to be created for a elastic San.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Successfully retrieved private endpoint connections",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkResources_ListByElasticSan_MaximumSet_Gen": {
+ "$ref": "./examples/PrivateLinkResources_ListByElasticSan_MaximumSet_Gen.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "description": "List Snapshots in a VolumeGroup or List Snapshots by Volume (name) in a VolumeGroup using filter",
+ "operationId": "VolumeSnapshots_ListByVolumeGroup",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VolumeGroupNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Specify $filter='volumeName eq ' to filter on volume.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully; retrieved snapshots in a volume group.",
+ "schema": {
+ "$ref": "#/definitions/SnapshotList"
+ }
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "VolumeSnapshots_ListByVolumeGroup_MaximumSet_Gen": {
+ "$ref": "./examples/VolumeSnapshots_ListByVolumeGroup_MaximumSet_Gen.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots/{snapshotName}": {
+ "put": {
+ "tags": [
+ "Snapshots"
+ ],
+ "description": "Create a Volume Snapshot.",
+ "operationId": "VolumeSnapshots_Create",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VolumeGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ },
+ "description": "Snapshot object."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Returned when the create operation is successfully completed.",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "201": {
+ "description": "Created -- Resource Created; operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "VolumeSnapshots_Create_MaximumSet_Gen": {
+ "$ref": "./examples/VolumeSnapshots_Create_MaximumSet_Gen.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Snapshots"
+ ],
+ "description": "Delete a Volume Snapshot.",
+ "operationId": "VolumeSnapshots_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VolumeGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Delete operation completed successfully."
+ },
+ "202": {
+ "description": "Accepted -- Delete request accepted; operation will complete asynchronously.",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "VolumeSnapshots_Delete_MaximumSet_Gen": {
+ "$ref": "./examples/VolumeSnapshots_Delete_MaximumSet_Gen.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "description": "Get a Volume Snapshot.",
+ "operationId": "VolumeSnapshots_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ElasticSanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VolumeGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully; retrieved Volume Snapshot.",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "default": {
+ "description": "Error from the ElasticSan Resource Provider.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "VolumeSnapshots_Get_MaximumSet_Gen": {
+ "$ref": "./examples/VolumeSnapshots_Get_MaximumSet_Gen.json"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ElasticSanNameParameter": {
+ "name": "elasticSanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ElasticSan.",
+ "pattern": "^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$",
+ "minLength": 3,
+ "maxLength": 24,
+ "x-ms-parameter-location": "method"
+ },
+ "VolumeGroupNameParameter": {
+ "name": "volumeGroupName",
+ "type": "string",
+ "required": true,
+ "in": "path",
+ "description": "The name of the VolumeGroup.",
+ "pattern": "^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "x-ms-parameter-location": "method"
+ },
+ "VolumeNameParameter": {
+ "name": "volumeName",
+ "type": "string",
+ "required": true,
+ "in": "path",
+ "description": "The name of the Volume.",
+ "pattern": "^[a-z0-9]+(-[a-z0-9A-Z]+)*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "x-ms-parameter-location": "method"
+ },
+ "PrivateEndpointConnectionNameParameter": {
+ "name": "privateEndpointConnectionName",
+ "type": "string",
+ "required": true,
+ "in": "path",
+ "description": "The name of the Private Endpoint connection.",
+ "x-ms-parameter-location": "method"
+ },
+ "SnapshotNameParameter": {
+ "name": "snapshotName",
+ "type": "string",
+ "required": true,
+ "in": "path",
+ "description": "The name of the volume snapshot within the given volume group.",
+ "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "definitions": {
+ "ElasticSanList": {
+ "type": "object",
+ "description": "List of Elastic Sans",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "description": "An array of Elastic San objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ElasticSan"
+ }
+ },
+ "nextLink": {
+ "description": "URI to fetch the next section of the paginated response.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ElasticSan": {
+ "type": "object",
+ "description": "Response for ElasticSan request.",
+ "required": [
+ "properties",
+ "location"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties of ElasticSan.",
+ "$ref": "#/definitions/ElasticSanProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "ElasticSanProperties": {
+ "type": "object",
+ "description": "Elastic San response properties.",
+ "required": [
+ "baseSizeTiB",
+ "extendedCapacitySizeTiB",
+ "sku"
+ ],
+ "properties": {
+ "sku": {
+ "description": "resource sku",
+ "$ref": "#/definitions/Sku"
+ },
+ "availabilityZones": {
+ "type": "array",
+ "description": "Logical zone for Elastic San resource; example: [\"1\"].",
+ "items": {
+ "$ref": "#/definitions/AvailabilityZone"
+ }
+ },
+ "provisioningState": {
+ "description": "State of the operation on the resource.",
+ "$ref": "#/definitions/ProvisioningState",
+ "readOnly": true
+ },
+ "baseSizeTiB": {
+ "description": "Base size of the Elastic San appliance in TiB.",
+ "type": "integer",
+ "format": "int64",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "extendedCapacitySizeTiB": {
+ "description": "Extended size of the Elastic San appliance in TiB.",
+ "type": "integer",
+ "format": "int64",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "totalVolumeSizeGiB": {
+ "description": "Total size of the provisioned Volumes in GiB.",
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true
+ },
+ "volumeGroupCount": {
+ "description": "Total number of volume groups in this Elastic San appliance.",
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true
+ },
+ "totalIops": {
+ "description": "Total Provisioned IOPS of the Elastic San appliance.",
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true
+ },
+ "totalMBps": {
+ "description": "Total Provisioned MBps Elastic San appliance.",
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true
+ },
+ "totalSizeTiB": {
+ "description": "Total size of the Elastic San appliance in TB.",
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true
+ },
+ "privateEndpointConnections": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "The list of Private Endpoint Connections."
+ },
+ "publicNetworkAccess": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ },
+ "description": "Allow or disallow public network access to ElasticSan. Value is optional but if passed in, must be 'Enabled' or 'Disabled'."
+ }
+ }
+ },
+ "ElasticSanUpdate": {
+ "type": "object",
+ "description": "Response for ElasticSan update request.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties of ElasticSan.",
+ "$ref": "#/definitions/ElasticSanUpdateProperties"
+ },
+ "tags": {
+ "type": "object",
+ "description": "Update tags",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ElasticSanUpdateProperties": {
+ "type": "object",
+ "description": "Elastic San update properties.",
+ "properties": {
+ "baseSizeTiB": {
+ "description": "Base size of the Elastic San appliance in TiB.",
+ "type": "integer",
+ "format": "int64",
+ "x-ms-mutability": [
+ "update"
+ ]
+ },
+ "extendedCapacitySizeTiB": {
+ "description": "Extended size of the Elastic San appliance in TiB.",
+ "type": "integer",
+ "format": "int64",
+ "x-ms-mutability": [
+ "update"
+ ]
+ },
+ "publicNetworkAccess": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ },
+ "description": "Allow or disallow public network access to ElasticSan Account. Value is optional but if passed in, must be 'Enabled' or 'Disabled'."
+ }
+ }
+ },
+ "AvailabilityZone": {
+ "type": "string",
+ "description": "Availability zone."
+ },
+ "SkuInformationList": {
+ "description": "List of SKU Information objects",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of ResourceType Sku",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuInformation"
+ },
+ "x-ms-identifiers": [],
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "URI to fetch the next section of the paginated response.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuInformation": {
+ "description": "ElasticSAN SKU and its properties",
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Sku Name",
+ "$ref": "#/definitions/SkuName"
+ },
+ "tier": {
+ "type": "string",
+ "description": "Sku Tier",
+ "$ref": "#/definitions/SkuTier"
+ },
+ "resourceType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the resource."
+ },
+ "locations": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The set of locations that the SKU is available. This will be supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.)."
+ },
+ "locationInfo": {
+ "description": "Availability of the SKU for the location/zone",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuLocationInfo"
+ },
+ "x-ms-identifiers": [],
+ "readOnly": true
+ },
+ "capabilities": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SKUCapability"
+ },
+ "x-ms-identifiers": [],
+ "description": "The capability information in the specified SKU."
+ }
+ }
+ },
+ "SKUCapability": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of capability."
+ },
+ "value": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A string value to indicate states of given capability."
+ }
+ },
+ "description": "The capability information in the specified SKU.",
+ "type": "object"
+ },
+ "SkuLocationInfo": {
+ "description": "The location info.",
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "The location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "zones": {
+ "description": "The zones.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "Sku": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/SkuName"
+ },
+ "tier": {
+ "$ref": "#/definitions/SkuTier"
+ }
+ },
+ "description": "The SKU name. Required for account creation; optional for update."
+ },
+ "SkuName": {
+ "type": "string",
+ "enum": [
+ "Premium_LRS",
+ "Premium_ZRS"
+ ],
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Premium_LRS",
+ "description": "Premium locally redundant storage"
+ },
+ {
+ "value": "Premium_ZRS",
+ "description": "Premium zone redundant storage"
+ }
+ ]
+ },
+ "description": "The sku name."
+ },
+ "SkuTier": {
+ "type": "string",
+ "enum": [
+ "Premium"
+ ],
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Premium",
+ "description": "Premium Tier"
+ }
+ ]
+ },
+ "description": "The sku tier."
+ },
+ "IscsiTargetInfo": {
+ "type": "object",
+ "description": "Iscsi target information",
+ "readOnly": true,
+ "properties": {
+ "targetIqn": {
+ "type": "string",
+ "description": "iSCSI Target IQN (iSCSI Qualified Name); example: \"iqn.2005-03.org.iscsi:server\".",
+ "readOnly": true
+ },
+ "targetPortalHostname": {
+ "type": "string",
+ "description": "iSCSI Target Portal Host Name",
+ "readOnly": true
+ },
+ "targetPortalPort": {
+ "type": "integer",
+ "format": "int32",
+ "description": "iSCSI Target Portal Port",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "State of the operation on the resource.",
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "status": {
+ "$ref": "#/definitions/OperationalStatus",
+ "description": "Operational status of the iSCSI Target."
+ }
+ }
+ },
+ "VolumeGroup": {
+ "type": "object",
+ "description": "Response for Volume Group request.",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the resource."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties of VolumeGroup.",
+ "$ref": "#/definitions/VolumeGroupProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "Identity": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal ID of resource identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID of resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The identity type.",
+ "enum": [
+ "None",
+ "SystemAssigned",
+ "UserAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": true
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ },
+ "description": "Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this volume group. The key is the ARM resource identifier of the identity."
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "description": "Identity for the resource."
+ },
+ "VolumeGroupList": {
+ "type": "object",
+ "description": "List of Volume Groups",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "description": "An array of Volume Groups objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VolumeGroup"
+ }
+ },
+ "nextLink": {
+ "description": "URI to fetch the next section of the paginated response.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "VolumeGroupProperties": {
+ "type": "object",
+ "description": "VolumeGroup response properties.",
+ "properties": {
+ "provisioningState": {
+ "description": "State of the operation on the resource.",
+ "$ref": "#/definitions/ProvisioningState",
+ "readOnly": true
+ },
+ "protocolType": {
+ "description": "Type of storage target",
+ "$ref": "#/definitions/StorageTargetType"
+ },
+ "encryption": {
+ "description": "Type of encryption",
+ "$ref": "#/definitions/EncryptionType"
+ },
+ "encryptionProperties": {
+ "description": "Encryption Properties describing Key Vault and Identity information",
+ "$ref": "#/definitions/EncryptionProperties"
+ },
+ "networkAcls": {
+ "$ref": "#/definitions/NetworkRuleSet",
+ "description": "A collection of rules governing the accessibility from specific network locations.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "privateEndpointConnections": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "The list of Private Endpoint Connections."
+ },
+ "enforceDataIntegrityCheckForIscsi": {
+ "type": "boolean",
+ "description": "A boolean indicating whether or not Data Integrity Check is enabled"
+ }
+ }
+ },
+ "EncryptionProperties": {
+ "type": "object",
+ "properties": {
+ "keyVaultProperties": {
+ "$ref": "#/definitions/KeyVaultProperties",
+ "x-ms-client-name": "KeyVaultProperties",
+ "description": "Properties provided by key vault."
+ },
+ "identity": {
+ "$ref": "#/definitions/EncryptionIdentity",
+ "x-ms-client-name": "EncryptionIdentity",
+ "description": "The identity to be used with service-side encryption at rest."
+ }
+ },
+ "description": "The encryption settings on the volume group."
+ },
+ "EncryptionIdentity": {
+ "type": "object",
+ "properties": {
+ "userAssignedIdentity": {
+ "type": "string",
+ "description": "Resource identifier of the UserAssigned identity to be associated with server-side encryption on the volume group.",
+ "x-ms-client-name": "EncryptionUserAssignedIdentity"
+ }
+ },
+ "description": "Encryption identity for the volume group."
+ },
+ "KeyVaultProperties": {
+ "type": "object",
+ "description": "Properties of key vault.",
+ "properties": {
+ "keyName": {
+ "type": "string",
+ "description": "The name of KeyVault key.",
+ "x-ms-client-name": "KeyName"
+ },
+ "keyVersion": {
+ "type": "string",
+ "description": "The version of KeyVault key.",
+ "x-ms-client-name": "KeyVersion"
+ },
+ "keyVaultUri": {
+ "type": "string",
+ "description": "The Uri of KeyVault.",
+ "x-ms-client-name": "KeyVaultUri",
+ "format": "uri"
+ },
+ "currentVersionedKeyIdentifier": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The object identifier of the current versioned Key Vault Key in use.",
+ "x-ms-client-name": "CurrentVersionedKeyIdentifier"
+ },
+ "lastKeyRotationTimestamp": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "Timestamp of last rotation of the Key Vault Key.",
+ "x-ms-client-name": "LastKeyRotationTimestamp"
+ },
+ "currentVersionedKeyExpirationTimestamp": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "This is a read only property that represents the expiration time of the current version of the customer managed key used for encryption.",
+ "x-ms-client-name": "CurrentVersionedKeyExpirationTimestamp"
+ }
+ }
+ },
+ "UserAssignedIdentity": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal ID of the identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client ID of the identity."
+ }
+ },
+ "description": "UserAssignedIdentity for the resource."
+ },
+ "VolumeGroupUpdate": {
+ "type": "object",
+ "description": "Volume Group request.",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the resource."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties of VolumeGroup.",
+ "$ref": "#/definitions/VolumeGroupUpdateProperties"
+ }
+ }
+ },
+ "VolumeGroupUpdateProperties": {
+ "type": "object",
+ "description": "VolumeGroup response properties.",
+ "properties": {
+ "protocolType": {
+ "description": "Type of storage target",
+ "$ref": "#/definitions/StorageTargetType"
+ },
+ "encryption": {
+ "description": "Type of encryption",
+ "$ref": "#/definitions/EncryptionType"
+ },
+ "encryptionProperties": {
+ "description": "Encryption Properties describing Key Vault and Identity information",
+ "$ref": "#/definitions/EncryptionProperties"
+ },
+ "networkAcls": {
+ "$ref": "#/definitions/NetworkRuleSet",
+ "description": "A collection of rules governing the accessibility from specific network locations.",
+ "x-ms-mutability": [
+ "update"
+ ]
+ },
+ "enforceDataIntegrityCheckForIscsi": {
+ "type": "boolean",
+ "description": "A boolean indicating whether or not Data Integrity Check is enabled"
+ }
+ }
+ },
+ "Volume": {
+ "type": "object",
+ "description": "Response for Volume request.",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties of Volume.",
+ "$ref": "#/definitions/VolumeProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "VolumeList": {
+ "type": "object",
+ "description": "List of Volumes",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "description": "An array of Volume objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Volume"
+ }
+ },
+ "nextLink": {
+ "description": "URI to fetch the next section of the paginated response.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "VolumeProperties": {
+ "type": "object",
+ "required": [
+ "sizeGiB"
+ ],
+ "description": "Volume response properties.",
+ "properties": {
+ "volumeId": {
+ "description": "Unique Id of the volume in GUID format",
+ "type": "string",
+ "readOnly": true
+ },
+ "creationData": {
+ "description": "State of the operation on the resource.",
+ "$ref": "#/definitions/SourceCreationData"
+ },
+ "sizeGiB": {
+ "description": "Volume size.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "storageTarget": {
+ "description": "Storage target information",
+ "$ref": "#/definitions/IscsiTargetInfo"
+ },
+ "managedBy": {
+ "description": "Parent resource information.",
+ "$ref": "#/definitions/ManagedByInfo"
+ },
+ "provisioningState": {
+ "description": "State of the operation on the resource.",
+ "$ref": "#/definitions/ProvisioningState",
+ "readOnly": true
+ }
+ }
+ },
+ "ManagedByInfo": {
+ "type": "object",
+ "description": "Parent resource information.",
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "x-ms-client-name": "ResourceId",
+ "description": "Resource ID of the resource managing the volume, this is a restricted field and can only be set for internal use."
+ }
+ }
+ },
+ "VolumeUpdate": {
+ "type": "object",
+ "description": "Response for Volume request.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties of Volume.",
+ "$ref": "#/definitions/VolumeUpdateProperties"
+ }
+ }
+ },
+ "VolumeUpdateProperties": {
+ "type": "object",
+ "description": "Volume response properties.",
+ "properties": {
+ "sizeGiB": {
+ "description": "Volume size.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "managedBy": {
+ "description": "Parent resource information.",
+ "$ref": "#/definitions/ManagedByInfo"
+ }
+ }
+ },
+ "SourceCreationData": {
+ "type": "object",
+ "description": "Data source used when creating the volume.",
+ "properties": {
+ "createSource": {
+ "type": "string",
+ "enum": [
+ "None",
+ "VolumeSnapshot",
+ "DiskSnapshot",
+ "Disk",
+ "DiskRestorePoint"
+ ],
+ "x-ms-enum": {
+ "name": "VolumeCreateOption",
+ "modelAsString": true
+ },
+ "description": "This enumerates the possible sources of a volume creation."
+ },
+ "sourceId": {
+ "type": "string",
+ "description": "Fully qualified resource ID for the resource. E.g. \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}\""
+ }
+ }
+ },
+ "ProvisioningState": {
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Pending",
+ "Creating",
+ "Updating",
+ "Deleting"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningStates",
+ "modelAsString": true
+ },
+ "description": "Provisioning state of the iSCSI Target.",
+ "readOnly": true
+ },
+ "OperationalStatus": {
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "Unknown",
+ "Healthy",
+ "Unhealthy",
+ "Updating",
+ "Running",
+ "Stopped",
+ "Stopped (deallocated)"
+ ],
+ "x-ms-enum": {
+ "name": "OperationalStatus",
+ "modelAsString": true
+ },
+ "description": "Operational status of the resource."
+ },
+ "StorageTargetType": {
+ "type": "string",
+ "enum": [
+ "Iscsi",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "StorageTargetType",
+ "modelAsString": true
+ },
+ "description": "Storage Target type."
+ },
+ "EncryptionType": {
+ "type": "string",
+ "description": "The type of key used to encrypt the data of the disk.",
+ "enum": [
+ "EncryptionAtRestWithPlatformKey",
+ "EncryptionAtRestWithCustomerManagedKey"
+ ],
+ "x-ms-enum": {
+ "name": "EncryptionType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "EncryptionAtRestWithPlatformKey",
+ "description": "Volume is encrypted at rest with Platform managed key. It is the default encryption type."
+ },
+ {
+ "value": "EncryptionAtRestWithCustomerManagedKey",
+ "description": "Volume is encrypted at rest with Customer managed key that can be changed and revoked by a customer."
+ }
+ ]
+ }
+ },
+ "NetworkRuleSet": {
+ "type": "object",
+ "properties": {
+ "virtualNetworkRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkRule"
+ },
+ "description": "The list of virtual network rules."
+ }
+ },
+ "description": "A set of rules governing the network accessibility."
+ },
+ "VirtualNetworkRule": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "x-ms-client-name": "VirtualNetworkResourceId",
+ "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}."
+ },
+ "action": {
+ "type": "string",
+ "enum": [
+ "Allow"
+ ],
+ "x-ms-enum": {
+ "name": "Action",
+ "modelAsString": true
+ },
+ "default": "Allow",
+ "description": "The action of virtual network rule."
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "description": "Virtual Network rule."
+ },
+ "PrivateEndpointConnection": {
+ "type": "object",
+ "description": " Response for PrivateEndpoint Connection object",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Private Endpoint Connection Properties.",
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "PrivateEndpointConnectionProperties": {
+ "type": "object",
+ "description": " Response for PrivateEndpoint connection properties",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning State of Private Endpoint connection resource",
+ "$ref": "#/definitions/ProvisioningState",
+ "readOnly": true
+ },
+ "privateEndpoint": {
+ "description": "Private Endpoint resource",
+ "$ref": "#/definitions/PrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "description": "Private Link Service Connection State.",
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState"
+ },
+ "groupIds": {
+ "description": " List of resources private endpoint is mapped",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ]
+ },
+ "PrivateEndpoint": {
+ "type": "object",
+ "description": "Response for PrivateEndpoint",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ARM identifier for Private Endpoint",
+ "readOnly": true
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "type": "object",
+ "description": "Response for Private Link Service Connection state",
+ "properties": {
+ "status": {
+ "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.",
+ "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus"
+ },
+ "description": {
+ "type": "string",
+ "description": "The reason for approval/rejection of the connection."
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "A message indicating if changes on the service provider require any updates on the consumer."
+ }
+ }
+ },
+ "PrivateEndpointServiceConnectionStatus": {
+ "type": "string",
+ "description": "The private endpoint connection status.",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Failed",
+ "Rejected"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointServiceConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "PrivateLinkResourceListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private link resources",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "nextLink": {
+ "description": "URI to fetch the next section of the paginated response.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "description": "A list of private link resources"
+ },
+ "PrivateLinkResource": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "A private link resource"
+ },
+ "PrivateLinkResourceProperties": {
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredZoneNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The private link resource Private link DNS zone name."
+ }
+ },
+ "description": "Properties of a private link resource."
+ },
+ "PrivateEndpointConnectionListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private endpoint connections",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "nextLink": {
+ "description": "URI to fetch the next section of the paginated response.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "description": "List of private endpoint connections associated with SAN"
+ },
+ "Snapshot": {
+ "type": "object",
+ "required": [
+ "properties"
+ ],
+ "description": "Response for Volume Snapshot request.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties of Volume Snapshot.",
+ "$ref": "#/definitions/SnapshotProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "SnapshotList": {
+ "type": "object",
+ "description": "List of Snapshots",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "description": "An array of Snapshot objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "nextLink": {
+ "description": "URI to fetch the next section of the paginated response.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SnapshotProperties": {
+ "type": "object",
+ "required": [
+ "creationData"
+ ],
+ "description": "Properties for Snapshot.",
+ "properties": {
+ "creationData": {
+ "description": "Data used when creating a volume snapshot.",
+ "$ref": "#/definitions/SnapshotCreationData"
+ },
+ "provisioningState": {
+ "description": "State of the operation on the resource.",
+ "$ref": "#/definitions/ProvisioningState",
+ "readOnly": true
+ },
+ "sourceVolumeSizeGiB": {
+ "description": "Size of Source Volume",
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true
+ },
+ "volumeName": {
+ "description": "Source Volume Name of a snapshot",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SnapshotCreationData": {
+ "type": "object",
+ "required": [
+ "sourceId"
+ ],
+ "description": "Data used when creating a volume snapshot.",
+ "properties": {
+ "sourceId": {
+ "type": "string",
+ "description": "Fully qualified resource ID of the volume. E.g. \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}\""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Create_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Create_MaximumSet_Gen.json
new file mode 100644
index 000000000000..cbda8291e491
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Create_MaximumSet_Gen.json
@@ -0,0 +1,165 @@
+{
+ "title": "ElasticSans_Create_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "ElasticSans_Create",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "parameters": {
+ "properties": {
+ "sku": {
+ "name": "Premium_LRS",
+ "tier": "Premium"
+ },
+ "availabilityZones": [
+ "bgyobptiableh"
+ ],
+ "baseSizeTiB": 9,
+ "extendedCapacitySizeTiB": 6,
+ "publicNetworkAccess": "Enabled"
+ },
+ "tags": {
+ "key8999": "kzpsnqodjgfjyasktlxiboklydek"
+ },
+ "location": "France Central"
+ },
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "sku": {
+ "name": "Premium_LRS",
+ "tier": "Premium"
+ },
+ "availabilityZones": [
+ "bgyobptiableh"
+ ],
+ "provisioningState": "Invalid",
+ "baseSizeTiB": 9,
+ "extendedCapacitySizeTiB": 6,
+ "totalVolumeSizeGiB": 24,
+ "volumeGroupCount": 17,
+ "totalIops": 19,
+ "totalMBps": 18,
+ "totalSizeTiB": 26,
+ "privateEndpointConnections": [
+ {
+ "properties": {
+ "provisioningState": "Invalid",
+ "privateEndpoint": {
+ "id": "pwvla"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "iyhfjnligaieovq",
+ "actionsRequired": "jnyswa"
+ },
+ "groupIds": [
+ "szjqerjjtbcxjxsaqlfcexperaoc"
+ ]
+ },
+ "id": "kjmlgsuyzzimq",
+ "name": "uolibxojvjdp",
+ "type": "tlajrvzuisxmtgsswn",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ ],
+ "publicNetworkAccess": "Enabled"
+ },
+ "tags": {
+ "key8999": "kzpsnqodjgfjyasktlxiboklydek"
+ },
+ "location": "vcofgqbwmrplgsmhgz",
+ "id": "radhnqz",
+ "name": "amqtxb",
+ "type": "bvllurxfpbivtswcfgi",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ },
+ "body": {
+ "properties": {
+ "sku": {
+ "name": "Premium_LRS",
+ "tier": "Premium"
+ },
+ "availabilityZones": [
+ "bgyobptiableh"
+ ],
+ "provisioningState": "Invalid",
+ "baseSizeTiB": 9,
+ "extendedCapacitySizeTiB": 6,
+ "totalVolumeSizeGiB": 24,
+ "volumeGroupCount": 17,
+ "totalIops": 19,
+ "totalMBps": 18,
+ "totalSizeTiB": 26,
+ "privateEndpointConnections": [
+ {
+ "properties": {
+ "provisioningState": "Invalid",
+ "privateEndpoint": {
+ "id": "pwvla"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "iyhfjnligaieovq",
+ "actionsRequired": "jnyswa"
+ },
+ "groupIds": [
+ "szjqerjjtbcxjxsaqlfcexperaoc"
+ ]
+ },
+ "id": "kjmlgsuyzzimq",
+ "name": "uolibxojvjdp",
+ "type": "tlajrvzuisxmtgsswn",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ ],
+ "publicNetworkAccess": "Enabled"
+ },
+ "tags": {
+ "key8999": "kzpsnqodjgfjyasktlxiboklydek"
+ },
+ "location": "vcofgqbwmrplgsmhgz",
+ "id": "radhnqz",
+ "name": "amqtxb",
+ "type": "bvllurxfpbivtswcfgi",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Create_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Create_MinimumSet_Gen.json
new file mode 100644
index 000000000000..ae6765549121
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Create_MinimumSet_Gen.json
@@ -0,0 +1,99 @@
+{
+ "title": "ElasticSans_Create",
+ "operationId": "ElasticSans_Create",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "parameters": {
+ "properties": {
+ "sku": {
+ "name": "Premium_LRS"
+ },
+ "baseSizeTiB": 15,
+ "extendedCapacitySizeTiB": 27
+ },
+ "location": "France Central"
+ },
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "sku": {
+ "name": "Premium_LRS",
+ "tier": "Premium"
+ },
+ "availabilityZones": [
+ "1"
+ ],
+ "provisioningState": "Succeeded",
+ "baseSizeTiB": 15,
+ "extendedCapacitySizeTiB": 6,
+ "totalVolumeSizeGiB": 15,
+ "volumeGroupCount": 24,
+ "totalIops": 22,
+ "totalMBps": 4,
+ "totalSizeTiB": 27,
+ "publicNetworkAccess": "Enabled"
+ },
+ "systemData": {
+ "createdBy": "otfifnrahdshqombvtg",
+ "createdByType": "User",
+ "createdAt": "2023-07-03T09:59:45.919Z",
+ "lastModifiedBy": "jnaxavnlhrboshtidtib",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-03T09:59:45.919Z"
+ },
+ "tags": {
+ "key5002": "lhag"
+ },
+ "location": "France Central",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
+ "name": "vfoatmakv",
+ "type": "Microsoft.ElasticSan/ElasticSans"
+ }
+ },
+ "201": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ },
+ "body": {
+ "properties": {
+ "sku": {
+ "name": "Premium_LRS",
+ "tier": "Premium"
+ },
+ "availabilityZones": [
+ "1"
+ ],
+ "provisioningState": "Succeeded",
+ "baseSizeTiB": 15,
+ "extendedCapacitySizeTiB": 6,
+ "totalVolumeSizeGiB": 15,
+ "volumeGroupCount": 24,
+ "totalIops": 22,
+ "totalMBps": 4,
+ "totalSizeTiB": 27,
+ "publicNetworkAccess": "Enabled"
+ },
+ "systemData": {
+ "createdBy": "otfifnrahdshqombvtg",
+ "createdByType": "User",
+ "createdAt": "2023-07-03T09:59:45.919Z",
+ "lastModifiedBy": "jnaxavnlhrboshtidtib",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-03T09:59:45.919Z"
+ },
+ "tags": {
+ "key5002": "lhag"
+ },
+ "location": "France Central",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
+ "name": "vfoatmakv",
+ "type": "Microsoft.ElasticSan/ElasticSans"
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Delete_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Delete_MaximumSet_Gen.json
new file mode 100644
index 000000000000..599f5cc067e9
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Delete_MaximumSet_Gen.json
@@ -0,0 +1,19 @@
+{
+ "title": "ElasticSans_Delete_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "ElasticSans_Delete",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Delete_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Delete_MinimumSet_Gen.json
new file mode 100644
index 000000000000..258fbf64dc84
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Delete_MinimumSet_Gen.json
@@ -0,0 +1,19 @@
+{
+ "title": "ElasticSans_Delete",
+ "operationId": "ElasticSans_Delete",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Get_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Get_MaximumSet_Gen.json
new file mode 100644
index 000000000000..10f6eaa79e3e
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Get_MaximumSet_Gen.json
@@ -0,0 +1,78 @@
+{
+ "title": "ElasticSans_Get_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "ElasticSans_Get",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "sku": {
+ "name": "Premium_LRS",
+ "tier": "Premium"
+ },
+ "availabilityZones": [
+ "bgyobptiableh"
+ ],
+ "provisioningState": "Invalid",
+ "baseSizeTiB": 9,
+ "extendedCapacitySizeTiB": 6,
+ "totalVolumeSizeGiB": 24,
+ "volumeGroupCount": 17,
+ "totalIops": 19,
+ "totalMBps": 18,
+ "totalSizeTiB": 26,
+ "privateEndpointConnections": [
+ {
+ "properties": {
+ "provisioningState": "Invalid",
+ "privateEndpoint": {
+ "id": "pwvla"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "iyhfjnligaieovq",
+ "actionsRequired": "jnyswa"
+ },
+ "groupIds": [
+ "szjqerjjtbcxjxsaqlfcexperaoc"
+ ]
+ },
+ "id": "kjmlgsuyzzimq",
+ "name": "uolibxojvjdp",
+ "type": "tlajrvzuisxmtgsswn",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ ],
+ "publicNetworkAccess": "Enabled"
+ },
+ "tags": {
+ "key8999": "kzpsnqodjgfjyasktlxiboklydek"
+ },
+ "location": "vcofgqbwmrplgsmhgz",
+ "id": "radhnqz",
+ "name": "amqtxb",
+ "type": "bvllurxfpbivtswcfgi",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Get_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Get_MinimumSet_Gen.json
new file mode 100644
index 000000000000..c0744c9c0d57
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Get_MinimumSet_Gen.json
@@ -0,0 +1,78 @@
+{
+ "title": "ElasticSans_Get",
+ "operationId": "ElasticSans_Get",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "sku": {
+ "name": "Premium_LRS",
+ "tier": "Premium"
+ },
+ "availabilityZones": [
+ "1"
+ ],
+ "provisioningState": "Succeeded",
+ "baseSizeTiB": 15,
+ "extendedCapacitySizeTiB": 6,
+ "totalVolumeSizeGiB": 15,
+ "volumeGroupCount": 24,
+ "totalIops": 22,
+ "totalMBps": 4,
+ "totalSizeTiB": 27,
+ "privateEndpointConnections": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ },
+ "groupIds": [
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}"
+ ]
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}",
+ "name": "{privateEndpointConnectionName}",
+ "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections",
+ "systemData": {
+ "createdBy": "otfifnrahdshqombvtg",
+ "createdByType": "User",
+ "createdAt": "2023-07-03T09:59:45.919Z",
+ "lastModifiedBy": "jnaxavnlhrboshtidtib",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-03T09:59:45.919Z"
+ }
+ }
+ ],
+ "publicNetworkAccess": "Enabled"
+ },
+ "systemData": {
+ "createdBy": "otfifnrahdshqombvtg",
+ "createdByType": "User",
+ "createdAt": "2023-07-03T09:59:45.919Z",
+ "lastModifiedBy": "jnaxavnlhrboshtidtib",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-03T09:59:45.919Z"
+ },
+ "tags": {
+ "key5002": "lhag"
+ },
+ "location": "France Central",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
+ "name": "vfoatmakv",
+ "type": "Microsoft.ElasticSan/ElasticSans"
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_ListByResourceGroup_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_ListByResourceGroup_MaximumSet_Gen.json
new file mode 100644
index 000000000000..f0388a9d742c
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_ListByResourceGroup_MaximumSet_Gen.json
@@ -0,0 +1,82 @@
+{
+ "title": "ElasticSans_ListByResourceGroup_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "ElasticSans_ListByResourceGroup",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "sku": {
+ "name": "Premium_LRS",
+ "tier": "Premium"
+ },
+ "availabilityZones": [
+ "bgyobptiableh"
+ ],
+ "provisioningState": "Invalid",
+ "baseSizeTiB": 9,
+ "extendedCapacitySizeTiB": 6,
+ "totalVolumeSizeGiB": 24,
+ "volumeGroupCount": 17,
+ "totalIops": 19,
+ "totalMBps": 18,
+ "totalSizeTiB": 26,
+ "privateEndpointConnections": [
+ {
+ "properties": {
+ "provisioningState": "Invalid",
+ "privateEndpoint": {
+ "id": "pwvla"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "iyhfjnligaieovq",
+ "actionsRequired": "jnyswa"
+ },
+ "groupIds": [
+ "szjqerjjtbcxjxsaqlfcexperaoc"
+ ]
+ },
+ "id": "kjmlgsuyzzimq",
+ "name": "uolibxojvjdp",
+ "type": "tlajrvzuisxmtgsswn",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ ],
+ "publicNetworkAccess": "Enabled"
+ },
+ "tags": {
+ "key8999": "kzpsnqodjgfjyasktlxiboklydek"
+ },
+ "location": "vcofgqbwmrplgsmhgz",
+ "id": "radhnqz",
+ "name": "amqtxb",
+ "type": "bvllurxfpbivtswcfgi",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ ],
+ "nextLink": "xc"
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_ListByResourceGroup_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_ListByResourceGroup_MinimumSet_Gen.json
new file mode 100644
index 000000000000..d0c991ddfeea
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_ListByResourceGroup_MinimumSet_Gen.json
@@ -0,0 +1,14 @@
+{
+ "title": "ElasticSans_ListByResourceGroup_MaximumSet_Gen - generated by [MinimumSet] rule",
+ "operationId": "ElasticSans_ListByResourceGroup",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_ListBySubscription_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_ListBySubscription_MaximumSet_Gen.json
new file mode 100644
index 000000000000..ae7384dabbce
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_ListBySubscription_MaximumSet_Gen.json
@@ -0,0 +1,81 @@
+{
+ "title": "ElasticSans_ListBySubscription_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "ElasticSans_ListBySubscription",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "sku": {
+ "name": "Premium_LRS",
+ "tier": "Premium"
+ },
+ "availabilityZones": [
+ "bgyobptiableh"
+ ],
+ "provisioningState": "Invalid",
+ "baseSizeTiB": 9,
+ "extendedCapacitySizeTiB": 6,
+ "totalVolumeSizeGiB": 24,
+ "volumeGroupCount": 17,
+ "totalIops": 19,
+ "totalMBps": 18,
+ "totalSizeTiB": 26,
+ "privateEndpointConnections": [
+ {
+ "properties": {
+ "provisioningState": "Invalid",
+ "privateEndpoint": {
+ "id": "pwvla"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "iyhfjnligaieovq",
+ "actionsRequired": "jnyswa"
+ },
+ "groupIds": [
+ "szjqerjjtbcxjxsaqlfcexperaoc"
+ ]
+ },
+ "id": "kjmlgsuyzzimq",
+ "name": "uolibxojvjdp",
+ "type": "tlajrvzuisxmtgsswn",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ ],
+ "publicNetworkAccess": "Enabled"
+ },
+ "tags": {
+ "key8999": "kzpsnqodjgfjyasktlxiboklydek"
+ },
+ "location": "vcofgqbwmrplgsmhgz",
+ "id": "radhnqz",
+ "name": "amqtxb",
+ "type": "bvllurxfpbivtswcfgi",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ ],
+ "nextLink": "xc"
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_ListBySubscription_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_ListBySubscription_MinimumSet_Gen.json
new file mode 100644
index 000000000000..efda0421bf04
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_ListBySubscription_MinimumSet_Gen.json
@@ -0,0 +1,13 @@
+{
+ "title": "ElasticSans_ListBySubscription_MaximumSet_Gen - generated by [MinimumSet] rule",
+ "operationId": "ElasticSans_ListBySubscription",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Update_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Update_MaximumSet_Gen.json
new file mode 100644
index 000000000000..ca05bcb96ae5
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Update_MaximumSet_Gen.json
@@ -0,0 +1,93 @@
+{
+ "title": "ElasticSans_Update_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "ElasticSans_Update",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "parameters": {
+ "properties": {
+ "baseSizeTiB": 28,
+ "extendedCapacitySizeTiB": 3,
+ "publicNetworkAccess": "Enabled"
+ },
+ "tags": {
+ "key6131": "pdmdonshncaahcffdtegnx"
+ }
+ },
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "sku": {
+ "name": "Premium_LRS",
+ "tier": "Premium"
+ },
+ "availabilityZones": [
+ "bgyobptiableh"
+ ],
+ "provisioningState": "Invalid",
+ "baseSizeTiB": 9,
+ "extendedCapacitySizeTiB": 6,
+ "totalVolumeSizeGiB": 24,
+ "volumeGroupCount": 17,
+ "totalIops": 19,
+ "totalMBps": 18,
+ "totalSizeTiB": 26,
+ "privateEndpointConnections": [
+ {
+ "properties": {
+ "provisioningState": "Invalid",
+ "privateEndpoint": {
+ "id": "pwvla"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "iyhfjnligaieovq",
+ "actionsRequired": "jnyswa"
+ },
+ "groupIds": [
+ "szjqerjjtbcxjxsaqlfcexperaoc"
+ ]
+ },
+ "id": "kjmlgsuyzzimq",
+ "name": "uolibxojvjdp",
+ "type": "tlajrvzuisxmtgsswn",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ ],
+ "publicNetworkAccess": "Enabled"
+ },
+ "tags": {
+ "key8999": "kzpsnqodjgfjyasktlxiboklydek"
+ },
+ "location": "vcofgqbwmrplgsmhgz",
+ "id": "radhnqz",
+ "name": "amqtxb",
+ "type": "bvllurxfpbivtswcfgi",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Update_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Update_MinimumSet_Gen.json
new file mode 100644
index 000000000000..0fd8f9ae9296
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/ElasticSans_Update_MinimumSet_Gen.json
@@ -0,0 +1,84 @@
+{
+ "title": "ElasticSans_Update",
+ "operationId": "ElasticSans_Update",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "parameters": {},
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "sku": {
+ "name": "Premium_LRS",
+ "tier": "Premium"
+ },
+ "availabilityZones": [
+ "1"
+ ],
+ "provisioningState": "Succeeded",
+ "baseSizeTiB": 15,
+ "extendedCapacitySizeTiB": 6,
+ "totalVolumeSizeGiB": 15,
+ "volumeGroupCount": 24,
+ "totalIops": 22,
+ "totalMBps": 4,
+ "totalSizeTiB": 27,
+ "privateEndpointConnections": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ },
+ "groupIds": [
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}"
+ ]
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}",
+ "name": "{privateEndpointConnectionName}",
+ "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections",
+ "systemData": {
+ "createdBy": "kakcyehdrphqkilgkhpbdtvpupak",
+ "createdByType": "User",
+ "createdAt": "2023-08-23T12:16:10.057Z",
+ "lastModifiedBy": "bcclmbseed",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-08-23T12:16:10.057Z"
+ }
+ }
+ ],
+ "publicNetworkAccess": "Enabled"
+ },
+ "systemData": {
+ "createdBy": "otfifnrahdshqombvtg",
+ "createdByType": "User",
+ "createdAt": "2023-07-03T09:59:45.919Z",
+ "lastModifiedBy": "jnaxavnlhrboshtidtib",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-03T09:59:45.919Z"
+ },
+ "tags": {
+ "key5002": "lhag"
+ },
+ "location": "France Central",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
+ "name": "vfoatmakv",
+ "type": "Microsoft.ElasticSan/ElasticSans"
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Operations_List_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Operations_List_MaximumSet_Gen.json
new file mode 100644
index 000000000000..821aa2273048
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Operations_List_MaximumSet_Gen.json
@@ -0,0 +1,28 @@
+{
+ "title": "Operations_List_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "Operations_List",
+ "parameters": {
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "zbrta",
+ "isDataAction": true,
+ "display": {
+ "provider": "xamdcragdhcamzyzsghhl",
+ "resource": "dauaewvxffac",
+ "operation": "poyvvbdqmmmvcufnlywfuqhrgrtr",
+ "description": "qahdwwduqwmmisgycfpzvlwltpauw"
+ },
+ "origin": "user",
+ "actionType": "Internal"
+ }
+ ],
+ "nextLink": "ktcqaydmfmdauponwftdkhcnkmdnso"
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Operations_List_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Operations_List_MinimumSet_Gen.json
new file mode 100644
index 000000000000..962f10ce0a4b
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Operations_List_MinimumSet_Gen.json
@@ -0,0 +1,12 @@
+{
+ "title": "Operations_List_MaximumSet_Gen - generated by [MinimumSet] rule",
+ "operationId": "Operations_List",
+ "parameters": {
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Create_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Create_MaximumSet_Gen.json
new file mode 100644
index 000000000000..2349ba34809e
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Create_MaximumSet_Gen.json
@@ -0,0 +1,87 @@
+{
+ "title": "PrivateEndpointConnections_Create_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "PrivateEndpointConnections_Create",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "privateEndpointConnectionName": "privateendpointconnectionname",
+ "parameters": {
+ "properties": {
+ "privateEndpoint": {},
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "iyhfjnligaieovq",
+ "actionsRequired": "jnyswa"
+ },
+ "groupIds": [
+ "szjqerjjtbcxjxsaqlfcexperaoc"
+ ]
+ }
+ },
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Invalid",
+ "privateEndpoint": {
+ "id": "pwvla"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "iyhfjnligaieovq",
+ "actionsRequired": "jnyswa"
+ },
+ "groupIds": [
+ "szjqerjjtbcxjxsaqlfcexperaoc"
+ ]
+ },
+ "id": "kjmlgsuyzzimq",
+ "name": "uolibxojvjdp",
+ "type": "tlajrvzuisxmtgsswn",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ },
+ "body": {
+ "properties": {
+ "provisioningState": "Invalid",
+ "privateEndpoint": {
+ "id": "pwvla"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "iyhfjnligaieovq",
+ "actionsRequired": "jnyswa"
+ },
+ "groupIds": [
+ "szjqerjjtbcxjxsaqlfcexperaoc"
+ ]
+ },
+ "id": "kjmlgsuyzzimq",
+ "name": "uolibxojvjdp",
+ "type": "tlajrvzuisxmtgsswn",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Create_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Create_MinimumSet_Gen.json
new file mode 100644
index 000000000000..2976b7bb7a08
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Create_MinimumSet_Gen.json
@@ -0,0 +1,79 @@
+{
+ "title": "PrivateEndpointConnections_Create",
+ "operationId": "PrivateEndpointConnections_Create",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "privateEndpointConnectionName": "privateendpointconnectionname",
+ "parameters": {
+ "properties": {
+ "privateLinkServiceConnectionState": {}
+ }
+ },
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ },
+ "groupIds": [
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}"
+ ]
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}",
+ "name": "{privateEndpointConnectionName}",
+ "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections",
+ "systemData": {
+ "createdBy": "bgurjvijz",
+ "createdByType": "User",
+ "createdAt": "2023-08-25T17:40:52.453Z",
+ "lastModifiedBy": "uvexylihjrtinzkeluohusnaxatfqh",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-08-25T17:40:52.453Z"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ },
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ },
+ "groupIds": [
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}"
+ ]
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}",
+ "name": "{privateEndpointConnectionName}",
+ "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections",
+ "systemData": {
+ "createdBy": "bgurjvijz",
+ "createdByType": "User",
+ "createdAt": "2023-08-25T17:40:52.453Z",
+ "lastModifiedBy": "uvexylihjrtinzkeluohusnaxatfqh",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-08-25T17:40:52.453Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Delete_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Delete_MaximumSet_Gen.json
new file mode 100644
index 000000000000..905b61b01c8a
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Delete_MaximumSet_Gen.json
@@ -0,0 +1,20 @@
+{
+ "title": "PrivateEndpointConnections_Delete_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "privateEndpointConnectionName": "privateendpointconnectionname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Delete_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Delete_MinimumSet_Gen.json
new file mode 100644
index 000000000000..e5b6f9eaa4bb
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Delete_MinimumSet_Gen.json
@@ -0,0 +1,20 @@
+{
+ "title": "PrivateEndpointConnections_Delete",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "privateEndpointConnectionName": "privateendpointconnectionname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Get_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Get_MaximumSet_Gen.json
new file mode 100644
index 000000000000..7fc0adef52d6
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Get_MaximumSet_Gen.json
@@ -0,0 +1,42 @@
+{
+ "title": "PrivateEndpointConnections_Get_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "PrivateEndpointConnections_Get",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "privateEndpointConnectionName": "privateendpointconnectionname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Invalid",
+ "privateEndpoint": {
+ "id": "pwvla"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "iyhfjnligaieovq",
+ "actionsRequired": "jnyswa"
+ },
+ "groupIds": [
+ "szjqerjjtbcxjxsaqlfcexperaoc"
+ ]
+ },
+ "id": "kjmlgsuyzzimq",
+ "name": "uolibxojvjdp",
+ "type": "tlajrvzuisxmtgsswn",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Get_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Get_MinimumSet_Gen.json
new file mode 100644
index 000000000000..bb6df8e27c77
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_Get_MinimumSet_Gen.json
@@ -0,0 +1,42 @@
+{
+ "title": "PrivateEndpointConnections_Get",
+ "operationId": "PrivateEndpointConnections_Get",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "privateEndpointConnectionName": "privateendpointconnectionname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ },
+ "groupIds": [
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}"
+ ]
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}",
+ "name": "{privateEndpointConnectionName}",
+ "type": "Microsoft.ElasticSan/elasticSans/privateEndpointConnections",
+ "systemData": {
+ "createdBy": "bgurjvijz",
+ "createdByType": "User",
+ "createdAt": "2023-08-25T17:40:52.453Z",
+ "lastModifiedBy": "uvexylihjrtinzkeluohusnaxatfqh",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-08-25T17:40:52.453Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_List_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_List_MaximumSet_Gen.json
new file mode 100644
index 000000000000..5071011bfcae
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_List_MaximumSet_Gen.json
@@ -0,0 +1,46 @@
+{
+ "title": "PrivateEndpointConnections_List_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "PrivateEndpointConnections_List",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Invalid",
+ "privateEndpoint": {
+ "id": "pwvla"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "iyhfjnligaieovq",
+ "actionsRequired": "jnyswa"
+ },
+ "groupIds": [
+ "szjqerjjtbcxjxsaqlfcexperaoc"
+ ]
+ },
+ "id": "kjmlgsuyzzimq",
+ "name": "uolibxojvjdp",
+ "type": "tlajrvzuisxmtgsswn",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ ],
+ "nextLink": "vdihsllodbbxlzcfiqszwlrktlwrav"
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_List_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_List_MinimumSet_Gen.json
new file mode 100644
index 000000000000..e404336c6440
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateEndpointConnections_List_MinimumSet_Gen.json
@@ -0,0 +1,15 @@
+{
+ "title": "PrivateEndpointConnections_List",
+ "operationId": "PrivateEndpointConnections_List",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateLinkResources_ListByElasticSan_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateLinkResources_ListByElasticSan_MaximumSet_Gen.json
new file mode 100644
index 000000000000..c053ddc7082b
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateLinkResources_ListByElasticSan_MaximumSet_Gen.json
@@ -0,0 +1,41 @@
+{
+ "title": "PrivateLinkResources_ListByElasticSan_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "PrivateLinkResources_ListByElasticSan",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "groupId": "gkbsulftmpqpozh",
+ "requiredMembers": [
+ "szkaywtzokirfvzzjcbgdz"
+ ],
+ "requiredZoneNames": [
+ "ywhuefrajpqyjmsc"
+ ]
+ },
+ "id": "pnlckzrwuffnjrhcccbnjf",
+ "name": "nyiyoefzspdzxadboqsllzczkcth",
+ "type": "xqtfesv",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ ],
+ "nextLink": "kkpnmehaubvkfnuzaypwycbgr"
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateLinkResources_ListByElasticSan_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateLinkResources_ListByElasticSan_MinimumSet_Gen.json
new file mode 100644
index 000000000000..0748cec0b9c2
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/PrivateLinkResources_ListByElasticSan_MinimumSet_Gen.json
@@ -0,0 +1,15 @@
+{
+ "title": "PrivateLinkResources_ListByElasticSan",
+ "operationId": "PrivateLinkResources_ListByElasticSan",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Skus_List_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Skus_List_MaximumSet_Gen.json
new file mode 100644
index 000000000000..b04febc89d23
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Skus_List_MaximumSet_Gen.json
@@ -0,0 +1,40 @@
+{
+ "title": "Skus_List_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "Skus_List",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "api-version": "2024-05-01",
+ "$filter": "twwceymshjxhmzyvgww"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Premium_LRS",
+ "tier": "Premium",
+ "resourceType": "qdkvccmffzxkwalsnsrtfxsuxwzogg",
+ "locations": [
+ "hdzfsztvrmfhrqr"
+ ],
+ "locationInfo": [
+ {
+ "location": "klfwnyxxlgthi",
+ "zones": [
+ "szjimumzhjysuqcqg"
+ ]
+ }
+ ],
+ "capabilities": [
+ {
+ "name": "bokdo",
+ "value": "y"
+ }
+ ]
+ }
+ ],
+ "nextLink": "vzzaecvtz"
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Skus_List_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Skus_List_MinimumSet_Gen.json
new file mode 100644
index 000000000000..b2cc60121174
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Skus_List_MinimumSet_Gen.json
@@ -0,0 +1,13 @@
+{
+ "title": "Skus_List_MaximumSet_Gen - generated by [MinimumSet] rule",
+ "operationId": "Skus_List",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Create_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Create_MaximumSet_Gen.json
new file mode 100644
index 000000000000..f7b19ffc8e93
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Create_MaximumSet_Gen.json
@@ -0,0 +1,211 @@
+{
+ "title": "VolumeGroups_Create_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "VolumeGroups_Create",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "parameters": {
+ "identity": {
+ "type": "None",
+ "userAssignedIdentities": {
+ "key6160": {}
+ }
+ },
+ "properties": {
+ "protocolType": "Iscsi",
+ "encryption": "EncryptionAtRestWithPlatformKey",
+ "encryptionProperties": {
+ "keyVaultProperties": {
+ "keyName": "oaamyfynvyzxlpdyadfiptxgex",
+ "keyVersion": "cwjwblxnmnhbbrdbxoopcsdghur",
+ "keyVaultUri": "https://microsoft.com/a"
+ },
+ "identity": {
+ "userAssignedIdentity": "xu"
+ }
+ },
+ "networkAcls": {
+ "virtualNetworkRules": [
+ {
+ "id": "dcywtkhbwqoaayzvj",
+ "action": "Allow"
+ }
+ ]
+ },
+ "enforceDataIntegrityCheckForIscsi": true
+ }
+ },
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "identity": {
+ "principalId": "waiuktshnm",
+ "tenantId": "rjltknjpqnd",
+ "type": "None",
+ "userAssignedIdentities": {
+ "key6160": {
+ "principalId": "evse",
+ "clientId": "biabkgbordaxlmbgfgmkyvh"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Invalid",
+ "protocolType": "Iscsi",
+ "encryption": "EncryptionAtRestWithPlatformKey",
+ "encryptionProperties": {
+ "keyVaultProperties": {
+ "keyName": "oaamyfynvyzxlpdyadfiptxgex",
+ "keyVersion": "cwjwblxnmnhbbrdbxoopcsdghur",
+ "keyVaultUri": "https://microsoft.com/a",
+ "currentVersionedKeyIdentifier": "qaqgnsrfjua",
+ "lastKeyRotationTimestamp": "2024-05-13T06:23:47.282Z",
+ "currentVersionedKeyExpirationTimestamp": "2024-05-13T06:23:47.282Z"
+ },
+ "identity": {
+ "userAssignedIdentity": "xu"
+ }
+ },
+ "networkAcls": {
+ "virtualNetworkRules": [
+ {
+ "id": "dcywtkhbwqoaayzvj",
+ "action": "Allow"
+ }
+ ]
+ },
+ "privateEndpointConnections": [
+ {
+ "properties": {
+ "provisioningState": "Invalid",
+ "privateEndpoint": {
+ "id": "pwvla"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "iyhfjnligaieovq",
+ "actionsRequired": "jnyswa"
+ },
+ "groupIds": [
+ "szjqerjjtbcxjxsaqlfcexperaoc"
+ ]
+ },
+ "id": "kjmlgsuyzzimq",
+ "name": "uolibxojvjdp",
+ "type": "tlajrvzuisxmtgsswn",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ ],
+ "enforceDataIntegrityCheckForIscsi": true
+ },
+ "id": "wawodajygzedvsz",
+ "name": "jacnlsnxssywuk",
+ "type": "kbvsfyul",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ },
+ "body": {
+ "identity": {
+ "principalId": "waiuktshnm",
+ "tenantId": "rjltknjpqnd",
+ "type": "None",
+ "userAssignedIdentities": {
+ "key6160": {
+ "principalId": "evse",
+ "clientId": "biabkgbordaxlmbgfgmkyvh"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Invalid",
+ "protocolType": "Iscsi",
+ "encryption": "EncryptionAtRestWithPlatformKey",
+ "encryptionProperties": {
+ "keyVaultProperties": {
+ "keyName": "oaamyfynvyzxlpdyadfiptxgex",
+ "keyVersion": "cwjwblxnmnhbbrdbxoopcsdghur",
+ "keyVaultUri": "https://microsoft.com/a",
+ "currentVersionedKeyIdentifier": "qaqgnsrfjua",
+ "lastKeyRotationTimestamp": "2024-05-13T06:23:47.282Z",
+ "currentVersionedKeyExpirationTimestamp": "2024-05-13T06:23:47.282Z"
+ },
+ "identity": {
+ "userAssignedIdentity": "xu"
+ }
+ },
+ "networkAcls": {
+ "virtualNetworkRules": [
+ {
+ "id": "dcywtkhbwqoaayzvj",
+ "action": "Allow"
+ }
+ ]
+ },
+ "privateEndpointConnections": [
+ {
+ "properties": {
+ "provisioningState": "Invalid",
+ "privateEndpoint": {
+ "id": "pwvla"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "iyhfjnligaieovq",
+ "actionsRequired": "jnyswa"
+ },
+ "groupIds": [
+ "szjqerjjtbcxjxsaqlfcexperaoc"
+ ]
+ },
+ "id": "kjmlgsuyzzimq",
+ "name": "uolibxojvjdp",
+ "type": "tlajrvzuisxmtgsswn",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ ],
+ "enforceDataIntegrityCheckForIscsi": true
+ },
+ "id": "wawodajygzedvsz",
+ "name": "jacnlsnxssywuk",
+ "type": "kbvsfyul",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Create_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Create_MinimumSet_Gen.json
new file mode 100644
index 000000000000..5454bc57d85c
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Create_MinimumSet_Gen.json
@@ -0,0 +1,150 @@
+{
+ "title": "VolumeGroups_Create",
+ "operationId": "VolumeGroups_Create",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "parameters": {},
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "identity": {
+ "principalId": "ihsiwrwdofymkhquaxcrtfmmrsygw",
+ "tenantId": "gtkzkjsy",
+ "type": "None",
+ "userAssignedIdentities": {
+ "key7482": {
+ "principalId": "vfdzizicxcfcqecgsmshz",
+ "clientId": "jaczsquolgxwpznljbmdupn"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocolType": "Iscsi",
+ "encryption": "EncryptionAtRestWithPlatformKey",
+ "encryptionProperties": {
+ "keyVaultProperties": {
+ "keyName": "sftaiernmrzypnrkpakrrawxcbsqzc",
+ "keyVersion": "c",
+ "keyVaultUri": "https://microsoft.com/axmblwp",
+ "currentVersionedKeyIdentifier": "rnpxhtzkquzyoepwbwktbwb",
+ "lastKeyRotationTimestamp": "2023-08-23T12:16:11.388Z",
+ "currentVersionedKeyExpirationTimestamp": "2023-08-23T12:16:11.388Z"
+ },
+ "identity": {
+ "userAssignedIdentity": "im"
+ }
+ },
+ "networkAcls": {
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}",
+ "action": "Allow"
+ }
+ ]
+ },
+ "privateEndpointConnections": [
+ {
+ "properties": {
+ "provisioningState": "Invalid",
+ "privateEndpoint": {
+ "id": "ehxmltubeltzmgcqxocakaansat"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "nahklgxicbqjbbvcdrkljqdhprruys",
+ "actionsRequired": "sairafcqpvucoy"
+ },
+ "groupIds": [
+ "bolviufgqnyid"
+ ]
+ },
+ "id": "opcjchensdf",
+ "name": "gewxykc",
+ "type": "ailymcedgvxbqklmqtlty",
+ "systemData": {
+ "createdBy": "kakcyehdrphqkilgkhpbdtvpupak",
+ "createdByType": "User",
+ "createdAt": "2023-08-23T12:16:10.057Z",
+ "lastModifiedBy": "bcclmbseed",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-08-23T12:16:10.057Z"
+ }
+ }
+ ]
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
+ "name": "cr",
+ "type": "Microsoft.ElasticSan/elasticSans/volumeGroups",
+ "systemData": {
+ "createdBy": "kakcyehdrphqkilgkhpbdtvpupak",
+ "createdByType": "User",
+ "createdAt": "2023-08-23T12:16:10.057Z",
+ "lastModifiedBy": "bcclmbseed",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-08-23T12:16:10.057Z"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ },
+ "body": {
+ "identity": {
+ "principalId": "ihsiwrwdofymkhquaxcrtfmmrsygw",
+ "tenantId": "gtkzkjsy",
+ "type": "None",
+ "userAssignedIdentities": {
+ "key7482": {
+ "principalId": "vfdzizicxcfcqecgsmshz",
+ "clientId": "jaczsquolgxwpznljbmdupn"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "protocolType": "Iscsi",
+ "encryption": "EncryptionAtRestWithPlatformKey",
+ "encryptionProperties": {
+ "keyVaultProperties": {
+ "keyName": "sftaiernmrzypnrkpakrrawxcbsqzc",
+ "keyVersion": "c",
+ "keyVaultUri": "https://microsoft.com/axmblwp",
+ "currentVersionedKeyIdentifier": "rnpxhtzkquzyoepwbwktbwb",
+ "lastKeyRotationTimestamp": "2023-08-23T12:16:11.388Z",
+ "currentVersionedKeyExpirationTimestamp": "2023-08-23T12:16:11.388Z"
+ },
+ "identity": {
+ "userAssignedIdentity": "im"
+ }
+ },
+ "networkAcls": {
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}",
+ "action": "Allow"
+ }
+ ]
+ }
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
+ "name": "cr",
+ "type": "Microsoft.ElasticSan/elasticSans/volumeGroups",
+ "systemData": {
+ "createdBy": "kakcyehdrphqkilgkhpbdtvpupak",
+ "createdByType": "User",
+ "createdAt": "2023-08-23T12:16:10.057Z",
+ "lastModifiedBy": "bcclmbseed",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-08-23T12:16:10.057Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Delete_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Delete_MaximumSet_Gen.json
new file mode 100644
index 000000000000..ac9b3fe4c91f
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Delete_MaximumSet_Gen.json
@@ -0,0 +1,20 @@
+{
+ "title": "VolumeGroups_Delete_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "VolumeGroups_Delete",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Delete_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Delete_MinimumSet_Gen.json
new file mode 100644
index 000000000000..f176d21ae1a9
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Delete_MinimumSet_Gen.json
@@ -0,0 +1,20 @@
+{
+ "title": "VolumeGroups_Delete",
+ "operationId": "VolumeGroups_Delete",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Get_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Get_MaximumSet_Gen.json
new file mode 100644
index 000000000000..bd3699566906
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Get_MaximumSet_Gen.json
@@ -0,0 +1,95 @@
+{
+ "title": "VolumeGroups_Get_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "VolumeGroups_Get",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "identity": {
+ "principalId": "waiuktshnm",
+ "tenantId": "rjltknjpqnd",
+ "type": "None",
+ "userAssignedIdentities": {
+ "key6160": {
+ "principalId": "evse",
+ "clientId": "biabkgbordaxlmbgfgmkyvh"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Invalid",
+ "protocolType": "Iscsi",
+ "encryption": "EncryptionAtRestWithPlatformKey",
+ "encryptionProperties": {
+ "keyVaultProperties": {
+ "keyName": "oaamyfynvyzxlpdyadfiptxgex",
+ "keyVersion": "cwjwblxnmnhbbrdbxoopcsdghur",
+ "keyVaultUri": "https://microsoft.com/a",
+ "currentVersionedKeyIdentifier": "qaqgnsrfjua",
+ "lastKeyRotationTimestamp": "2024-05-13T06:23:47.282Z",
+ "currentVersionedKeyExpirationTimestamp": "2024-05-13T06:23:47.282Z"
+ },
+ "identity": {
+ "userAssignedIdentity": "xu"
+ }
+ },
+ "networkAcls": {
+ "virtualNetworkRules": [
+ {
+ "id": "dcywtkhbwqoaayzvj",
+ "action": "Allow"
+ }
+ ]
+ },
+ "privateEndpointConnections": [
+ {
+ "properties": {
+ "provisioningState": "Invalid",
+ "privateEndpoint": {
+ "id": "pwvla"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "iyhfjnligaieovq",
+ "actionsRequired": "jnyswa"
+ },
+ "groupIds": [
+ "szjqerjjtbcxjxsaqlfcexperaoc"
+ ]
+ },
+ "id": "kjmlgsuyzzimq",
+ "name": "uolibxojvjdp",
+ "type": "tlajrvzuisxmtgsswn",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ ],
+ "enforceDataIntegrityCheckForIscsi": true
+ },
+ "id": "wawodajygzedvsz",
+ "name": "jacnlsnxssywuk",
+ "type": "kbvsfyul",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Get_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Get_MinimumSet_Gen.json
new file mode 100644
index 000000000000..d636bc0b55f9
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Get_MinimumSet_Gen.json
@@ -0,0 +1,16 @@
+{
+ "title": "VolumeGroups_Get",
+ "operationId": "VolumeGroups_Get",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_ListByElasticSan_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_ListByElasticSan_MaximumSet_Gen.json
new file mode 100644
index 000000000000..25e26bfebb22
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_ListByElasticSan_MaximumSet_Gen.json
@@ -0,0 +1,99 @@
+{
+ "title": "VolumeGroups_ListByElasticSan_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "VolumeGroups_ListByElasticSan",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "identity": {
+ "principalId": "waiuktshnm",
+ "tenantId": "rjltknjpqnd",
+ "type": "None",
+ "userAssignedIdentities": {
+ "key6160": {
+ "principalId": "evse",
+ "clientId": "biabkgbordaxlmbgfgmkyvh"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Invalid",
+ "protocolType": "Iscsi",
+ "encryption": "EncryptionAtRestWithPlatformKey",
+ "encryptionProperties": {
+ "keyVaultProperties": {
+ "keyName": "oaamyfynvyzxlpdyadfiptxgex",
+ "keyVersion": "cwjwblxnmnhbbrdbxoopcsdghur",
+ "keyVaultUri": "https://microsoft.com/a",
+ "currentVersionedKeyIdentifier": "qaqgnsrfjua",
+ "lastKeyRotationTimestamp": "2024-05-13T06:23:47.282Z",
+ "currentVersionedKeyExpirationTimestamp": "2024-05-13T06:23:47.282Z"
+ },
+ "identity": {
+ "userAssignedIdentity": "xu"
+ }
+ },
+ "networkAcls": {
+ "virtualNetworkRules": [
+ {
+ "id": "dcywtkhbwqoaayzvj",
+ "action": "Allow"
+ }
+ ]
+ },
+ "privateEndpointConnections": [
+ {
+ "properties": {
+ "provisioningState": "Invalid",
+ "privateEndpoint": {
+ "id": "pwvla"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "iyhfjnligaieovq",
+ "actionsRequired": "jnyswa"
+ },
+ "groupIds": [
+ "szjqerjjtbcxjxsaqlfcexperaoc"
+ ]
+ },
+ "id": "kjmlgsuyzzimq",
+ "name": "uolibxojvjdp",
+ "type": "tlajrvzuisxmtgsswn",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ ],
+ "enforceDataIntegrityCheckForIscsi": true
+ },
+ "id": "wawodajygzedvsz",
+ "name": "jacnlsnxssywuk",
+ "type": "kbvsfyul",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ ],
+ "nextLink": "daaeyyyw"
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_ListByElasticSan_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_ListByElasticSan_MinimumSet_Gen.json
new file mode 100644
index 000000000000..9c619f8574e1
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_ListByElasticSan_MinimumSet_Gen.json
@@ -0,0 +1,15 @@
+{
+ "title": "VolumeGroups_ListByElasticSan",
+ "operationId": "VolumeGroups_ListByElasticSan",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Update_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Update_MaximumSet_Gen.json
new file mode 100644
index 000000000000..330b763d33e7
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Update_MaximumSet_Gen.json
@@ -0,0 +1,131 @@
+{
+ "title": "VolumeGroups_Update_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "VolumeGroups_Update",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "parameters": {
+ "identity": {
+ "type": "None",
+ "userAssignedIdentities": {
+ "key6160": {}
+ }
+ },
+ "properties": {
+ "protocolType": "Iscsi",
+ "encryption": "EncryptionAtRestWithPlatformKey",
+ "encryptionProperties": {
+ "keyVaultProperties": {
+ "keyName": "oaamyfynvyzxlpdyadfiptxgex",
+ "keyVersion": "cwjwblxnmnhbbrdbxoopcsdghur",
+ "keyVaultUri": "https://microsoft.com/a"
+ },
+ "identity": {
+ "userAssignedIdentity": "xu"
+ }
+ },
+ "networkAcls": {
+ "virtualNetworkRules": [
+ {
+ "id": "dcywtkhbwqoaayzvj",
+ "action": "Allow"
+ }
+ ]
+ },
+ "enforceDataIntegrityCheckForIscsi": true
+ }
+ },
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "identity": {
+ "principalId": "waiuktshnm",
+ "tenantId": "rjltknjpqnd",
+ "type": "None",
+ "userAssignedIdentities": {
+ "key6160": {
+ "principalId": "evse",
+ "clientId": "biabkgbordaxlmbgfgmkyvh"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Invalid",
+ "protocolType": "Iscsi",
+ "encryption": "EncryptionAtRestWithPlatformKey",
+ "encryptionProperties": {
+ "keyVaultProperties": {
+ "keyName": "oaamyfynvyzxlpdyadfiptxgex",
+ "keyVersion": "cwjwblxnmnhbbrdbxoopcsdghur",
+ "keyVaultUri": "https://microsoft.com/a",
+ "currentVersionedKeyIdentifier": "qaqgnsrfjua",
+ "lastKeyRotationTimestamp": "2024-05-13T06:23:47.282Z",
+ "currentVersionedKeyExpirationTimestamp": "2024-05-13T06:23:47.282Z"
+ },
+ "identity": {
+ "userAssignedIdentity": "xu"
+ }
+ },
+ "networkAcls": {
+ "virtualNetworkRules": [
+ {
+ "id": "dcywtkhbwqoaayzvj",
+ "action": "Allow"
+ }
+ ]
+ },
+ "privateEndpointConnections": [
+ {
+ "properties": {
+ "provisioningState": "Invalid",
+ "privateEndpoint": {
+ "id": "pwvla"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "iyhfjnligaieovq",
+ "actionsRequired": "jnyswa"
+ },
+ "groupIds": [
+ "szjqerjjtbcxjxsaqlfcexperaoc"
+ ]
+ },
+ "id": "kjmlgsuyzzimq",
+ "name": "uolibxojvjdp",
+ "type": "tlajrvzuisxmtgsswn",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ ],
+ "enforceDataIntegrityCheckForIscsi": true
+ },
+ "id": "wawodajygzedvsz",
+ "name": "jacnlsnxssywuk",
+ "type": "kbvsfyul",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Update_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Update_MinimumSet_Gen.json
new file mode 100644
index 000000000000..a486223a5273
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeGroups_Update_MinimumSet_Gen.json
@@ -0,0 +1,22 @@
+{
+ "title": "VolumeGroups_Update",
+ "operationId": "VolumeGroups_Update",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "parameters": {},
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ },
+ "202": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Create_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Create_MaximumSet_Gen.json
new file mode 100644
index 000000000000..a84039665d2e
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Create_MaximumSet_Gen.json
@@ -0,0 +1,70 @@
+{
+ "title": "VolumeSnapshots_Create_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "VolumeSnapshots_Create",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "snapshotName": "snapshotname",
+ "parameters": {
+ "properties": {
+ "creationData": {
+ "sourceId": "o"
+ }
+ }
+ },
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "sourceId": "o"
+ },
+ "provisioningState": "Invalid",
+ "sourceVolumeSizeGiB": 18,
+ "volumeName": "whboeudd"
+ },
+ "id": "tzrkidbbzldzqehoztnddmzkpam",
+ "name": "oughhb",
+ "type": "nmkshfnfxxsduacbp",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ },
+ "body": {
+ "properties": {
+ "creationData": {
+ "sourceId": "o"
+ },
+ "provisioningState": "Invalid",
+ "sourceVolumeSizeGiB": 18,
+ "volumeName": "whboeudd"
+ },
+ "id": "tzrkidbbzldzqehoztnddmzkpam",
+ "name": "oughhb",
+ "type": "nmkshfnfxxsduacbp",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Create_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Create_MinimumSet_Gen.json
new file mode 100644
index 000000000000..b556eae88362
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Create_MinimumSet_Gen.json
@@ -0,0 +1,70 @@
+{
+ "title": "VolumeSnapshots_Create",
+ "operationId": "VolumeSnapshots_Create",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "snapshotName": "snapshotname",
+ "parameters": {
+ "properties": {
+ "creationData": {
+ "sourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}"
+ }
+ }
+ },
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "sourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}"
+ },
+ "provisioningState": "Succeeded",
+ "sourceVolumeSizeGiB": 28,
+ "volumeName": "volumename"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots/{snapshotName}",
+ "name": "qukfugetqthsufp",
+ "type": "Microsoft.ElasticSan/elasticSans/volumeGroups/snapshots",
+ "systemData": {
+ "createdBy": "f",
+ "createdByType": "User",
+ "createdAt": "2023-09-06T06:58:45.864Z",
+ "lastModifiedBy": "wifrlzeszzcckvdzdwxhvservlvarp",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-09-06T06:58:45.864Z"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ },
+ "body": {
+ "properties": {
+ "creationData": {
+ "sourceId": "vfirlleqvpepxnptyyrz"
+ },
+ "provisioningState": "Invalid",
+ "sourceVolumeSizeGiB": 28,
+ "volumeName": "o"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots/{snapshotName}",
+ "name": "qukfugetqthsufp",
+ "type": "Microsoft.ElasticSan/elasticSans/volumeGroups/snapshots",
+ "systemData": {
+ "createdBy": "f",
+ "createdByType": "User",
+ "createdAt": "2023-09-06T06:58:45.864Z",
+ "lastModifiedBy": "wifrlzeszzcckvdzdwxhvservlvarp",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-09-06T06:58:45.864Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Delete_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Delete_MaximumSet_Gen.json
new file mode 100644
index 000000000000..1b9d3424af58
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Delete_MaximumSet_Gen.json
@@ -0,0 +1,21 @@
+{
+ "title": "VolumeSnapshots_Delete_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "VolumeSnapshots_Delete",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "snapshotName": "snapshotname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Delete_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Delete_MinimumSet_Gen.json
new file mode 100644
index 000000000000..10b83e5ae84e
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Delete_MinimumSet_Gen.json
@@ -0,0 +1,21 @@
+{
+ "title": "VolumeSnapshots_Delete",
+ "operationId": "VolumeSnapshots_Delete",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "snapshotName": "snapshotname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Get_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Get_MaximumSet_Gen.json
new file mode 100644
index 000000000000..f0e49b65e11d
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Get_MaximumSet_Gen.json
@@ -0,0 +1,37 @@
+{
+ "title": "VolumeSnapshots_Get_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "VolumeSnapshots_Get",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "snapshotName": "snapshotname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "sourceId": "o"
+ },
+ "provisioningState": "Invalid",
+ "sourceVolumeSizeGiB": 18,
+ "volumeName": "whboeudd"
+ },
+ "id": "tzrkidbbzldzqehoztnddmzkpam",
+ "name": "oughhb",
+ "type": "nmkshfnfxxsduacbp",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Get_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Get_MinimumSet_Gen.json
new file mode 100644
index 000000000000..6431f0f58151
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_Get_MinimumSet_Gen.json
@@ -0,0 +1,37 @@
+{
+ "title": "VolumeSnapshots_Get",
+ "operationId": "VolumeSnapshots_Get",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "snapshotName": "snapshotname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "sourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}"
+ },
+ "provisioningState": "Succeeded",
+ "sourceVolumeSizeGiB": 28,
+ "volumeName": "volumename"
+ },
+ "id": "bbqqgzxagggqgkdgjqq",
+ "name": "qukfugetqthsufp",
+ "type": "Microsoft.ElasticSan/elasticSans/volumeGroups/snapshots",
+ "systemData": {
+ "createdBy": "f",
+ "createdByType": "User",
+ "createdAt": "2023-09-06T06:58:45.864Z",
+ "lastModifiedBy": "wifrlzeszzcckvdzdwxhvservlvarp",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-09-06T06:58:45.864Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_ListByVolumeGroup_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_ListByVolumeGroup_MaximumSet_Gen.json
new file mode 100644
index 000000000000..829a2cb36e4d
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_ListByVolumeGroup_MaximumSet_Gen.json
@@ -0,0 +1,42 @@
+{
+ "title": "VolumeSnapshots_ListByVolumeGroup_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "VolumeSnapshots_ListByVolumeGroup",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "$filter": "znhowhiiiika",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "creationData": {
+ "sourceId": "o"
+ },
+ "provisioningState": "Invalid",
+ "sourceVolumeSizeGiB": 18,
+ "volumeName": "whboeudd"
+ },
+ "id": "tzrkidbbzldzqehoztnddmzkpam",
+ "name": "oughhb",
+ "type": "nmkshfnfxxsduacbp",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ ],
+ "nextLink": "eiz"
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_ListByVolumeGroup_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_ListByVolumeGroup_MinimumSet_Gen.json
new file mode 100644
index 000000000000..44b54dfda483
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/VolumeSnapshots_ListByVolumeGroup_MinimumSet_Gen.json
@@ -0,0 +1,16 @@
+{
+ "title": "VolumeSnapshots_ListByVolumeGroup",
+ "operationId": "VolumeSnapshots_ListByVolumeGroup",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Create_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Create_MaximumSet_Gen.json
new file mode 100644
index 000000000000..9fca4f0344b5
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Create_MaximumSet_Gen.json
@@ -0,0 +1,97 @@
+{
+ "title": "Volumes_Create_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "Volumes_Create",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "volumeName": "volumename",
+ "parameters": {
+ "properties": {
+ "creationData": {
+ "createSource": "None",
+ "sourceId": "fkackofx"
+ },
+ "sizeGiB": 10,
+ "managedBy": {
+ "resourceId": "fyodcxvtqlspavsxygxc"
+ }
+ }
+ },
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "volumeId": "zknqnsqrk",
+ "creationData": {
+ "createSource": "None",
+ "sourceId": "fkackofx"
+ },
+ "sizeGiB": 10,
+ "storageTarget": {
+ "targetIqn": "uwcmcmnijctbcjbkjfnzsa",
+ "targetPortalHostname": "htmqxwuqdpdfabhtpqrccvuqe",
+ "targetPortalPort": 9,
+ "provisioningState": "Invalid",
+ "status": "Invalid"
+ },
+ "managedBy": {
+ "resourceId": "fyodcxvtqlspavsxygxc"
+ },
+ "provisioningState": "Invalid"
+ },
+ "id": "jdx",
+ "name": "erxwbvxsi",
+ "type": "atcxo",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ },
+ "body": {
+ "properties": {
+ "volumeId": "zknqnsqrk",
+ "creationData": {
+ "createSource": "None",
+ "sourceId": "fkackofx"
+ },
+ "sizeGiB": 10,
+ "storageTarget": {
+ "targetIqn": "uwcmcmnijctbcjbkjfnzsa",
+ "targetPortalHostname": "htmqxwuqdpdfabhtpqrccvuqe",
+ "targetPortalPort": 9,
+ "provisioningState": "Invalid",
+ "status": "Invalid"
+ },
+ "managedBy": {
+ "resourceId": "fyodcxvtqlspavsxygxc"
+ },
+ "provisioningState": "Invalid"
+ },
+ "id": "jdx",
+ "name": "erxwbvxsi",
+ "type": "atcxo",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Create_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Create_MinimumSet_Gen.json
new file mode 100644
index 000000000000..8d47a2f024ba
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Create_MinimumSet_Gen.json
@@ -0,0 +1,90 @@
+{
+ "title": "Volumes_Create",
+ "operationId": "Volumes_Create",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "volumeName": "volumename",
+ "parameters": {
+ "properties": {
+ "sizeGiB": 9
+ }
+ },
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "volumeId": "umwjlxntntjejiyrywrytkzbfbluhk",
+ "creationData": {
+ "createSource": "None",
+ "sourceId": "ARM Id of Resource"
+ },
+ "sizeGiB": 9,
+ "storageTarget": {
+ "targetIqn": "izdwogzjedsfug",
+ "targetPortalHostname": "wyfbjobugmad",
+ "targetPortalPort": 21,
+ "provisioningState": "Succeeded",
+ "status": "Invalid"
+ },
+ "managedBy": {
+ "resourceId": "mtkeip"
+ },
+ "provisioningState": "Invalid"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
+ "name": "o",
+ "type": "Microsoft.ElasticSan/elasticSans/volumeGroups/volumes",
+ "systemData": {
+ "createdBy": "kakcyehdrphqkilgkhpbdtvpupak",
+ "createdByType": "User",
+ "createdAt": "2023-08-23T12:16:10.057Z",
+ "lastModifiedBy": "bcclmbseed",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-08-23T12:16:10.057Z"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ },
+ "body": {
+ "properties": {
+ "volumeId": "umwjlxntntjejiyrywrytkzbfbluhk",
+ "creationData": {
+ "createSource": "None",
+ "sourceId": "ARM Id of Resource"
+ },
+ "sizeGiB": 9,
+ "storageTarget": {
+ "targetIqn": "izdwogzjedsfug",
+ "targetPortalHostname": "wyfbjobugmad",
+ "targetPortalPort": 21,
+ "provisioningState": "Succeeded",
+ "status": "Invalid"
+ },
+ "managedBy": {
+ "resourceId": "mtkeip"
+ },
+ "provisioningState": "Invalid"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
+ "name": "o",
+ "type": "Microsoft.ElasticSan/elasticSans/volumeGroups/volumes",
+ "systemData": {
+ "createdBy": "kakcyehdrphqkilgkhpbdtvpupak",
+ "createdByType": "User",
+ "createdAt": "2023-08-23T12:16:10.057Z",
+ "lastModifiedBy": "bcclmbseed",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-08-23T12:16:10.057Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Delete_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Delete_MaximumSet_Gen.json
new file mode 100644
index 000000000000..063d3ba462a7
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Delete_MaximumSet_Gen.json
@@ -0,0 +1,23 @@
+{
+ "title": "Volumes_Delete_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "Volumes_Delete",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "volumeName": "volumename",
+ "api-version": "2024-05-01",
+ "x-ms-delete-snapshots": "true",
+ "x-ms-force-delete": "true"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Delete_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Delete_MinimumSet_Gen.json
new file mode 100644
index 000000000000..3140739f22ae
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Delete_MinimumSet_Gen.json
@@ -0,0 +1,21 @@
+{
+ "title": "Volumes_Delete",
+ "operationId": "Volumes_Delete",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "volumeName": "volumename",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Get_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Get_MaximumSet_Gen.json
new file mode 100644
index 000000000000..a53c25a8827a
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Get_MaximumSet_Gen.json
@@ -0,0 +1,48 @@
+{
+ "title": "Volumes_Get_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "Volumes_Get",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "volumeName": "volumename",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "volumeId": "zknqnsqrk",
+ "creationData": {
+ "createSource": "None",
+ "sourceId": "fkackofx"
+ },
+ "sizeGiB": 10,
+ "storageTarget": {
+ "targetIqn": "uwcmcmnijctbcjbkjfnzsa",
+ "targetPortalHostname": "htmqxwuqdpdfabhtpqrccvuqe",
+ "targetPortalPort": 9,
+ "provisioningState": "Invalid",
+ "status": "Invalid"
+ },
+ "managedBy": {
+ "resourceId": "fyodcxvtqlspavsxygxc"
+ },
+ "provisioningState": "Invalid"
+ },
+ "id": "jdx",
+ "name": "erxwbvxsi",
+ "type": "atcxo",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Get_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Get_MinimumSet_Gen.json
new file mode 100644
index 000000000000..8fb0bb404424
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Get_MinimumSet_Gen.json
@@ -0,0 +1,48 @@
+{
+ "title": "Volumes_Get",
+ "operationId": "Volumes_Get",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "volumeName": "volumename",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "volumeId": "umwjlxntntjejiyrywrytkzbfbluhk",
+ "creationData": {
+ "createSource": "None",
+ "sourceId": "ARM Id of Resource"
+ },
+ "sizeGiB": 9,
+ "storageTarget": {
+ "targetIqn": "izdwogzjedsfug",
+ "targetPortalHostname": "wyfbjobugmad",
+ "targetPortalPort": 21,
+ "provisioningState": "Succeeded",
+ "status": "Invalid"
+ },
+ "managedBy": {
+ "resourceId": "mtkeip"
+ },
+ "provisioningState": "Invalid"
+ },
+ "id": "swkcmwglncgtsnejzvldnbpsifxez",
+ "name": "o",
+ "type": "Microsoft.ElasticSan/elasticSans/volumeGroups/volumes",
+ "systemData": {
+ "createdBy": "kakcyehdrphqkilgkhpbdtvpupak",
+ "createdByType": "User",
+ "createdAt": "2023-08-23T12:16:10.057Z",
+ "lastModifiedBy": "bcclmbseed",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-08-23T12:16:10.057Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_ListByVolumeGroup_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_ListByVolumeGroup_MaximumSet_Gen.json
new file mode 100644
index 000000000000..9218a72fcf6a
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_ListByVolumeGroup_MaximumSet_Gen.json
@@ -0,0 +1,52 @@
+{
+ "title": "Volumes_ListByVolumeGroup_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "Volumes_ListByVolumeGroup",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "volumeId": "zknqnsqrk",
+ "creationData": {
+ "createSource": "None",
+ "sourceId": "fkackofx"
+ },
+ "sizeGiB": 10,
+ "storageTarget": {
+ "targetIqn": "uwcmcmnijctbcjbkjfnzsa",
+ "targetPortalHostname": "htmqxwuqdpdfabhtpqrccvuqe",
+ "targetPortalPort": 9,
+ "provisioningState": "Invalid",
+ "status": "Invalid"
+ },
+ "managedBy": {
+ "resourceId": "fyodcxvtqlspavsxygxc"
+ },
+ "provisioningState": "Invalid"
+ },
+ "id": "jdx",
+ "name": "erxwbvxsi",
+ "type": "atcxo",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ ],
+ "nextLink": "wjkvqvvzdqoxzs"
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_ListByVolumeGroup_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_ListByVolumeGroup_MinimumSet_Gen.json
new file mode 100644
index 000000000000..f8559c164593
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_ListByVolumeGroup_MinimumSet_Gen.json
@@ -0,0 +1,16 @@
+{
+ "title": "Volumes_ListByVolumeGroup",
+ "operationId": "Volumes_ListByVolumeGroup",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Update_MaximumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Update_MaximumSet_Gen.json
new file mode 100644
index 000000000000..dbd24c57d9f6
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Update_MaximumSet_Gen.json
@@ -0,0 +1,61 @@
+{
+ "title": "Volumes_Update_MaximumSet_Gen - generated by [MaximumSet] rule",
+ "operationId": "Volumes_Update",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "volumeName": "volumename",
+ "parameters": {
+ "properties": {
+ "sizeGiB": 30,
+ "managedBy": {
+ "resourceId": "fyodcxvtqlspavsxygxc"
+ }
+ }
+ },
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "volumeId": "zknqnsqrk",
+ "creationData": {
+ "createSource": "None",
+ "sourceId": "fkackofx"
+ },
+ "sizeGiB": 10,
+ "storageTarget": {
+ "targetIqn": "uwcmcmnijctbcjbkjfnzsa",
+ "targetPortalHostname": "htmqxwuqdpdfabhtpqrccvuqe",
+ "targetPortalPort": 9,
+ "provisioningState": "Invalid",
+ "status": "Invalid"
+ },
+ "managedBy": {
+ "resourceId": "fyodcxvtqlspavsxygxc"
+ },
+ "provisioningState": "Invalid"
+ },
+ "id": "jdx",
+ "name": "erxwbvxsi",
+ "type": "atcxo",
+ "systemData": {
+ "createdBy": "cuwjnszrvrxht",
+ "createdByType": "User",
+ "createdAt": "2024-05-13T06:23:45.838Z",
+ "lastModifiedBy": "snlm",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2024-05-13T06:23:45.838Z"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Update_MinimumSet_Gen.json b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Update_MinimumSet_Gen.json
new file mode 100644
index 000000000000..ca17777d267b
--- /dev/null
+++ b/specification/elasticsan/resource-manager/Microsoft.ElasticSan/stable/2024-05-01/examples/Volumes_Update_MinimumSet_Gen.json
@@ -0,0 +1,54 @@
+{
+ "title": "Volumes_Update",
+ "operationId": "Volumes_Update",
+ "parameters": {
+ "subscriptionId": "subscriptionid",
+ "resourceGroupName": "resourcegroupname",
+ "elasticSanName": "elasticsanname",
+ "volumeGroupName": "volumegroupname",
+ "volumeName": "volumename",
+ "parameters": {},
+ "api-version": "2024-05-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "volumeId": "umwjlxntntjejiyrywrytkzbfbluhk",
+ "creationData": {
+ "createSource": "None",
+ "sourceId": "ARM Id of Resource"
+ },
+ "sizeGiB": 9,
+ "storageTarget": {
+ "targetIqn": "izdwogzjedsfug",
+ "targetPortalHostname": "wyfbjobugmad",
+ "targetPortalPort": 21,
+ "provisioningState": "Succeeded",
+ "status": "Invalid"
+ },
+ "managedBy": {
+ "resourceId": "mtkeip"
+ },
+ "provisioningState": "Invalid"
+ },
+ "id": "swkcmwglncgtsnejzvldnbpsifxez",
+ "name": "o",
+ "type": "Microsoft.ElasticSan/elasticSans/volumeGroups/volumes",
+ "systemData": {
+ "createdBy": "kakcyehdrphqkilgkhpbdtvpupak",
+ "createdByType": "User",
+ "createdAt": "2023-08-23T12:16:10.057Z",
+ "lastModifiedBy": "bcclmbseed",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-08-23T12:16:10.057Z"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://contoso.com/operationstatus"
+ }
+ }
+ }
+}
diff --git a/specification/elasticsan/resource-manager/readme.md b/specification/elasticsan/resource-manager/readme.md
index f5f15602867b..3be0f264aabc 100644
--- a/specification/elasticsan/resource-manager/readme.md
+++ b/specification/elasticsan/resource-manager/readme.md
@@ -26,18 +26,27 @@ These are the global settings for the storagepool.
``` yaml
openapi-type: arm
-tag: package-2023-01
+tag: package-2024-05
```
+### Tag: package-2024-05
+
+These settings apply only when `--tag=package-2024-05` is specified on the command line.
+
+```yaml $(tag) == 'package-2024-05'
+input-file:
+ - Microsoft.ElasticSan/stable/2024-05-01/elasticsan.json
+```
### Tag: package-2023-01
These settings apply only when `--tag=package-2023-01` is specified on the command line.
-```yaml $(tag) == 'package-2023-01'
+``` yaml $(tag) == 'package-2023-01'
input-file:
- Microsoft.ElasticSan/stable/2023-01-01/elasticsan.json
```
+
### Tag: package-preview-2022-12
These settings apply only when `--tag=package-preview-2022-12` is specified on the command line.
diff --git a/specification/elasticsan/resource-manager/readme.typescript.md b/specification/elasticsan/resource-manager/readme.typescript.md
index 10bc066af217..270fa94887e3 100644
--- a/specification/elasticsan/resource-manager/readme.typescript.md
+++ b/specification/elasticsan/resource-manager/readme.typescript.md
@@ -3,6 +3,11 @@
These settings apply only when `--typescript` is specified on the command line.
Please also specify `--typescript-sdks-folder=`.
+``` yaml
+modelerfour:
+ flatten-models: false
+```
+
```yaml $(typescript)
typescript:
azure-arm: true
From c2f037e49f15654488a8cd67b9154c76611b7229 Mon Sep 17 00:00:00 2001
From: Steven Nguyen <30740718+snguyen64@users.noreply.github.com>
Date: Sun, 9 Jun 2024 11:57:40 -0400
Subject: [PATCH 134/343] update(acns): advanced networking profile to note
addition costs (#29146)
---
.../aks/preview/2024-03-02-preview/managedClusters.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-03-02-preview/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-03-02-preview/managedClusters.json
index 3d8580dc0551..576ed80bfc45 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-03-02-preview/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-03-02-preview/managedClusters.json
@@ -8809,7 +8809,7 @@
},
"AdvancedNetworking": {
"type": "object",
- "description": "Advanced Networking profile for enabling observability on a cluster. For more information see aka.ms/aksadvancednetworking.",
+ "description": "Advanced Networking profile for enabling observability on a cluster. Note that enabling advanced networking features may incur additional costs. For more information see aka.ms/aksadvancednetworking.",
"properties": {
"observability": {
"$ref": "#/definitions/AdvancedNetworkingObservability"
From 224f1c73471189290b2a973166d1f4148e0a5ba0 Mon Sep 17 00:00:00 2001
From: Weidong Xu
Date: Mon, 10 Jun 2024 00:01:56 +0800
Subject: [PATCH 135/343] vmware, mgmt, tsp, bug fix for leaseTime to int64
(#29351)
---
specification/vmware/Microsoft.AVS/models.tsp | 2 +-
.../Microsoft.AVS/stable/2023-09-01/vmware.json | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/specification/vmware/Microsoft.AVS/models.tsp b/specification/vmware/Microsoft.AVS/models.tsp
index 48f2c432c69b..a9c4f74bce4a 100644
--- a/specification/vmware/Microsoft.AVS/models.tsp
+++ b/specification/vmware/Microsoft.AVS/models.tsp
@@ -1360,7 +1360,7 @@ model WorkloadNetworkDhcpServer extends WorkloadNetworkDhcpEntity {
serverAddress?: string;
@doc("DHCP Server Lease Time.")
- leaseTime?: int32;
+ leaseTime?: int64;
@doc("Type of DHCP: SERVER or RELAY.")
dhcpType: DhcpTypeEnum.SERVER;
diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2023-09-01/vmware.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2023-09-01/vmware.json
index 7df2413fac30..e50c56d874fe 100644
--- a/specification/vmware/resource-manager/Microsoft.AVS/stable/2023-09-01/vmware.json
+++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2023-09-01/vmware.json
@@ -10304,7 +10304,7 @@
},
"leaseTime": {
"type": "integer",
- "format": "int32",
+ "format": "int64",
"description": "DHCP Server Lease Time."
}
},
@@ -10325,7 +10325,7 @@
},
"leaseTime": {
"type": "integer",
- "format": "int32",
+ "format": "int64",
"description": "DHCP Server Lease Time."
}
},
From 1cb8cb0a95c20513c5d767614888f415be99245d Mon Sep 17 00:00:00 2001
From: InbalZim <48387592+InbalZim@users.noreply.github.com>
Date: Mon, 10 Jun 2024 10:48:40 +0300
Subject: [PATCH 136/343] [Microsoft.StorageMover] [UploadLimitSchedule]
[v2024-07-01] (#29082)
* Implemented ULS - copied v2024-07-01 files (incl. readme) from RPSaaSMaster branch
* Removed reference to `v2024-05-01-preview`
---
.../Agents_CreateOrUpdate_MaximumSet.json | 84 +
.../Agents_CreateOrUpdate_MinimumSet.json | 46 +
...rUpdate_UploadLimitSchedule_Overnight.json | 134 +
.../2024-07-01/examples/Agents_Delete.json | 20 +
.../examples/Agents_Get_MaximumSet.json | 59 +
.../examples/Agents_Get_MinimumSet.json | 40 +
.../examples/Agents_List_MaximumSet.json | 138 +
.../examples/Agents_List_MinimumSet.json | 16 +
.../2024-07-01/examples/Agents_Update.json | 82 +
...ateOrUpdate_AzureStorageBlobContainer.json | 35 +
...eateOrUpdate_AzureStorageSmbFileShare.json | 35 +
.../Endpoints_CreateOrUpdate_NfsMount.json | 36 +
.../Endpoints_CreateOrUpdate_SmbMount.json | 45 +
.../2024-07-01/examples/Endpoints_Delete.json | 19 +
...dpoints_Get_AzureStorageBlobContainer.json | 27 +
...ndpoints_Get_AzureStorageSmbFileShare.json | 27 +
.../examples/Endpoints_Get_NfsMount.json | 28 +
.../examples/Endpoints_Get_SmbMount.json | 32 +
.../2024-07-01/examples/Endpoints_List.json | 56 +
...ints_Update_AzureStorageBlobContainer.json | 33 +
...oints_Update_AzureStorageSmbFileShare.json | 33 +
.../examples/Endpoints_Update_NfsMount.json | 34 +
.../examples/Endpoints_Update_SmbMount.json | 43 +
.../JobDefinitions_CreateOrUpdate.json | 45 +
.../examples/JobDefinitions_Delete.json | 20 +
.../examples/JobDefinitions_Get.json | 34 +
.../examples/JobDefinitions_List.json | 86 +
.../examples/JobDefinitions_StartJob.json | 17 +
.../examples/JobDefinitions_StopJob.json | 17 +
.../examples/JobDefinitions_Update.json | 40 +
.../2024-07-01/examples/JobRuns_Get.json | 48 +
.../2024-07-01/examples/JobRuns_List.json | 118 +
.../2024-07-01/examples/Operations_List.json | 44 +
.../examples/Projects_CreateOrUpdate.json | 26 +
.../2024-07-01/examples/Projects_Delete.json | 19 +
.../2024-07-01/examples/Projects_Get.json | 21 +
.../2024-07-01/examples/Projects_List.json | 41 +
.../2024-07-01/examples/Projects_Update.json | 26 +
.../StorageMovers_CreateOrUpdate.json | 43 +
.../examples/StorageMovers_Delete.json | 18 +
.../examples/StorageMovers_Get.json | 33 +
.../examples/StorageMovers_List.json | 79 +
.../StorageMovers_ListBySubscription.json | 78 +
.../examples/StorageMovers_Update.json | 38 +
.../stable/2024-07-01/storagemover.json | 2893 +++++++++++++++++
.../storagemover/resource-manager/readme.md | 14 +-
46 files changed, 4898 insertions(+), 2 deletions(-)
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_CreateOrUpdate_MaximumSet.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_CreateOrUpdate_MinimumSet.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_CreateOrUpdate_UploadLimitSchedule_Overnight.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_Delete.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_Get_MaximumSet.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_Get_MinimumSet.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_List_MaximumSet.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_List_MinimumSet.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_Update.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_CreateOrUpdate_AzureStorageBlobContainer.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_CreateOrUpdate_AzureStorageSmbFileShare.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_CreateOrUpdate_NfsMount.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_CreateOrUpdate_SmbMount.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Delete.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Get_AzureStorageBlobContainer.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Get_AzureStorageSmbFileShare.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Get_NfsMount.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Get_SmbMount.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_List.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Update_AzureStorageBlobContainer.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Update_AzureStorageSmbFileShare.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Update_NfsMount.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Update_SmbMount.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_CreateOrUpdate.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_Delete.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_Get.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_List.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_StartJob.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_StopJob.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_Update.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobRuns_Get.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobRuns_List.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Operations_List.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Projects_CreateOrUpdate.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Projects_Delete.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Projects_Get.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Projects_List.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Projects_Update.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_CreateOrUpdate.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_Delete.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_Get.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_List.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_ListBySubscription.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_Update.json
create mode 100644 specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/storagemover.json
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_CreateOrUpdate_MaximumSet.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_CreateOrUpdate_MaximumSet.json
new file mode 100644
index 000000000000..be3c19b0015f
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_CreateOrUpdate_MaximumSet.json
@@ -0,0 +1,84 @@
+{
+ "operationId": "Agents_CreateOrUpdate",
+ "parameters": {
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "agentName": "examples-agentName",
+ "api-version": "2024-07-01",
+ "agent": {
+ "properties": {
+ "arcResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName",
+ "arcVmUuid": "3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9",
+ "description": "Example Agent Description",
+ "uploadLimitSchedule": {
+ "weeklyRecurrences": [
+ {
+ "days": [
+ "Monday"
+ ],
+ "startTime": {
+ "hour": 9,
+ "minute": 0
+ },
+ "endTime": {
+ "hour": 18,
+ "minute": 30
+ },
+ "limitInMbps": 2000
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "arcResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName",
+ "arcVmUuid": "3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9",
+ "description": "Example Agent Description",
+ "agentVersion": "1.0.0",
+ "agentStatus": "Online",
+ "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z",
+ "localIPAddress": "192.168.0.0",
+ "memoryInMB": 4096,
+ "numberOfCores": 8,
+ "uptimeInSeconds": 522,
+ "timeZone": "Eastern Standard Time",
+ "uploadLimitSchedule": {
+ "weeklyRecurrences": [
+ {
+ "days": [
+ "Monday"
+ ],
+ "startTime": {
+ "hour": 9,
+ "minute": 0
+ },
+ "endTime": {
+ "hour": 18,
+ "minute": 30
+ },
+ "limitInMbps": 2000
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2023-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-01T02:01:01.1075056Z"
+ },
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/examples-agentName",
+ "name": "examples-agentName",
+ "type": "Microsoft.StorageMover/storageMovers/agents"
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_CreateOrUpdate_MinimumSet.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_CreateOrUpdate_MinimumSet.json
new file mode 100644
index 000000000000..1c62cb55ddf1
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_CreateOrUpdate_MinimumSet.json
@@ -0,0 +1,46 @@
+{
+ "operationId": "Agents_CreateOrUpdate",
+ "parameters": {
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "agentName": "examples-agentName",
+ "api-version": "2024-07-01",
+ "agent": {
+ "properties": {
+ "arcResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName",
+ "arcVmUuid": "3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "arcResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName",
+ "arcVmUuid": "3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9",
+ "agentVersion": "1.0.0",
+ "agentStatus": "Online",
+ "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z",
+ "localIPAddress": "192.168.0.0",
+ "memoryInMB": 4096,
+ "numberOfCores": 8,
+ "uptimeInSeconds": 522,
+ "timeZone": "Eastern Standard Time",
+ "provisioningState": "Succeeded"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2023-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-01T02:01:01.1075056Z"
+ },
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/examples-agentName",
+ "name": "examples-agentName",
+ "type": "Microsoft.StorageMover/storageMovers/agents"
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_CreateOrUpdate_UploadLimitSchedule_Overnight.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_CreateOrUpdate_UploadLimitSchedule_Overnight.json
new file mode 100644
index 000000000000..d20777ac71f1
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_CreateOrUpdate_UploadLimitSchedule_Overnight.json
@@ -0,0 +1,134 @@
+{
+ "operationId": "Agents_CreateOrUpdate",
+ "parameters": {
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "agentName": "examples-agentName",
+ "api-version": "2024-07-01",
+ "agent": {
+ "properties": {
+ "arcResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName",
+ "arcVmUuid": "3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9",
+ "uploadLimitSchedule": {
+ "weeklyRecurrences": [
+ {
+ "days": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday",
+ "Sunday"
+ ],
+ "startTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "endTime": {
+ "hour": 24,
+ "minute": 0
+ },
+ "limitInMbps": 2000
+ },
+ {
+ "days": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday",
+ "Sunday"
+ ],
+ "startTime": {
+ "hour": 0,
+ "minute": 0
+ },
+ "endTime": {
+ "hour": 9,
+ "minute": 0
+ },
+ "limitInMbps": 2000
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "arcResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName",
+ "arcVmUuid": "3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9",
+ "agentVersion": "1.0.0",
+ "agentStatus": "Online",
+ "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z",
+ "localIPAddress": "192.168.0.0",
+ "memoryInMB": 4096,
+ "numberOfCores": 8,
+ "uptimeInSeconds": 522,
+ "timeZone": "Eastern Standard Time",
+ "uploadLimitSchedule": {
+ "weeklyRecurrences": [
+ {
+ "days": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday",
+ "Sunday"
+ ],
+ "startTime": {
+ "hour": 18,
+ "minute": 0
+ },
+ "endTime": {
+ "hour": 24,
+ "minute": 0
+ },
+ "limitInMbps": 2000
+ },
+ {
+ "days": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday",
+ "Sunday"
+ ],
+ "startTime": {
+ "hour": 0,
+ "minute": 0
+ },
+ "endTime": {
+ "hour": 9,
+ "minute": 0
+ },
+ "limitInMbps": 2000
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2023-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-01T02:01:01.1075056Z"
+ },
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/examples-agentName",
+ "name": "examples-agentName",
+ "type": "Microsoft.StorageMover/storageMovers/agents"
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_Delete.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_Delete.json
new file mode 100644
index 000000000000..28339629b7d9
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_Delete.json
@@ -0,0 +1,20 @@
+{
+ "operationId": "Agents_Delete",
+ "parameters": {
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "agentName": "examples-agentName",
+ "api-version": "2024-07-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/providers/Microsoft.StorageMover/locations/SWEDENCENTRAL/operationStatuses/6ba7b810-9dad-11d1-80b4-00c04fd430c8?api-version=2024-07-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/providers/Microsoft.StorageMover/locations/SWEDENCENTRAL/operationStatuses/6ba7b810-9dad-11d1-80b4-00c04fd430c8?api-version=2024-07-01"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_Get_MaximumSet.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_Get_MaximumSet.json
new file mode 100644
index 000000000000..1b9bdd7a47c4
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_Get_MaximumSet.json
@@ -0,0 +1,59 @@
+{
+ "operationId": "Agents_Get",
+ "parameters": {
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "agentName": "examples-agentName",
+ "api-version": "2024-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "arcResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName",
+ "arcVmUuid": "3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9",
+ "description": "Example Agent Description",
+ "agentVersion": "1.0.0",
+ "agentStatus": "Online",
+ "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z",
+ "localIPAddress": "192.168.0.0",
+ "memoryInMB": 4096,
+ "numberOfCores": 8,
+ "uptimeInSeconds": 522,
+ "timeZone": "Eastern Standard Time",
+ "uploadLimitSchedule": {
+ "weeklyRecurrences": [
+ {
+ "days": [
+ "Monday"
+ ],
+ "startTime": {
+ "hour": 9,
+ "minute": 0
+ },
+ "endTime": {
+ "hour": 18,
+ "minute": 30
+ },
+ "limitInMbps": 2000
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2023-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-01T02:01:01.1075056Z"
+ },
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/examples-agentName",
+ "name": "examples-agentName",
+ "type": "Microsoft.StorageMover/storageMovers/agents"
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_Get_MinimumSet.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_Get_MinimumSet.json
new file mode 100644
index 000000000000..89f88c4f81a0
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_Get_MinimumSet.json
@@ -0,0 +1,40 @@
+{
+ "operationId": "Agents_Get",
+ "parameters": {
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "agentName": "examples-agentName",
+ "api-version": "2024-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "arcResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName",
+ "arcVmUuid": "3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9",
+ "agentVersion": "1.0.0",
+ "agentStatus": "Online",
+ "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z",
+ "localIPAddress": "192.168.0.0",
+ "memoryInMB": 4096,
+ "numberOfCores": 8,
+ "uptimeInSeconds": 522,
+ "timeZone": "Eastern Standard Time",
+ "provisioningState": "Succeeded"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2023-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-01T02:01:01.1075056Z"
+ },
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/examples-agentName",
+ "name": "examples-agentName",
+ "type": "Microsoft.StorageMover/storageMovers/agents"
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_List_MaximumSet.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_List_MaximumSet.json
new file mode 100644
index 000000000000..1c775191e950
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_List_MaximumSet.json
@@ -0,0 +1,138 @@
+{
+ "operationId": "Agents_List",
+ "parameters": {
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "api-version": "2024-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/examples-agentName1",
+ "name": "examples-agentName1",
+ "type": "Microsoft.StorageMover/storageMovers/agents",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2023-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-01T02:01:01.1075056Z"
+ },
+ "properties": {
+ "arcResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName1",
+ "description": "Example Agent 1 Description",
+ "agentVersion": "1.0.0",
+ "agentStatus": "Online",
+ "arcVmUuid": "3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9",
+ "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z",
+ "localIPAddress": "192.168.0.0",
+ "memoryInMB": 4096,
+ "numberOfCores": 8,
+ "uptimeInSeconds": 522,
+ "timeZone": "Eastern Standard Time",
+ "uploadLimitSchedule": {
+ "weeklyRecurrences": [
+ {
+ "days": [
+ "Monday"
+ ],
+ "startTime": {
+ "hour": 9,
+ "minute": 0
+ },
+ "endTime": {
+ "hour": 18,
+ "minute": 30
+ },
+ "limitInMbps": 2000
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/examples-agentName2",
+ "name": "examples-agentName2",
+ "type": "Microsoft.StorageMover/storageMovers/agents",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2023-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-01T02:01:01.1075056Z"
+ },
+ "properties": {
+ "arcResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName2",
+ "agentVersion": "1.0.0",
+ "agentStatus": "Online",
+ "arcVmUuid": "147a1f84-7bbf-4e99-9a6a-a1735a91dfd5",
+ "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z",
+ "localIPAddress": "192.168.0.0",
+ "memoryInMB": 4096,
+ "numberOfCores": 8,
+ "uptimeInSeconds": 877,
+ "timeZone": "Eastern Standard Time",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/examples-agentName3",
+ "name": "examples-agentName3",
+ "type": "Microsoft.StorageMover/storageMovers/agents",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2023-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-01T02:01:01.1075056Z"
+ },
+ "properties": {
+ "arcResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName3",
+ "agentVersion": "1.0.0",
+ "agentStatus": "Online",
+ "arcVmUuid": "648a7958-f99e-4268-b20e-94c96558dc0d",
+ "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z",
+ "localIPAddress": "192.168.0.0",
+ "memoryInMB": 100024,
+ "numberOfCores": 32,
+ "uptimeInSeconds": 1025,
+ "errorDetails": {
+ "code": "SampleErrorCode",
+ "message": "Detailed sample error message."
+ },
+ "timeZone": "Eastern Standard Time",
+ "uploadLimitSchedule": {
+ "weeklyRecurrences": [
+ {
+ "days": [
+ "Saturday",
+ "Sunday"
+ ],
+ "startTime": {
+ "hour": 0,
+ "minute": 0
+ },
+ "endTime": {
+ "hour": 24,
+ "minute": 0
+ },
+ "limitInMbps": 5000
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/providers/Microsoft.StorageMover/storageMovers?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_List_MinimumSet.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_List_MinimumSet.json
new file mode 100644
index 000000000000..ec33924086c6
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_List_MinimumSet.json
@@ -0,0 +1,16 @@
+{
+ "operationId": "Agents_List",
+ "parameters": {
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "api-version": "2024-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": []
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_Update.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_Update.json
new file mode 100644
index 000000000000..2739afb31f45
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Agents_Update.json
@@ -0,0 +1,82 @@
+{
+ "operationId": "Agents_Update",
+ "parameters": {
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "agentName": "examples-agentName",
+ "api-version": "2024-07-01",
+ "agent": {
+ "properties": {
+ "description": "Example Agent Description",
+ "uploadLimitSchedule": {
+ "weeklyRecurrences": [
+ {
+ "days": [
+ "Monday"
+ ],
+ "startTime": {
+ "hour": 9,
+ "minute": 0
+ },
+ "endTime": {
+ "hour": 18,
+ "minute": 30
+ },
+ "limitInMbps": 2000
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "arcResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.HybridCompute/machines/examples-hybridComputeName",
+ "arcVmUuid": "3bb2c024-eba9-4d18-9e7a-1d772fcc5fe9",
+ "description": "Example Agent Description",
+ "agentVersion": "1.0.0",
+ "agentStatus": "Online",
+ "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z",
+ "localIPAddress": "192.168.0.0",
+ "memoryInMB": 4096,
+ "numberOfCores": 8,
+ "uptimeInSeconds": 522,
+ "timeZone": "Eastern Standard Time",
+ "uploadLimitSchedule": {
+ "weeklyRecurrences": [
+ {
+ "days": [
+ "Monday"
+ ],
+ "startTime": {
+ "hour": 9,
+ "minute": 0
+ },
+ "endTime": {
+ "hour": 18,
+ "minute": 30
+ },
+ "limitInMbps": 2000
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2023-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-01T02:01:01.1075056Z"
+ },
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/examples-agentName",
+ "name": "examples-agentName",
+ "type": "Microsoft.StorageMover/storageMovers/agents"
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_CreateOrUpdate_AzureStorageBlobContainer.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_CreateOrUpdate_AzureStorageBlobContainer.json
new file mode 100644
index 000000000000..b45f026a8667
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_CreateOrUpdate_AzureStorageBlobContainer.json
@@ -0,0 +1,35 @@
+{
+ "title": "Endpoints_CreateOrUpdate_AzureStorageBlobContainer",
+ "operationId": "Endpoints_CreateOrUpdate",
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "endpointName": "examples-endpointName",
+ "endpoint": {
+ "properties": {
+ "endpointType": "AzureStorageBlobContainer",
+ "storageAccountResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.Storage/storageAccounts/examplesa",
+ "blobContainerName": "examples-blobcontainer",
+ "description": "Example Storage Blob Container Endpoint Description"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName",
+ "name": "examples-endpointName",
+ "type": "Microsoft.StorageMover/storageMovers/endpoints",
+ "properties": {
+ "endpointType": "AzureStorageBlobContainer",
+ "storageAccountResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.Storage/storageAccounts/examplesa",
+ "blobContainerName": "examples-blobcontainer",
+ "description": "Example Storage Blob Container Endpoint Description",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_CreateOrUpdate_AzureStorageSmbFileShare.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_CreateOrUpdate_AzureStorageSmbFileShare.json
new file mode 100644
index 000000000000..582e9f8c6ee6
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_CreateOrUpdate_AzureStorageSmbFileShare.json
@@ -0,0 +1,35 @@
+{
+ "title": "Endpoints_CreateOrUpdate_AzureStorageSmbFileShare",
+ "operationId": "Endpoints_CreateOrUpdate",
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "endpointName": "examples-endpointName",
+ "endpoint": {
+ "properties": {
+ "endpointType": "AzureStorageSmbFileShare",
+ "storageAccountResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.Storage/storageAccounts/examplesa",
+ "fileShareName": "examples-fileshare",
+ "description": "Example Storage File Share Endpoint Description"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName",
+ "name": "examples-endpointName",
+ "type": "Microsoft.StorageMover/storageMovers/endpoints",
+ "properties": {
+ "endpointType": "AzureStorageSmbFileShare",
+ "storageAccountResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.Storage/storageAccounts/examplesa",
+ "fileShareName": "examples-fileshare",
+ "description": "Example Storage File Share Endpoint Description",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_CreateOrUpdate_NfsMount.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_CreateOrUpdate_NfsMount.json
new file mode 100644
index 000000000000..301a1b1b8f5a
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_CreateOrUpdate_NfsMount.json
@@ -0,0 +1,36 @@
+{
+ "title": "Endpoints_CreateOrUpdate_NfsMount",
+ "operationId": "Endpoints_CreateOrUpdate",
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "endpointName": "examples-endpointName",
+ "endpoint": {
+ "properties": {
+ "endpointType": "NfsMount",
+ "host": "0.0.0.0",
+ "export": "examples-exportName",
+ "description": "Example NFS Mount Endpoint Description"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName",
+ "name": "examples-endpointName",
+ "type": "Microsoft.StorageMover/storageMovers/endpoints",
+ "properties": {
+ "endpointType": "NfsMount",
+ "host": "0.0.0.0",
+ "export": "examples-exportName",
+ "nfsVersion": "NFSauto",
+ "description": "Example NFS Mount Endpoint Description",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_CreateOrUpdate_SmbMount.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_CreateOrUpdate_SmbMount.json
new file mode 100644
index 000000000000..522d9f4d0f41
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_CreateOrUpdate_SmbMount.json
@@ -0,0 +1,45 @@
+{
+ "title": "Endpoints_CreateOrUpdate_SmbMount",
+ "operationId": "Endpoints_CreateOrUpdate",
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "endpointName": "examples-endpointName",
+ "endpoint": {
+ "properties": {
+ "endpointType": "SmbMount",
+ "host": "0.0.0.0",
+ "shareName": "examples-shareName",
+ "credentials": {
+ "type": "AzureKeyVaultSmb",
+ "usernameUri": "https://examples-azureKeyVault.vault.azure.net/secrets/examples-username",
+ "passwordUri": "https://examples-azureKeyVault.vault.azure.net/secrets/examples-password"
+ },
+ "description": "Example SMB Mount Endpoint Description"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName",
+ "name": "examples-endpointName",
+ "type": "Microsoft.StorageMover/storageMovers/endpoints",
+ "properties": {
+ "endpointType": "SmbMount",
+ "host": "0.0.0.0",
+ "shareName": "examples-shareName",
+ "credentials": {
+ "type": "AzureKeyVaultSmb",
+ "usernameUri": "https://examples-azureKeyVault.vault.azure.net/secrets/examples-username",
+ "passwordUri": "https://examples-azureKeyVault.vault.azure.net/secrets/examples-password"
+ },
+ "description": "Example SMB Mount Endpoint Description",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Delete.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Delete.json
new file mode 100644
index 000000000000..3d1da0c5d1ad
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Delete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "endpointName": "examples-endpointName"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/providers/Microsoft.StorageMover/operationResults/delete0",
+ "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.StorageMover/operationStatuses/delete0"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Get_AzureStorageBlobContainer.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Get_AzureStorageBlobContainer.json
new file mode 100644
index 000000000000..a30fddca843f
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Get_AzureStorageBlobContainer.json
@@ -0,0 +1,27 @@
+{
+ "title": "Endpoints_Get_AzureStorageBlobContainer",
+ "operationId": "Endpoints_Get",
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "endpointName": "examples-endpointName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName",
+ "name": "examples-endpointName",
+ "type": "Microsoft.StorageMover/storageMovers/endpoints",
+ "properties": {
+ "endpointType": "AzureStorageBlobContainer",
+ "storageAccountResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.Storage/storageAccounts/examplesa",
+ "blobContainerName": "examples-blobcontainer",
+ "description": "Example Storage Blob Container Endpoint Description",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Get_AzureStorageSmbFileShare.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Get_AzureStorageSmbFileShare.json
new file mode 100644
index 000000000000..298c2de28978
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Get_AzureStorageSmbFileShare.json
@@ -0,0 +1,27 @@
+{
+ "title": "Endpoints_Get_AzureStorageSmbFileShare",
+ "operationId": "Endpoints_Get",
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "endpointName": "examples-endpointName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName",
+ "name": "examples-endpointName",
+ "type": "Microsoft.StorageMover/storageMovers/endpoints",
+ "properties": {
+ "endpointType": "AzureStorageSmbFileShare",
+ "storageAccountResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.Storage/storageAccounts/examplesa",
+ "fileShareName": "examples-fileshare",
+ "description": "Example Storage File Share Endpoint Description",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Get_NfsMount.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Get_NfsMount.json
new file mode 100644
index 000000000000..6b6727baddec
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Get_NfsMount.json
@@ -0,0 +1,28 @@
+{
+ "title": "Endpoints_Get_NfsMount",
+ "operationId": "Endpoints_Get",
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "endpointName": "examples-endpointName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName",
+ "name": "examples-endpointName",
+ "type": "Microsoft.StorageMover/storageMovers/endpoints",
+ "properties": {
+ "endpointType": "NfsMount",
+ "host": "0.0.0.0",
+ "export": "examples-exportName",
+ "nfsVersion": "NFSauto",
+ "description": "Example NFS Mount Endpoint Description",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Get_SmbMount.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Get_SmbMount.json
new file mode 100644
index 000000000000..6297dcfce3b2
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Get_SmbMount.json
@@ -0,0 +1,32 @@
+{
+ "title": "Endpoints_Get_SmbMount",
+ "operationId": "Endpoints_Get",
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "endpointName": "examples-endpointName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName",
+ "name": "examples-endpointName",
+ "type": "Microsoft.StorageMover/storageMovers/endpoints",
+ "properties": {
+ "endpointType": "SmbMount",
+ "host": "0.0.0.0",
+ "shareName": "examples-shareName",
+ "credentials": {
+ "type": "AzureKeyVaultSmb",
+ "usernameUri": "https://examples-azureKeyVault.vault.azure.net/secrets/examples-username",
+ "passwordUri": "https://examples-azureKeyVault.vault.azure.net/secrets/examples-password"
+ },
+ "description": "Example SMB Mount Endpoint Description",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_List.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_List.json
new file mode 100644
index 000000000000..01a17450a48e
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_List.json
@@ -0,0 +1,56 @@
+{
+ "title": "Endpoints_List",
+ "operationId": "Endpoints_List",
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName1",
+ "name": "examples-endpointName1",
+ "type": "Microsoft.StorageMover/storageMovers/endpoints",
+ "properties": {
+ "endpointType": "AzureStorageBlobContainer",
+ "storageAccountResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.Storage/storageAccounts/examplesa",
+ "blobContainerName": "examples-blobcontainer1",
+ "description": "Example Storage Container Endpoint 1 Description",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName2",
+ "name": "examples-endpointName2",
+ "type": "Microsoft.StorageMover/storageMovers/endpoints",
+ "properties": {
+ "endpointType": "NfsMount",
+ "host": "0.0.0.0",
+ "nfsVersion": "NFSv4",
+ "description": "Example Storage Container Endpoint 2 Description",
+ "export": "/",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName3",
+ "name": "examples-endpointName3",
+ "type": "Microsoft.StorageMover/storageMovers/endpoints",
+ "properties": {
+ "endpointType": "AzureStorageBlobContainer",
+ "storageAccountResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.Storage/storageAccounts/examplesa",
+ "blobContainerName": "examples-blobcontainer3",
+ "description": "Example Storage Container Endpoint 3 Description",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Update_AzureStorageBlobContainer.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Update_AzureStorageBlobContainer.json
new file mode 100644
index 000000000000..c03bd991939c
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Update_AzureStorageBlobContainer.json
@@ -0,0 +1,33 @@
+{
+ "title": "Endpoints_Update_AzureStorageBlobContainer",
+ "operationId": "Endpoints_Update",
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "endpointName": "examples-endpointName",
+ "endpoint": {
+ "properties": {
+ "endpointType": "AzureStorageBlobContainer",
+ "description": "Updated Endpoint Description"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName",
+ "name": "examples-endpointName",
+ "type": "Microsoft.StorageMover/storageMovers/endpoints",
+ "properties": {
+ "endpointType": "AzureStorageBlobContainer",
+ "storageAccountResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.Storage/storageAccounts/examplesa",
+ "blobContainerName": "examples-blobcontainer",
+ "description": "Updated Endpoint Description",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Update_AzureStorageSmbFileShare.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Update_AzureStorageSmbFileShare.json
new file mode 100644
index 000000000000..bbab65db9438
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Update_AzureStorageSmbFileShare.json
@@ -0,0 +1,33 @@
+{
+ "title": "Endpoints_Update_AzureStorageSmbFileShare",
+ "operationId": "Endpoints_Update",
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "endpointName": "examples-endpointName",
+ "endpoint": {
+ "properties": {
+ "endpointType": "AzureStorageSmbFileShare",
+ "description": "Updated Endpoint Description"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName",
+ "name": "examples-endpointName",
+ "type": "Microsoft.StorageMover/storageMovers/endpoints",
+ "properties": {
+ "endpointType": "AzureStorageSmbFileShare",
+ "storageAccountResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.Storage/storageAccounts/examplesa",
+ "fileShareName": "examples-fileshare",
+ "description": "Updated Endpoint Description",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Update_NfsMount.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Update_NfsMount.json
new file mode 100644
index 000000000000..8dd04d37776a
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Update_NfsMount.json
@@ -0,0 +1,34 @@
+{
+ "title": "Endpoints_Update_NfsMount",
+ "operationId": "Endpoints_Update",
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "endpointName": "examples-endpointName",
+ "endpoint": {
+ "properties": {
+ "endpointType": "NfsMount",
+ "description": "Updated Endpoint Description"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName",
+ "name": "examples-endpointName",
+ "type": "Microsoft.StorageMover/storageMovers/endpoints",
+ "properties": {
+ "endpointType": "NfsMount",
+ "host": "0.0.0.0",
+ "export": "examples-exportName",
+ "nfsVersion": "NFSauto",
+ "description": "Updated Endpoint Description",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Update_SmbMount.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Update_SmbMount.json
new file mode 100644
index 000000000000..5c7cf6eb1a89
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Endpoints_Update_SmbMount.json
@@ -0,0 +1,43 @@
+{
+ "title": "Endpoints_Update_SmbMount",
+ "operationId": "Endpoints_Update",
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "endpointName": "examples-endpointName",
+ "endpoint": {
+ "properties": {
+ "endpointType": "SmbMount",
+ "description": "Updated Endpoint Description",
+ "credentials": {
+ "type": "AzureKeyVaultSmb",
+ "usernameUri": "https://examples-azureKeyVault.vault.azure.net/secrets/examples-updated-username",
+ "passwordUri": "https://examples-azureKeyVault.vault.azure.net/secrets/examples-updated-password"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-endpointName",
+ "name": "examples-endpointName",
+ "type": "Microsoft.StorageMover/storageMovers/endpoints",
+ "properties": {
+ "endpointType": "SmbMount",
+ "host": "0.0.0.0",
+ "shareName": "examples-shareName",
+ "credentials": {
+ "type": "AzureKeyVaultSmb",
+ "usernameUri": "https://examples-azureKeyVault.vault.azure.net/secrets/examples-updated-username",
+ "passwordUri": "https://examples-azureKeyVault.vault.azure.net/secrets/examples-updated-password"
+ },
+ "description": "Updated Endpoint Description",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_CreateOrUpdate.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_CreateOrUpdate.json
new file mode 100644
index 000000000000..10f58eb60538
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_CreateOrUpdate.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "projectName": "examples-projectName",
+ "jobDefinitionName": "examples-jobDefinitionName",
+ "jobDefinition": {
+ "properties": {
+ "description": "Example Job Definition Description",
+ "copyMode": "Additive",
+ "sourceName": "examples-sourceEndpointName",
+ "sourceSubpath": "/",
+ "targetName": "examples-targetEndpointName",
+ "targetSubpath": "/",
+ "agentName": "migration-agent"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projects/examples-projectName/jobDefinitions/examples-jobDefinitionName",
+ "name": "examples-jobDefinitionName",
+ "type": "Microsoft.StorageMover/storageMovers/projectName/jobDefinitionName",
+ "properties": {
+ "description": "Example Job Definition Description",
+ "copyMode": "Additive",
+ "sourceName": "examples-sourceEndpointName",
+ "sourceResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-sourceEndpointName",
+ "sourceSubpath": "/",
+ "targetName": "examples-targetEndpointName",
+ "targetResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-targetEndpointName",
+ "targetSubpath": "/",
+ "latestJobRunName": null,
+ "latestJobRunResourceId": null,
+ "latestJobRunStatus": null,
+ "agentName": "migration-agent",
+ "agentResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/migration-agent"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_Delete.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_Delete.json
new file mode 100644
index 000000000000..b659e9085f8f
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_Delete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "projectName": "examples-projectName",
+ "jobDefinitionName": "examples-jobDefinitionName"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/providers/Microsoft.StorageMover/operationResults/delete0",
+ "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.StorageMover/operationStatuses/delete0"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_Get.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_Get.json
new file mode 100644
index 000000000000..6531cb1a21a1
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "projectName": "examples-projectName",
+ "jobDefinitionName": "examples-jobDefinitionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/jobDefinitions/examples-jobDefinitionName",
+ "name": "examples-jobDefinitionName",
+ "type": "Microsoft.StorageMover/storageMovers/jobDefinitions",
+ "properties": {
+ "description": "Example Job Definition Description",
+ "copyMode": "Additive",
+ "sourceName": "examples-sourceEndpointName",
+ "sourceResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-sourceEndpointName",
+ "sourceSubpath": "/",
+ "targetName": "examples-targetEndpointName",
+ "targetResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-targetEndpointName",
+ "targetSubpath": "/",
+ "latestJobRunName": null,
+ "latestJobRunResourceId": null,
+ "latestJobRunStatus": null,
+ "agentName": "migration-agent",
+ "agentResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/migration-agent"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_List.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_List.json
new file mode 100644
index 000000000000..e8ace730b7da
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_List.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "projectName": "examples-projectName",
+ "api-version": "2024-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/jobDefinitions/examples-jobDefinitionName1",
+ "name": "examples-jobDefinitionName1",
+ "type": "Microsoft.StorageMover/storageMovers/jobDefinitions",
+ "properties": {
+ "description": "Example Job Definition 1 Description",
+ "copyMode": "Additive",
+ "sourceName": "examples-sourceEndpointName1",
+ "sourceResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-sourceEndpointName1",
+ "sourceSubpath": "/",
+ "targetName": "examples-targetEndpointName1",
+ "targetResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-targetEndpointName1",
+ "targetSubpath": "/",
+ "latestJobRunName": null,
+ "latestJobRunResourceId": null,
+ "latestJobRunStatus": null,
+ "agentName": "migration-agent",
+ "agentResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/migration-agent"
+ }
+ },
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/jobDefinitions/examples-jobDefinitionName2",
+ "name": "examples-jobDefinitionName2",
+ "type": "Microsoft.StorageMover/storageMovers/jobDefinitions",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2023-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-01T02:01:01.1075056Z"
+ },
+ "properties": {
+ "description": "Example Job Definition 2 Description",
+ "copyMode": "Additive",
+ "sourceName": "examples-sourceEndpointName2",
+ "sourceResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-sourceEndpointName2",
+ "sourceSubpath": "/",
+ "targetName": "examples-targetEndpointName2",
+ "targetResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-targetEndpointName2",
+ "targetSubpath": "/",
+ "latestJobRunName": null,
+ "latestJobRunResourceId": null,
+ "latestJobRunStatus": null,
+ "agentName": "migration-agent",
+ "agentResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/migration-agent"
+ }
+ },
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/jobDefinitions/examples-jobDefinitionName3",
+ "name": "examples-jobDefinitionName3",
+ "type": "Microsoft.StorageMover/storageMovers/jobDefinitions",
+ "properties": {
+ "description": "Example Job Definition 3 Description",
+ "copyMode": "Mirror",
+ "sourceName": "examples-sourceEndpointName3",
+ "sourceResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-sourceEndpointName3",
+ "sourceSubpath": "/",
+ "targetName": "examples-targetEndpointName3",
+ "targetResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/examples-targetEndpointName3",
+ "targetSubpath": "/",
+ "latestJobRunName": null,
+ "latestJobRunResourceId": null,
+ "latestJobRunStatus": null,
+ "agentName": "migration-agent",
+ "agentResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/migration-agent"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/providers/Microsoft.StorageMover/storageMovers/jobDefinitions?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_StartJob.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_StartJob.json
new file mode 100644
index 000000000000..a7f686ff1ae5
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_StartJob.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "projectName": "examples-projectName",
+ "jobDefinitionName": "examples-jobDefinitionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobRunResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/jobDefinitions/examples-jobDefinitionName/jobRuns/examples-jobRunName"
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_StopJob.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_StopJob.json
new file mode 100644
index 000000000000..a7f686ff1ae5
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_StopJob.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "projectName": "examples-projectName",
+ "jobDefinitionName": "examples-jobDefinitionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobRunResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/jobDefinitions/examples-jobDefinitionName/jobRuns/examples-jobRunName"
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_Update.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_Update.json
new file mode 100644
index 000000000000..83747e2be672
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobDefinitions_Update.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "projectName": "examples-projectName",
+ "jobDefinitionName": "examples-jobDefinitionName",
+ "jobDefinition": {
+ "properties": {
+ "description": "Updated Job Definition Description",
+ "agentName": "updatedAgentName"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projects/examples-projectName/jobDefinitions/examples-jobDefinitionName",
+ "name": "examples-jobDefinitionName",
+ "type": "Microsoft.StorageMover/storageMovers/projectName/jobDefinitionName",
+ "properties": {
+ "description": "Updated Job Definition Description",
+ "copyMode": "Additive",
+ "sourceName": "updatedSource",
+ "sourceResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/updatedSource",
+ "sourceSubpath": "/",
+ "targetName": "updatedTarget",
+ "targetResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/updatedTarget",
+ "targetSubpath": "/",
+ "latestJobRunName": null,
+ "latestJobRunResourceId": null,
+ "latestJobRunStatus": null,
+ "agentName": "updatedAgentName",
+ "agentResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/migration-agent"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobRuns_Get.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobRuns_Get.json
new file mode 100644
index 000000000000..44c23e1d3709
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobRuns_Get.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "projectName": "examples-projectName",
+ "jobDefinitionName": "examples-jobDefinitionName",
+ "jobRunName": "examples-jobRunName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projects/examples-projectName/jobDefinitions/examples-jobDefinitionName/jobRuns/examples-jobRunName",
+ "name": "examples-jobRunName",
+ "type": "Microsoft.StorageMover/storageMovers/projects/jobDefinitions/jobRuns",
+ "properties": {
+ "status": "Running",
+ "scanStatus": "Scanning",
+ "agentName": "migration-agent",
+ "agentResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/migration-agent",
+ "executionStartTime": "2023-07-01T02:11:01.1075056Z",
+ "executionEndTime": null,
+ "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z",
+ "sourceName": "sourceEndpoint",
+ "sourceResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/sourceEndpoint",
+ "sourceProperties": {},
+ "targetName": "targetEndpoint",
+ "targetResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/targetEndpoint",
+ "targetProperties": {},
+ "jobDefinitionProperties": {},
+ "itemsScanned": 351,
+ "itemsExcluded": 50,
+ "itemsUnsupported": 27,
+ "itemsNoTransferNeeded": 150,
+ "itemsFailed": 3,
+ "itemsTransferred": 100,
+ "bytesScanned": 49951162777600,
+ "bytesExcluded": 995116277760,
+ "bytesUnsupported": 495116277760,
+ "bytesNoTransferNeeded": 2995116277760,
+ "bytesFailed": 5116277760,
+ "bytesTransferred": 1995116277760
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobRuns_List.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobRuns_List.json
new file mode 100644
index 000000000000..e3505142058a
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/JobRuns_List.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "projectName": "examples-projectName",
+ "jobDefinitionName": "examples-jobDefinitionName",
+ "api-version": "2024-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projectName/examples-projectName/jobDefinitions/examples-jobDefinitionName1/jobRuns/examples-jobRunName1",
+ "name": "examples-jobRunName1",
+ "type": "Microsoft.StorageMover/storageMovers/projects/jobDefinitions/jobRuns",
+ "properties": {
+ "status": "Running",
+ "scanStatus": "Scanning",
+ "agentName": "migration-agent",
+ "agentResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/migration-agent",
+ "executionStartTime": "2023-07-01T02:11:01.1075056Z",
+ "executionEndTime": null,
+ "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z",
+ "sourceName": "sourceEndpoint",
+ "sourceResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/sourceEndpoint",
+ "sourceProperties": {},
+ "targetName": "targetEndpoint",
+ "targetResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/targetEndpoint",
+ "targetProperties": {},
+ "jobDefinitionProperties": {},
+ "itemsScanned": 351,
+ "itemsExcluded": 50,
+ "itemsUnsupported": 27,
+ "itemsNoTransferNeeded": 150,
+ "itemsFailed": 3,
+ "itemsTransferred": 100,
+ "bytesScanned": 49951162777600,
+ "bytesExcluded": 995116277760,
+ "bytesUnsupported": 495116277760,
+ "bytesNoTransferNeeded": 2995116277760,
+ "bytesFailed": 5116277760,
+ "bytesTransferred": 1995116277760
+ }
+ },
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projectName/examples-projectName/jobDefinitions/examples-jobDefinitionName1/jobRuns/examples-jobRunName2",
+ "name": "examples-jobRunName2",
+ "type": "Microsoft.StorageMover/storageMovers/projects/jobDefinitions/jobRuns",
+ "properties": {
+ "status": "Failed",
+ "scanStatus": "Scanning",
+ "agentName": "migration-agent",
+ "agentResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/migration-agent",
+ "executionStartTime": "2023-07-01T02:11:01.1075056Z",
+ "executionEndTime": null,
+ "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z",
+ "sourceName": "sourceEndpoint",
+ "sourceResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/sourceEndpoint",
+ "sourceProperties": {},
+ "targetName": "targetEndpoint",
+ "targetResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/targetEndpoint",
+ "targetProperties": {},
+ "jobDefinitionProperties": {},
+ "itemsScanned": 351,
+ "itemsExcluded": 50,
+ "itemsUnsupported": 27,
+ "itemsNoTransferNeeded": 150,
+ "itemsFailed": 3,
+ "itemsTransferred": 100,
+ "bytesScanned": 49951162777600,
+ "bytesExcluded": 995116277760,
+ "bytesUnsupported": 495116277760,
+ "bytesNoTransferNeeded": 2995116277760,
+ "bytesFailed": 5116277760,
+ "bytesTransferred": 1995116277760
+ }
+ },
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projectName/examples-projectName/jobDefinitions/examples-jobDefinitionName1/jobRuns/examples-jobRunName3",
+ "name": "examples-jobRunName3",
+ "type": "Microsoft.StorageMover/storageMovers/projects/jobDefinitions/jobRuns",
+ "properties": {
+ "status": "Failed",
+ "scanStatus": "Scanning",
+ "agentName": "migration-agent",
+ "agentResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/migration-agent",
+ "executionStartTime": "2023-07-01T02:11:01.1075056Z",
+ "executionEndTime": null,
+ "lastStatusUpdate": "2023-07-01T02:21:01.1075056Z",
+ "sourceName": "sourceEndpoint",
+ "sourceResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/sourceEndpoint",
+ "sourceProperties": {},
+ "targetName": "targetEndpoint",
+ "targetResourceId": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/endpoints/targetEndpoint",
+ "targetProperties": {},
+ "jobDefinitionProperties": {},
+ "itemsScanned": 351,
+ "itemsExcluded": 50,
+ "itemsUnsupported": 27,
+ "itemsNoTransferNeeded": 150,
+ "itemsFailed": 3,
+ "itemsTransferred": 100,
+ "bytesScanned": 49951162777600,
+ "bytesExcluded": 995116277760,
+ "bytesUnsupported": 495116277760,
+ "bytesNoTransferNeeded": 2995116277760,
+ "bytesFailed": 5116277760,
+ "bytesTransferred": 1995116277760
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/providers/Microsoft.StorageMover/storageMovers/projects/jobDefinitions/jobRuns?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Operations_List.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Operations_List.json
new file mode 100644
index 000000000000..31e85cf07936
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Operations_List.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2024-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.StorageMover/storageMovers/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft StorageMover",
+ "resource": "StorageMovers",
+ "operation": "Get or List StorageMover resource(s).",
+ "description": "Gets or Lists existing StorageMover resource(s)."
+ }
+ },
+ {
+ "name": "Microsoft.StorageMover/storageMovers/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft StorageMover",
+ "resource": "StorageMovers",
+ "operation": "Create or Update StorageMover resource.",
+ "description": "Creates or Updates StorageMover resource."
+ }
+ },
+ {
+ "name": "Microsoft.StorageMover/storageMovers/delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft StorageMover",
+ "resource": "StorageMovers",
+ "operation": "Delete StorageMover resource.",
+ "description": "Deletes StorageMover resource."
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/providers/Microsoft.StorageMover/operations?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Projects_CreateOrUpdate.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Projects_CreateOrUpdate.json
new file mode 100644
index 000000000000..dea91afc5009
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Projects_CreateOrUpdate.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "projectName": "examples-projectName",
+ "project": {
+ "properties": {
+ "description": "Example Project Description"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projects/examples-projectName",
+ "name": "examples-projectName",
+ "type": "Microsoft.StorageMover/storageMovers/projects",
+ "properties": {
+ "description": "Example Project Description"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Projects_Delete.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Projects_Delete.json
new file mode 100644
index 000000000000..e45e5ac62538
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Projects_Delete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "projectName": "examples-projectName"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/providers/Microsoft.StorageMover/operationResults/delete0",
+ "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.StorageMover/operationStatuses/delete0"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Projects_Get.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Projects_Get.json
new file mode 100644
index 000000000000..f1f3d39eff6a
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Projects_Get.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "projectName": "examples-projectName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projects/examples-projectName",
+ "name": "examples-projectName",
+ "type": "Microsoft.StorageMover/storageMovers/projects",
+ "properties": {
+ "description": "Example Project Description"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Projects_List.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Projects_List.json
new file mode 100644
index 000000000000..5f4103402205
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Projects_List.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "api-version": "2024-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projects/examples-projectName1",
+ "name": "examples-projectName1",
+ "type": "Microsoft.StorageMover/storageMovers/projects",
+ "properties": {
+ "description": "Example Project 1 Description"
+ }
+ },
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projects/examples-projectName2",
+ "name": "examples-projectName2",
+ "type": "Microsoft.StorageMover/storageMovers/projects",
+ "properties": {
+ "description": "Example Project 2 Description"
+ }
+ },
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/projects/examples-projectName2",
+ "name": "examples-projectName3",
+ "type": "Microsoft.StorageMover/storageMovers/projects",
+ "properties": {
+ "description": "Example Project 3 Description"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/providers/Microsoft.StorageMover/storageMovers/projects?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Projects_Update.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Projects_Update.json
new file mode 100644
index 000000000000..390e84dbd430
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/Projects_Update.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "projectName": "examples-projectName",
+ "project": {
+ "properties": {
+ "description": "Example Project Description"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/agents/examples-projectName",
+ "name": "examples-projectName",
+ "type": "Microsoft.StorageMover/storageMovers/projectName",
+ "properties": {
+ "description": "Example Project Description"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_CreateOrUpdate.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_CreateOrUpdate.json
new file mode 100644
index 000000000000..af8e6599da0e
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_CreateOrUpdate.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "storageMover": {
+ "location": "eastus2",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "description": "Example Storage Mover Description"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName",
+ "name": "examples-storageMoverName",
+ "type": "Microsoft.StorageMover/storageMovers",
+ "location": "eastus2",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2023-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-01T02:01:01.1075056Z"
+ },
+ "properties": {
+ "description": "Example Storage Mover Description"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_Delete.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_Delete.json
new file mode 100644
index 000000000000..56554b316736
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_Delete.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/providers/Microsoft.StorageMover/operationResults/delete0",
+ "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.StorageMover/operationStatuses/delete0"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_Get.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_Get.json
new file mode 100644
index 000000000000..9ba3110cf155
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_Get.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName",
+ "name": "examples-storageMoverName",
+ "type": "Microsoft.StorageMover/storageMovers",
+ "location": "eastus2",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2023-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-01T02:01:01.1075056Z"
+ },
+ "properties": {
+ "description": "Example Storage Mover Description"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_List.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_List.json
new file mode 100644
index 000000000000..3a94a4bb294e
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_List.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "api-version": "2024-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverResourceName1",
+ "name": "examples-storageMoverResourceName1",
+ "type": "Microsoft.StorageMover/storageMovers",
+ "location": "eastus2",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2023-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-01T02:01:01.1075056Z"
+ },
+ "properties": {
+ "description": "Example Storage Mover 1 Description"
+ }
+ },
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverResourceName2",
+ "name": "examples-storageMoverResourceName2",
+ "type": "Microsoft.StorageMover/storageMovers",
+ "location": "eastus2",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2023-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-01T02:01:01.1075056Z"
+ },
+ "properties": {
+ "description": "Example Storage Mover 2 Description"
+ }
+ },
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverResourceName3",
+ "name": "examples-storageMoverResourceName3",
+ "type": "Microsoft.StorageMover/storageMovers",
+ "location": "eastus2",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2023-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-01T02:01:01.1075056Z"
+ },
+ "properties": {
+ "description": "Example Storage Mover 3 Description"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/providers/Microsoft.StorageMover/storageMovers?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_ListBySubscription.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_ListBySubscription.json
new file mode 100644
index 000000000000..fdd601b615af
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_ListBySubscription.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "api-version": "2024-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverResourceName1",
+ "name": "examples-storageMoverResourceName1",
+ "type": "Microsoft.StorageMover/storageMovers",
+ "location": "eastus2",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2023-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-01T02:01:01.1075056Z"
+ },
+ "properties": {
+ "description": "Example Storage Mover 1 Description"
+ }
+ },
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg2/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverResourceName2",
+ "name": "examples-storageMoverResourceName2",
+ "type": "Microsoft.StorageMover/storageMovers",
+ "location": "eastus2",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2023-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-01T02:01:01.1075056Z"
+ },
+ "properties": {
+ "description": "Example Storage Mover 2 Description"
+ }
+ },
+ {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverResourceName3",
+ "name": "examples-storageMoverResourceName3",
+ "type": "Microsoft.StorageMover/storageMovers",
+ "location": "eastus2",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2023-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-01T02:01:01.1075056Z"
+ },
+ "properties": {
+ "description": "Example Storage Mover 3 Description"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/providers/Microsoft.StorageMover/storageMovers?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_Update.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_Update.json
new file mode 100644
index 000000000000..60adc614b8c8
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/examples/StorageMovers_Update.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2024-07-01",
+ "subscriptionId": "60bcfc77-6589-4da2-b7fd-f9ec9322cf95",
+ "resourceGroupName": "examples-rg",
+ "storageMoverName": "examples-storageMoverName",
+ "storageMover": {
+ "properties": {
+ "description": "Updated Storage Mover Description"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName",
+ "name": "examples-storageMoverName",
+ "type": "Microsoft.StorageMover/storageMovers",
+ "location": "eastus2",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2023-07-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-07-01T02:01:01.1075056Z"
+ },
+ "properties": {
+ "description": "Updated Storage Mover Description"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/storagemover.json b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/storagemover.json
new file mode 100644
index 000000000000..f073e9d55069
--- /dev/null
+++ b/specification/storagemover/resource-manager/Microsoft.StorageMover/stable/2024-07-01/storagemover.json
@@ -0,0 +1,2893 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-07-01",
+ "title": "StorageMoverClient",
+ "description": "The Azure Storage Mover REST API."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.StorageMover/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "Lists all the supported operations for the Azure Storage Mover REST API.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of supported operations.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.StorageMover/storageMovers": {
+ "get": {
+ "tags": [
+ "StorageMovers"
+ ],
+ "operationId": "StorageMovers_ListBySubscription",
+ "description": "Lists all Storage Movers in a subscription.",
+ "x-ms-examples": {
+ "StorageMovers_List": {
+ "$ref": "./examples/StorageMovers_ListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of Storage Movers.",
+ "schema": {
+ "$ref": "#/definitions/StorageMoverList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers": {
+ "get": {
+ "tags": [
+ "StorageMovers"
+ ],
+ "operationId": "StorageMovers_List",
+ "description": "Lists all Storage Movers in a resource group.",
+ "x-ms-examples": {
+ "StorageMovers_List": {
+ "$ref": "./examples/StorageMovers_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of Storage Movers.",
+ "schema": {
+ "$ref": "#/definitions/StorageMoverList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}": {
+ "get": {
+ "tags": [
+ "StorageMovers"
+ ],
+ "operationId": "StorageMovers_Get",
+ "description": "Gets a Storage Mover resource.",
+ "x-ms-examples": {
+ "StorageMovers_Get": {
+ "$ref": "./examples/StorageMovers_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Storage Mover resource.",
+ "schema": {
+ "$ref": "#/definitions/StorageMover"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "StorageMovers"
+ ],
+ "operationId": "StorageMovers_CreateOrUpdate",
+ "description": "Creates or updates a top-level Storage Mover resource.",
+ "x-ms-examples": {
+ "StorageMovers_CreateOrUpdate": {
+ "$ref": "./examples/StorageMovers_CreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "storageMover",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/StorageMover"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully PUT Storage Mover resource.",
+ "schema": {
+ "$ref": "#/definitions/StorageMover"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "StorageMovers"
+ ],
+ "operationId": "StorageMovers_Update",
+ "description": "Updates properties for a Storage Mover resource. Properties not specified in the request body will be unchanged.",
+ "x-ms-examples": {
+ "StorageMovers_Update": {
+ "$ref": "./examples/StorageMovers_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "storageMover",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/StorageMoverUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Storage Mover resource.",
+ "schema": {
+ "$ref": "#/definitions/StorageMover"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "StorageMovers"
+ ],
+ "operationId": "StorageMovers_Delete",
+ "description": "Deletes a Storage Mover resource.",
+ "x-ms-examples": {
+ "StorageMovers_Delete": {
+ "$ref": "./examples/StorageMovers_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted Storage Mover."
+ },
+ "202": {
+ "description": "Accepted. Storage Mover delete operation is ongoing."
+ },
+ "204": {
+ "description": "NoContent -- Storage Mover does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error response describing why delete operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/agents": {
+ "get": {
+ "tags": [
+ "Agents"
+ ],
+ "operationId": "Agents_List",
+ "description": "Lists all Agents in a Storage Mover.",
+ "x-ms-examples": {
+ "Agents_List_MinimumSet": {
+ "$ref": "./examples/Agents_List_MinimumSet.json"
+ },
+ "Agents_List_MaximumSet": {
+ "$ref": "./examples/Agents_List_MaximumSet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of Agents.",
+ "schema": {
+ "$ref": "#/definitions/AgentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/agents/{agentName}": {
+ "get": {
+ "tags": [
+ "Agents"
+ ],
+ "operationId": "Agents_Get",
+ "description": "Gets an Agent resource.",
+ "x-ms-examples": {
+ "Agents_Get_MinimumSet": {
+ "$ref": "./examples/Agents_Get_MinimumSet.json"
+ },
+ "Agents_Get_MaximumSet": {
+ "$ref": "./examples/Agents_Get_MaximumSet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AgentNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Agent resource.",
+ "schema": {
+ "$ref": "#/definitions/Agent"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Agents"
+ ],
+ "operationId": "Agents_CreateOrUpdate",
+ "description": "Creates or updates an Agent resource, which references a hybrid compute machine that can run jobs.",
+ "x-ms-examples": {
+ "Agents_CreateOrUpdate_MinimumSet": {
+ "$ref": "./examples/Agents_CreateOrUpdate_MinimumSet.json"
+ },
+ "Agents_CreateOrUpdate_MaximumSet": {
+ "$ref": "./examples/Agents_CreateOrUpdate_MaximumSet.json"
+ },
+ "Agents_CreateOrUpdate_WithOvernightUploadLimitSchedule": {
+ "$ref": "./examples/Agents_CreateOrUpdate_UploadLimitSchedule_Overnight.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AgentNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "agent",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Agent"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully PUT Agent resource.",
+ "schema": {
+ "$ref": "#/definitions/Agent"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Agents"
+ ],
+ "operationId": "Agents_Update",
+ "description": "Creates or updates an Agent resource.",
+ "x-ms-examples": {
+ "Agents_Update": {
+ "$ref": "./examples/Agents_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AgentNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "agent",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AgentUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Agent resource.",
+ "schema": {
+ "$ref": "#/definitions/Agent"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Agents"
+ ],
+ "operationId": "Agents_Delete",
+ "description": "Deletes an Agent resource.",
+ "x-ms-examples": {
+ "Agents_Delete": {
+ "$ref": "./examples/Agents_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AgentNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted Agent."
+ },
+ "202": {
+ "description": "Accepted. Agent delete operation is ongoing."
+ },
+ "204": {
+ "description": "NoContent -- Agent does not exist for this Storage Mover."
+ },
+ "default": {
+ "description": "Error response describing why delete operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/endpoints": {
+ "get": {
+ "tags": [
+ "Endpoints"
+ ],
+ "operationId": "Endpoints_List",
+ "description": "Lists all Endpoints in a Storage Mover.",
+ "x-ms-examples": {
+ "Endpoints_List": {
+ "$ref": "./examples/Endpoints_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of Endpoints.",
+ "schema": {
+ "$ref": "#/definitions/EndpointList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/endpoints/{endpointName}": {
+ "get": {
+ "tags": [
+ "Endpoints"
+ ],
+ "operationId": "Endpoints_Get",
+ "description": "Gets an Endpoint resource.",
+ "x-ms-examples": {
+ "Endpoints_Get_AzureStorageBlobContainer": {
+ "$ref": "./examples/Endpoints_Get_AzureStorageBlobContainer.json"
+ },
+ "Endpoints_Get_AzureStorageSmbFileShare": {
+ "$ref": "./examples/Endpoints_Get_AzureStorageSmbFileShare.json"
+ },
+ "Endpoints_Get_NfsMount": {
+ "$ref": "./examples/Endpoints_Get_NfsMount.json"
+ },
+ "Endpoints_Get_SmbMount": {
+ "$ref": "./examples/Endpoints_Get_SmbMount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/EndpointNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Endpoint resource.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Endpoints"
+ ],
+ "operationId": "Endpoints_CreateOrUpdate",
+ "description": "Creates or updates an Endpoint resource, which represents a data transfer source or destination.",
+ "x-ms-examples": {
+ "Endpoints_CreateOrUpdate_AzureStorageBlobContainer": {
+ "$ref": "./examples/Endpoints_CreateOrUpdate_AzureStorageBlobContainer.json"
+ },
+ "Endpoints_CreateOrUpdate_AzureStorageSmbFileShare": {
+ "$ref": "./examples/Endpoints_CreateOrUpdate_AzureStorageSmbFileShare.json"
+ },
+ "Endpoints_CreateOrUpdate_NfsMount": {
+ "$ref": "./examples/Endpoints_CreateOrUpdate_NfsMount.json"
+ },
+ "Endpoints_CreateOrUpdate_SmbMount": {
+ "$ref": "./examples/Endpoints_CreateOrUpdate_SmbMount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/EndpointNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "endpoint",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully PUT Endpoint resource.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Endpoints"
+ ],
+ "operationId": "Endpoints_Update",
+ "description": "Updates properties for an Endpoint resource. Properties not specified in the request body will be unchanged.",
+ "x-ms-examples": {
+ "Endpoints_Update_AzureStorageBlobContainer": {
+ "$ref": "./examples/Endpoints_Update_AzureStorageBlobContainer.json"
+ },
+ "Endpoints_Update_AzureStorageSmbFileShare": {
+ "$ref": "./examples/Endpoints_Update_AzureStorageSmbFileShare.json"
+ },
+ "Endpoints_Update_NfsMount": {
+ "$ref": "./examples/Endpoints_Update_NfsMount.json"
+ },
+ "Endpoints_Update_SmbMount": {
+ "$ref": "./examples/Endpoints_Update_SmbMount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/EndpointNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "endpoint",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EndpointBaseUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Endpoint resource.",
+ "schema": {
+ "$ref": "#/definitions/Endpoint"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Endpoints"
+ ],
+ "operationId": "Endpoints_Delete",
+ "description": "Deletes an Endpoint resource.",
+ "x-ms-examples": {
+ "Endpoints_Delete": {
+ "$ref": "./examples/Endpoints_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/EndpointNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted Endpoint."
+ },
+ "202": {
+ "description": "Accepted. Endpoint delete operation is ongoing."
+ },
+ "204": {
+ "description": "NoContent -- Endpoint does not exist for this Storage Mover."
+ },
+ "default": {
+ "description": "Error response describing why delete operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects": {
+ "get": {
+ "tags": [
+ "Projects"
+ ],
+ "operationId": "Projects_List",
+ "description": "Lists all Projects in a Storage Mover.",
+ "x-ms-examples": {
+ "Projects_List": {
+ "$ref": "./examples/Projects_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of Projects.",
+ "schema": {
+ "$ref": "#/definitions/ProjectList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}": {
+ "get": {
+ "tags": [
+ "Projects"
+ ],
+ "operationId": "Projects_Get",
+ "description": "Gets a Project resource.",
+ "x-ms-examples": {
+ "Projects_Get": {
+ "$ref": "./examples/Projects_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Project resource.",
+ "schema": {
+ "$ref": "#/definitions/Project"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Projects"
+ ],
+ "operationId": "Projects_CreateOrUpdate",
+ "description": "Creates or updates a Project resource, which is a logical grouping of related jobs.",
+ "x-ms-examples": {
+ "Projects_CreateOrUpdate": {
+ "$ref": "./examples/Projects_CreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "project",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Project"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully PUT Project resource.",
+ "schema": {
+ "$ref": "#/definitions/Project"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Projects"
+ ],
+ "operationId": "Projects_Update",
+ "description": "Updates properties for a Project resource. Properties not specified in the request body will be unchanged.",
+ "x-ms-examples": {
+ "Projects_Update": {
+ "$ref": "./examples/Projects_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "project",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProjectUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Project resource.",
+ "schema": {
+ "$ref": "#/definitions/Project"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Projects"
+ ],
+ "operationId": "Projects_Delete",
+ "description": "Deletes a Project resource.",
+ "x-ms-examples": {
+ "Projects_Delete": {
+ "$ref": "./examples/Projects_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted Project."
+ },
+ "202": {
+ "description": "Accepted. Project delete operation is ongoing."
+ },
+ "204": {
+ "description": "NoContent -- Project does not exist for this Storage Mover."
+ },
+ "default": {
+ "description": "Error response describing why delete operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions": {
+ "get": {
+ "tags": [
+ "JobDefinitions"
+ ],
+ "operationId": "JobDefinitions_List",
+ "description": "Lists all Job Definitions in a Project.",
+ "x-ms-examples": {
+ "JobDefinitions_List": {
+ "$ref": "./examples/JobDefinitions_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of Job Definitions.",
+ "schema": {
+ "$ref": "#/definitions/JobDefinitionList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions/{jobDefinitionName}": {
+ "get": {
+ "tags": [
+ "JobDefinitions"
+ ],
+ "operationId": "JobDefinitions_Get",
+ "description": "Gets a Job Definition resource.",
+ "x-ms-examples": {
+ "JobDefinitions_Get": {
+ "$ref": "./examples/JobDefinitions_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "#/parameters/JobDefinitionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Job Definition resource.",
+ "schema": {
+ "$ref": "#/definitions/JobDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "JobDefinitions"
+ ],
+ "operationId": "JobDefinitions_CreateOrUpdate",
+ "description": "Creates or updates a Job Definition resource, which contains configuration for a single unit of managed data transfer.",
+ "x-ms-examples": {
+ "JobDefinitions_CreateOrUpdate": {
+ "$ref": "./examples/JobDefinitions_CreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "#/parameters/JobDefinitionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "jobDefinition",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobDefinition"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully PUT Job Definition resource.",
+ "schema": {
+ "$ref": "#/definitions/JobDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "JobDefinitions"
+ ],
+ "operationId": "JobDefinitions_Update",
+ "description": "Updates properties for a Job Definition resource. Properties not specified in the request body will be unchanged.",
+ "x-ms-examples": {
+ "JobDefinitions_Update": {
+ "$ref": "./examples/JobDefinitions_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "#/parameters/JobDefinitionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "jobDefinition",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobDefinitionUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Job Definition resource.",
+ "schema": {
+ "$ref": "#/definitions/JobDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "JobDefinitions"
+ ],
+ "operationId": "JobDefinitions_Delete",
+ "description": "Deletes a Job Definition resource.",
+ "x-ms-examples": {
+ "Projects_Delete": {
+ "$ref": "./examples/JobDefinitions_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "#/parameters/JobDefinitionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted Job Definition."
+ },
+ "202": {
+ "description": "Accepted. Job Definition delete operation is ongoing."
+ },
+ "204": {
+ "description": "NoContent -- Job Definition does not exist for this Project."
+ },
+ "default": {
+ "description": "Error response describing why delete operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions/{jobDefinitionName}/startJob": {
+ "post": {
+ "consumes": [
+ "application/json",
+ "application/x-www-form-urlencoded"
+ ],
+ "tags": [
+ "JobDefinitions"
+ ],
+ "operationId": "JobDefinitions_StartJob",
+ "description": "Creates a new Job Run resource for the specified Job Definition and passes it to the Agent for execution.",
+ "x-ms-examples": {
+ "JobDefinitions_StartJob": {
+ "$ref": "./examples/JobDefinitions_StartJob.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "#/parameters/JobDefinitionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully requested job to start.",
+ "schema": {
+ "$ref": "#/definitions/JobRunResourceId"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions/{jobDefinitionName}/stopJob": {
+ "post": {
+ "consumes": [
+ "application/json",
+ "application/x-www-form-urlencoded"
+ ],
+ "tags": [
+ "JobDefinitions"
+ ],
+ "operationId": "JobDefinitions_StopJob",
+ "description": "Requests the Agent of any active instance of this Job Definition to stop.",
+ "x-ms-examples": {
+ "JobDefinitions_StopJob": {
+ "$ref": "./examples/JobDefinitions_StopJob.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "#/parameters/JobDefinitionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully requested running job to stop, if any.",
+ "schema": {
+ "$ref": "#/definitions/JobRunResourceId"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions/{jobDefinitionName}/jobRuns": {
+ "get": {
+ "tags": [
+ "JobRuns"
+ ],
+ "operationId": "JobRuns_List",
+ "description": "Lists all Job Runs in a Job Definition.",
+ "x-ms-examples": {
+ "JobRuns_List": {
+ "$ref": "./examples/JobRuns_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "#/parameters/JobDefinitionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of Job Runs.",
+ "schema": {
+ "$ref": "#/definitions/JobRunList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions/{jobDefinitionName}/jobRuns/{jobRunName}": {
+ "get": {
+ "tags": [
+ "JobRuns"
+ ],
+ "operationId": "JobRuns_Get",
+ "description": "Gets a Job Run resource.",
+ "x-ms-examples": {
+ "JobRuns_Get": {
+ "$ref": "./examples/JobRuns_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageMoverNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ProjectNameParameter"
+ },
+ {
+ "$ref": "#/parameters/JobDefinitionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/JobRunNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Job Run resource.",
+ "schema": {
+ "$ref": "#/definitions/JobRun"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AgentProperties": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A description for the Agent."
+ },
+ "agentVersion": {
+ "type": "string",
+ "description": "The Agent version.",
+ "readOnly": true
+ },
+ "arcResourceId": {
+ "type": "string",
+ "description": "The fully qualified resource ID of the Hybrid Compute resource for the Agent.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "arcVmUuid": {
+ "type": "string",
+ "description": "The VM UUID of the Hybrid Compute resource for the Agent.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "agentStatus": {
+ "description": "The Agent status.",
+ "enum": [
+ "Registering",
+ "Offline",
+ "Online",
+ "Executing",
+ "RequiresAttention",
+ "Unregistering"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentStatus",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "lastStatusUpdate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The last updated time of the Agent status.",
+ "readOnly": true
+ },
+ "localIPAddress": {
+ "type": "string",
+ "description": "Local IP address reported by the Agent.",
+ "readOnly": true
+ },
+ "memoryInMB": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Available memory reported by the Agent, in MB.",
+ "readOnly": true
+ },
+ "numberOfCores": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Available compute cores reported by the Agent.",
+ "readOnly": true
+ },
+ "uptimeInSeconds": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Uptime of the Agent in seconds.",
+ "readOnly": true
+ },
+ "timeZone": {
+ "description": "The agent's local time zone represented in Windows format.",
+ "type": "string",
+ "readOnly": true
+ },
+ "uploadLimitSchedule": {
+ "description": "The WAN-link upload limit schedule that applies to any Job Run the agent executes. Data plane operations (migrating files) are affected. Control plane operations ensure seamless migration functionality and are not limited by this schedule. The schedule is interpreted with the agent's local time.",
+ "$ref": "#/definitions/UploadLimitSchedule"
+ },
+ "errorDetails": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code reported by Agent"
+ },
+ "message": {
+ "type": "string",
+ "description": "Expanded description of reported error code"
+ }
+ },
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "The provisioning state of this resource.",
+ "$ref": "#/definitions/ProvisioningState",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "arcResourceId",
+ "arcVmUuid"
+ ]
+ },
+ "Agent": {
+ "description": "The Agent resource.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AgentProperties"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData",
+ "description": "Resource system metadata."
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "AgentUpdateProperties": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A description for the Agent."
+ },
+ "uploadLimitSchedule": {
+ "description": "The WAN-link upload limit schedule that applies to any Job Run the agent executes. Data plane operations (migrating files) are affected. Control plane operations ensure seamless migration functionality and are not limited by this schedule. The schedule is interpreted with the agent's local time.",
+ "$ref": "#/definitions/UploadLimitSchedule"
+ }
+ }
+ },
+ "AgentUpdateParameters": {
+ "description": "The Agent resource.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AgentUpdateProperties"
+ }
+ }
+ },
+ "AgentList": {
+ "description": "List of Agents.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Agent"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Request URL that can be used to query next page of containers. Returned when total number of requested containers exceed maximum page size.",
+ "readOnly": true
+ }
+ }
+ },
+ "UploadLimitSchedule": {
+ "description": "The WAN-link upload limit schedule. Overlapping recurrences are not allowed.",
+ "type": "object",
+ "properties": {
+ "weeklyRecurrences": {
+ "description": "The set of weekly repeating recurrences of the WAN-link upload limit schedule.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UploadLimitWeeklyRecurrence"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "Recurrence": {
+ "description": "The schedule recurrence.",
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "description": "The start time of the schedule recurrence. Full hour and 30-minute intervals are supported.",
+ "$ref": "#/definitions/Time"
+ },
+ "endTime": {
+ "description": "The end time of the schedule recurrence. Full hour and 30-minute intervals are supported.",
+ "$ref": "#/definitions/Time"
+ }
+ },
+ "required": [
+ "startTime",
+ "endTime"
+ ]
+ },
+ "WeeklyRecurrence": {
+ "type": "object",
+ "description": "The weekly recurrence of the schedule.",
+ "properties": {
+ "days": {
+ "description": "The set of days of week for the schedule recurrence. A day must not be specified more than once in a recurrence.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DayOfWeek"
+ }
+ }
+ },
+ "required": [
+ "days"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Recurrence"
+ }
+ ]
+ },
+ "DayOfWeek": {
+ "description": "The day of week.",
+ "enum": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday",
+ "Sunday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ },
+ "UploadLimit": {
+ "description": "The WAN-link upload limit.",
+ "type": "object",
+ "properties": {
+ "limitInMbps": {
+ "description": "The WAN-link upload bandwidth (maximum data transfer rate) in megabits per second. Value of 0 indicates no throughput is allowed and any running migration job is effectively paused for the duration of this recurrence. Only data plane operations are governed by this limit. Control plane operations ensure seamless functionality. The agent may exceed this limit with control messages, if necessary.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 2147483647
+ }
+ },
+ "required": [
+ "limitInMbps"
+ ]
+ },
+ "UploadLimitWeeklyRecurrence": {
+ "description": "The weekly recurrence of the WAN-link upload limit schedule. The start time must be earlier in the day than the end time. The recurrence must not span across multiple days.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/WeeklyRecurrence"
+ },
+ {
+ "$ref": "#/definitions/UploadLimit"
+ }
+ ]
+ },
+ "Time": {
+ "description": "The time of day.",
+ "type": "object",
+ "properties": {
+ "hour": {
+ "description": "The hour element of the time. Allowed values range from 0 (start of the selected day) to 24 (end of the selected day). Hour value 24 cannot be combined with any other minute value but 0.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 24
+ },
+ "minute": {
+ "description": "The minute element of the time. Allowed values are 0 and 30. If not specified, its value defaults to 0.",
+ "type": "integer",
+ "format": "int32",
+ "enum": [
+ 0,
+ 30
+ ],
+ "default": 0,
+ "x-ms-enum": {
+ "name": "Minute",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "hour"
+ ]
+ },
+ "StorageMoverProperties": {
+ "description": "The resource specific properties for the Storage Mover resource.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A description for the Storage Mover."
+ },
+ "provisioningState": {
+ "description": "The provisioning state of this resource.",
+ "$ref": "#/definitions/ProvisioningState",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageMover": {
+ "description": "The Storage Mover resource, which is a container for a group of Agents, Projects, and Endpoints.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/StorageMoverProperties"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData",
+ "description": "Resource system metadata."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "StorageMoverUpdateProperties": {
+ "description": "The resource specific properties for the Storage Mover resource.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A description for the Storage Mover."
+ }
+ }
+ },
+ "StorageMoverUpdateParameters": {
+ "description": "The Storage Mover resource.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/StorageMoverUpdateProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ }
+ },
+ "StorageMoverList": {
+ "description": "List of Storage Movers.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageMover"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Request URL that can be used to query next page of containers. Returned when total number of requested containers exceed maximum page size.",
+ "readOnly": true
+ }
+ }
+ },
+ "EndpointBaseProperties": {
+ "description": "The resource specific properties for the Storage Mover resource.",
+ "type": "object",
+ "discriminator": "endpointType",
+ "properties": {
+ "endpointType": {
+ "description": "The Endpoint resource type.",
+ "$ref": "#/definitions/EndpointType",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "description": {
+ "type": "string",
+ "description": "A description for the Endpoint."
+ },
+ "provisioningState": {
+ "description": "The provisioning state of this resource.",
+ "$ref": "#/definitions/ProvisioningState",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "endpointType"
+ ]
+ },
+ "Endpoint": {
+ "description": "The Endpoint resource, which contains information about file sources and targets.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EndpointBaseProperties"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData",
+ "description": "Resource system metadata."
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "EndpointBaseUpdateProperties": {
+ "description": "The Endpoint resource, which contains information about file sources and targets.",
+ "type": "object",
+ "discriminator": "endpointType",
+ "properties": {
+ "endpointType": {
+ "description": "The Endpoint resource type.",
+ "$ref": "#/definitions/EndpointType",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "description": {
+ "type": "string",
+ "description": "A description for the Endpoint."
+ }
+ },
+ "required": [
+ "endpointType"
+ ]
+ },
+ "EndpointBaseUpdateParameters": {
+ "description": "The Endpoint resource.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EndpointBaseUpdateProperties"
+ }
+ }
+ },
+ "EndpointList": {
+ "description": "List of Endpoints.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Endpoint"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Request URL that can be used to query next page of containers. Returned when total number of requested containers exceed maximum page size.",
+ "readOnly": true
+ }
+ }
+ },
+ "AzureStorageBlobContainerEndpointProperties": {
+ "type": "object",
+ "description": "The properties of Azure Storage blob container endpoint.",
+ "x-ms-discriminator-value": "AzureStorageBlobContainer",
+ "properties": {
+ "storageAccountResourceId": {
+ "description": "The Azure Resource ID of the storage account that is the target destination.",
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts"
+ }
+ ]
+ },
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "blobContainerName": {
+ "description": "The name of the Storage blob container that is the target destination.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ }
+ },
+ "required": [
+ "storageAccountResourceId",
+ "blobContainerName"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/EndpointBaseProperties"
+ }
+ ]
+ },
+ "AzureStorageBlobContainerEndpointUpdateProperties": {
+ "type": "object",
+ "x-ms-discriminator-value": "AzureStorageBlobContainer",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EndpointBaseUpdateProperties"
+ }
+ ]
+ },
+ "NfsMountEndpointProperties": {
+ "type": "object",
+ "description": "The properties of NFS share endpoint.",
+ "x-ms-discriminator-value": "NfsMount",
+ "properties": {
+ "host": {
+ "description": "The host name or IP address of the server exporting the file system.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "nfsVersion": {
+ "description": "The NFS protocol version.",
+ "enum": [
+ "NFSauto",
+ "NFSv3",
+ "NFSv4"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NfsVersion",
+ "modelAsString": true
+ },
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "export": {
+ "description": "The directory being exported from the server.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ }
+ },
+ "required": [
+ "host",
+ "export"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/EndpointBaseProperties"
+ }
+ ]
+ },
+ "NfsMountEndpointUpdateProperties": {
+ "type": "object",
+ "x-ms-discriminator-value": "NfsMount",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EndpointBaseUpdateProperties"
+ }
+ ]
+ },
+ "AzureStorageSmbFileShareEndpointProperties": {
+ "type": "object",
+ "description": "The properties of Azure Storage SMB file share endpoint.",
+ "x-ms-discriminator-value": "AzureStorageSmbFileShare",
+ "properties": {
+ "storageAccountResourceId": {
+ "description": "The Azure Resource ID of the storage account.",
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts"
+ }
+ ]
+ },
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "fileShareName": {
+ "description": "The name of the Azure Storage file share.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ }
+ },
+ "required": [
+ "storageAccountResourceId",
+ "fileShareName"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/EndpointBaseProperties"
+ }
+ ]
+ },
+ "AzureStorageSmbFileShareEndpointUpdateProperties": {
+ "type": "object",
+ "x-ms-discriminator-value": "AzureStorageSmbFileShare",
+ "description": "The properties of Azure Storage SMB file share endpoint to update.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EndpointBaseUpdateProperties"
+ }
+ ]
+ },
+ "SmbMountEndpointProperties": {
+ "type": "object",
+ "description": "The properties of SMB share endpoint.",
+ "x-ms-discriminator-value": "SmbMount",
+ "properties": {
+ "host": {
+ "description": "The host name or IP address of the server exporting the file system.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "shareName": {
+ "description": "The name of the SMB share being exported from the server.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "credentials": {
+ "description": "The Azure Key Vault secret URIs which store the required credentials to access the SMB share.",
+ "$ref": "#/definitions/AzureKeyVaultSmbCredentials"
+ }
+ },
+ "required": [
+ "host",
+ "shareName"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/EndpointBaseProperties"
+ }
+ ]
+ },
+ "SmbMountEndpointUpdateProperties": {
+ "type": "object",
+ "x-ms-discriminator-value": "SmbMount",
+ "description": "The properties of SMB share endpoint to update.",
+ "properties": {
+ "credentials": {
+ "description": "The Azure Key Vault secret URIs which store the required credentials to access the SMB share.",
+ "$ref": "#/definitions/AzureKeyVaultSmbCredentials"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/EndpointBaseUpdateProperties"
+ }
+ ]
+ },
+ "EndpointType": {
+ "description": "The Endpoint resource type.",
+ "enum": [
+ "AzureStorageBlobContainer",
+ "NfsMount",
+ "AzureStorageSmbFileShare",
+ "SmbMount"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EndpointType",
+ "modelAsString": true
+ }
+ },
+ "CredentialType": {
+ "description": "The Credentials type.",
+ "enum": [
+ "AzureKeyVaultSmb"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CredentialType",
+ "modelAsString": true
+ }
+ },
+ "Credentials": {
+ "description": "The Credentials.",
+ "type": "object",
+ "discriminator": "type",
+ "properties": {
+ "type": {
+ "description": "The Credentials type.",
+ "$ref": "#/definitions/CredentialType",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "AzureKeyVaultSmbCredentials": {
+ "description": "The Azure Key Vault secret URIs which store the credentials.",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureKeyVaultSmb",
+ "properties": {
+ "usernameUri": {
+ "description": "The Azure Key Vault secret URI which stores the username. Use empty string to clean-up existing value.",
+ "type": "string"
+ },
+ "passwordUri": {
+ "description": "The Azure Key Vault secret URI which stores the password. Use empty string to clean-up existing value.",
+ "type": "string"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Credentials"
+ }
+ ]
+ },
+ "JobDefinitionProperties": {
+ "description": "Job definition properties.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A description for the Job Definition."
+ },
+ "copyMode": {
+ "type": "string",
+ "description": "Strategy to use for copy.",
+ "x-ms-enum": {
+ "name": "CopyMode",
+ "modelAsString": true
+ },
+ "enum": [
+ "Additive",
+ "Mirror"
+ ]
+ },
+ "sourceName": {
+ "type": "string",
+ "description": "The name of the source Endpoint.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "sourceResourceId": {
+ "type": "string",
+ "description": "Fully qualified resource ID of the source Endpoint.",
+ "readOnly": true
+ },
+ "sourceSubpath": {
+ "type": "string",
+ "description": "The subpath to use when reading from the source Endpoint.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "targetName": {
+ "type": "string",
+ "description": "The name of the target Endpoint.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "targetResourceId": {
+ "type": "string",
+ "description": "Fully qualified resource ID of the target Endpoint.",
+ "readOnly": true
+ },
+ "targetSubpath": {
+ "type": "string",
+ "description": "The subpath to use when writing to the target Endpoint.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "latestJobRunName": {
+ "type": "string",
+ "description": "The name of the Job Run in a non-terminal state, if exists.",
+ "readOnly": true
+ },
+ "latestJobRunResourceId": {
+ "type": "string",
+ "description": "The fully qualified resource ID of the Job Run in a non-terminal state, if exists.",
+ "readOnly": true
+ },
+ "latestJobRunStatus": {
+ "enum": [
+ "Queued",
+ "Started",
+ "Running",
+ "CancelRequested",
+ "Canceling",
+ "Canceled",
+ "Failed",
+ "Succeeded"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobRunStatus",
+ "modelAsString": true
+ },
+ "description": "The current status of the Job Run in a non-terminal state, if exists.",
+ "readOnly": true
+ },
+ "agentName": {
+ "type": "string",
+ "description": "Name of the Agent to assign for new Job Runs of this Job Definition."
+ },
+ "agentResourceId": {
+ "type": "string",
+ "description": "Fully qualified resource id of the Agent to assign for new Job Runs of this Job Definition.",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "The provisioning state of this resource.",
+ "$ref": "#/definitions/ProvisioningState",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "copyMode",
+ "sourceName",
+ "targetName"
+ ]
+ },
+ "JobDefinition": {
+ "description": "The Job Definition resource.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/JobDefinitionProperties"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData",
+ "description": "Resource system metadata."
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "JobDefinitionUpdateProperties": {
+ "description": "Job definition properties.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A description for the Job Definition."
+ },
+ "copyMode": {
+ "type": "string",
+ "description": "Strategy to use for copy.",
+ "x-ms-enum": {
+ "name": "CopyMode",
+ "modelAsString": true
+ },
+ "enum": [
+ "Additive",
+ "Mirror"
+ ]
+ },
+ "agentName": {
+ "type": "string",
+ "description": "Name of the Agent to assign for new Job Runs of this Job Definition."
+ }
+ }
+ },
+ "JobDefinitionUpdateParameters": {
+ "description": "The Job Definition resource.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/JobDefinitionUpdateProperties"
+ }
+ }
+ },
+ "JobDefinitionList": {
+ "description": "List of Job Definitions.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobDefinition"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Request URL that can be used to query next page of containers. Returned when total number of requested containers exceed maximum page size.",
+ "readOnly": true
+ }
+ }
+ },
+ "JobRunError": {
+ "type": "object",
+ "description": "Error type",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code of the given entry."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message of the given entry."
+ },
+ "target": {
+ "type": "string",
+ "description": "Target of the given error entry."
+ }
+ }
+ },
+ "JobRunProperties": {
+ "description": "Job run properties.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "readOnly": true,
+ "enum": [
+ "Queued",
+ "Started",
+ "Running",
+ "CancelRequested",
+ "Canceling",
+ "Canceled",
+ "Failed",
+ "Succeeded",
+ "PausedByBandwidthManagement"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobRunStatus",
+ "modelAsString": true
+ },
+ "description": "The state of the job execution."
+ },
+ "scanStatus": {
+ "readOnly": true,
+ "enum": [
+ "NotStarted",
+ "Scanning",
+ "Completed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobRunScanStatus",
+ "modelAsString": true
+ },
+ "description": "The status of Agent's scanning of source."
+ },
+ "agentName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the Agent assigned to this run."
+ },
+ "agentResourceId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Fully qualified resource id of the Agent assigned to this run."
+ },
+ "executionStartTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time of the run. Null if no Agent reported that the job has started."
+ },
+ "executionEndTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "End time of the run. Null if Agent has not reported that the job has ended."
+ },
+ "lastStatusUpdate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The last updated time of the Job Run.",
+ "readOnly": true
+ },
+ "itemsScanned": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of items scanned so far in source.",
+ "readOnly": true
+ },
+ "itemsExcluded": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of items that will not be transferred, as they are excluded by user configuration.",
+ "readOnly": true
+ },
+ "itemsUnsupported": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of items that will not be transferred, as they are unsupported on target.",
+ "readOnly": true
+ },
+ "itemsNoTransferNeeded": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of items that will not be transferred, as they are already found on target (e.g. mirror mode).",
+ "readOnly": true
+ },
+ "itemsFailed": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of items that were attempted to transfer and failed.",
+ "readOnly": true
+ },
+ "itemsTransferred": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of items successfully transferred to target.",
+ "readOnly": true
+ },
+ "bytesScanned": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Bytes of data scanned so far in source.",
+ "readOnly": true
+ },
+ "bytesExcluded": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Bytes of data that will not be transferred, as they are excluded by user configuration.",
+ "readOnly": true
+ },
+ "bytesUnsupported": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Bytes of data that will not be transferred, as they are unsupported on target.",
+ "readOnly": true
+ },
+ "bytesNoTransferNeeded": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Bytes of data that will not be transferred, as they are already found on target (e.g. mirror mode).",
+ "readOnly": true
+ },
+ "bytesFailed": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Bytes of data that were attempted to transfer and failed.",
+ "readOnly": true
+ },
+ "bytesTransferred": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Bytes of data successfully transferred to target.",
+ "readOnly": true
+ },
+ "sourceName": {
+ "type": "string",
+ "description": "Name of source Endpoint resource. This resource may no longer exist.",
+ "readOnly": true
+ },
+ "sourceResourceId": {
+ "type": "string",
+ "description": "Fully qualified resource id of source Endpoint. This id may no longer exist.",
+ "readOnly": true
+ },
+ "sourceProperties": {
+ "type": "object",
+ "description": "Copy of source Endpoint resource's properties at time of Job Run creation.",
+ "readOnly": true
+ },
+ "targetName": {
+ "type": "string",
+ "description": "Name of target Endpoint resource. This resource may no longer exist.",
+ "readOnly": true
+ },
+ "targetResourceId": {
+ "type": "string",
+ "description": "Fully qualified resource id of of Endpoint. This id may no longer exist.",
+ "readOnly": true
+ },
+ "targetProperties": {
+ "type": "object",
+ "description": "Copy of Endpoint resource's properties at time of Job Run creation.",
+ "readOnly": true
+ },
+ "jobDefinitionProperties": {
+ "type": "object",
+ "description": "Copy of parent Job Definition's properties at time of Job Run creation.",
+ "readOnly": true
+ },
+ "error": {
+ "readOnly": true,
+ "$ref": "#/definitions/JobRunError",
+ "description": "Error details."
+ },
+ "provisioningState": {
+ "description": "The provisioning state of this resource.",
+ "$ref": "#/definitions/ProvisioningState",
+ "readOnly": true
+ }
+ }
+ },
+ "JobRun": {
+ "description": "The Job Run resource.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/JobRunProperties"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData",
+ "description": "Resource system metadata."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "JobRunResourceId": {
+ "description": "Response that identifies a Job Run.",
+ "type": "object",
+ "properties": {
+ "jobRunResourceId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Fully qualified resource id of the Job Run."
+ }
+ }
+ },
+ "JobRunList": {
+ "description": "List of Job Runs.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobRun"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Request URL that can be used to query next page of containers. Returned when total number of requested containers exceed maximum page size.",
+ "readOnly": true
+ }
+ }
+ },
+ "ProjectProperties": {
+ "description": "Project properties.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A description for the Project."
+ },
+ "provisioningState": {
+ "description": "The provisioning state of this resource.",
+ "$ref": "#/definitions/ProvisioningState",
+ "readOnly": true
+ }
+ }
+ },
+ "Project": {
+ "description": "The Project resource.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ProjectProperties"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData",
+ "description": "Resource system metadata."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "ProjectUpdateProperties": {
+ "description": "Project properties.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A description for the Project."
+ }
+ }
+ },
+ "ProjectUpdateParameters": {
+ "description": "The Project resource.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ProjectUpdateProperties"
+ }
+ }
+ },
+ "ProjectList": {
+ "description": "List of Project resources.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Project"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Request URL that can be used to query next page of containers. Returned when total number of requested containers exceed maximum page size.",
+ "readOnly": true
+ }
+ }
+ },
+ "ProvisioningState": {
+ "description": "The provisioning state of a resource.",
+ "enum": [
+ "Succeeded",
+ "Canceled",
+ "Failed",
+ "Deleting"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ }
+ },
+ "parameters": {
+ "AgentNameParameter": {
+ "name": "agentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Agent resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "StorageMoverNameParameter": {
+ "name": "storageMoverName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Storage Mover resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "EndpointNameParameter": {
+ "name": "endpointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Endpoint resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "JobDefinitionNameParameter": {
+ "name": "jobDefinitionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Job Definition resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "JobRunNameParameter": {
+ "name": "jobRunName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Job Run resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "ProjectNameParameter": {
+ "name": "projectName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Project resource.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/storagemover/resource-manager/readme.md b/specification/storagemover/resource-manager/readme.md
index dd6cc524d258..ecff19c7ab9d 100644
--- a/specification/storagemover/resource-manager/readme.md
+++ b/specification/storagemover/resource-manager/readme.md
@@ -27,18 +27,28 @@ These are the global settings for the storagemover.
``` yaml
openapi-type: arm
openapi-subtype: providerHub
-tag: package-2023-10
+tag: package-2024-07
```
+### Tag: package-2024-07
+
+These settings apply only when `--tag=package-2024-07` is specified on the command line.
+
+```yaml $(tag) == 'package-2024-07'
+input-file:
+ - Microsoft.StorageMover/stable/2024-07-01/storagemover.json
+```
+
### Tag: package-2023-10
These settings apply only when `--tag=package-2023-10` is specified on the command line.
-```yaml $(tag) == 'package-2023-10'
+``` yaml $(tag) == 'package-2023-10'
input-file:
- Microsoft.StorageMover/stable/2023-10-01/storagemover.json
```
+
### Tag: package-preview-2023-07
These settings apply only when `--tag=package-preview-2023-07` is specified on the command line.
From f45a76fc39f033947ed12faf4b6416e1e19724cd Mon Sep 17 00:00:00 2001
From: Ayush Gupta - SQL <166794972+guptaayush007@users.noreply.github.com>
Date: Mon, 10 Jun 2024 13:20:39 +0530
Subject: [PATCH 137/343] Downgraded the version of ManagedInstances to
generate .Net SDK for sql/resource manager (#29316)
* Downgraded the version of ManagedInstances and DistributedAvailabilityGroups Api due to .Net Sdk build failures caused by error : MembersMustExist in these API's
* restored the version of ManagedInstance Api as previous
* Update the version of ManagedInstance APi to previous version 22-08-01 as having build erros while building .net sdk with error 'implementation but it does exist in the contract.'
---------
Co-authored-by: Ji Wang
---
specification/sql/resource-manager/readme.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/specification/sql/resource-manager/readme.md b/specification/sql/resource-manager/readme.md
index 2e84f8a3645e..99630ad97c3d 100644
--- a/specification/sql/resource-manager/readme.md
+++ b/specification/sql/resource-manager/readme.md
@@ -1415,6 +1415,7 @@ input-file:
- ./Microsoft.Sql/preview/2023-02-01-preview/Databases.json
- ./Microsoft.Sql/preview/2022-08-01-preview/ElasticPools.json
- ./Microsoft.Sql/preview/2022-08-01-preview/ManagedDatabases.json
+- ./Microsoft.Sql/preview/2022-08-01-preview/ManagedInstances.json
- ./Microsoft.Sql/preview/2022-08-01-preview/ManagedLedgerDigestUploads.json
- ./Microsoft.Sql/preview/2022-08-01-preview/RecoverableDatabases.json
- ./Microsoft.Sql/preview/2022-08-01-preview/RestorableDroppedDatabases.json
@@ -1439,7 +1440,6 @@ input-file:
- ./Microsoft.Sql/preview/2023-05-01-preview/InstancePools.json
- ./Microsoft.Sql/preview/2023-05-01-preview/LongTermRetentionBackups.json
- ./Microsoft.Sql/preview/2023-05-01-preview/LongTermRetentionPolicies.json
-- ./Microsoft.Sql/preview/2023-05-01-preview/ManagedInstances.json
- ./Microsoft.Sql/preview/2023-05-01-preview/Servers.json
- ./Microsoft.Sql/preview/2023-05-01-preview/ReplicationLinks.json
From 4478a53653c41d21cad9f560106177b6d139eed4 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 10 Jun 2024 07:59:52 -0700
Subject: [PATCH 138/343] Support image input in chat completions
---
specification/ai/ModelClient/client.tsp | 5 +
.../GetChatCompletions_MaximumSet_Gen.json | 26 ++---
.../GetChatCompletions_MinimumSet_Gen.json | 16 +--
.../GetEmbeddings_MaximumSet_Gen.json | 18 ++--
.../GetEmbeddings_MinimumSet_Gen.json | 16 +--
.../GetImageEmbeddings_MaximumSet_Gen.json | 18 ++--
.../GetImageEmbeddings_MinimumSet_Gen.json | 16 +--
.../GetModelInfo_MaximumSet_Gen.json | 4 +-
.../GetModelInfo_MinimumSet_Gen.json | 4 +-
.../ModelClient/models/chat_completions.tsp | 61 ++++++++++-
specification/ai/ModelClient/tspconfig.yaml | 2 +-
.../GetChatCompletions_MaximumSet_Gen.json | 26 ++---
.../GetChatCompletions_MinimumSet_Gen.json | 16 +--
.../GetEmbeddings_MaximumSet_Gen.json | 18 ++--
.../GetEmbeddings_MinimumSet_Gen.json | 16 +--
.../GetImageEmbeddings_MaximumSet_Gen.json | 18 ++--
.../GetImageEmbeddings_MinimumSet_Gen.json | 16 +--
.../examples/GetModelInfo_MaximumSet_Gen.json | 4 +-
.../examples/GetModelInfo_MinimumSet_Gen.json | 4 +-
.../preview/2024-05-01-preview/openapi.json | 102 +++++++++++++++++-
20 files changed, 285 insertions(+), 121 deletions(-)
diff --git a/specification/ai/ModelClient/client.tsp b/specification/ai/ModelClient/client.tsp
index 0d6edea81614..ecfb31e4d8e8 100644
--- a/specification/ai/ModelClient/client.tsp
+++ b/specification/ai/ModelClient/client.tsp
@@ -48,6 +48,11 @@ namespace Customizations; // The actual name here doesn't matter and is here for
@@access(ModelClient.ModelInfo, Access.public);
@@access(ModelClient.StreamingChatChoiceUpdate, Access.public, "python");
@@access(ModelClient.StreamingChatCompletionsUpdate, Access.public, "python");
+@@access(ModelClient.ChatMessageContentItem, Access.public);
+@@access(ModelClient.ChatMessageTextContentItem, Access.public);
+@@access(ModelClient.ChatMessageImageContentItem, Access.public);
+@@access(ModelClient.ChatMessageImageUrl, Access.public);
+@@access(ModelClient.ChatMessageImageDetailLevel, Access.public);
// The operators need to be hidden, since we hand-write the public versions of those to
// 1. Add chat completions streaming (to getChatCompletions operator)
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MaximumSet_Gen.json
index ea6505f21888..b70571ec9a23 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -10,46 +10,46 @@
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -1,
+ "frequency_penalty": 1,
"stream": true,
- "presence_penalty": 1,
+ "presence_penalty": 0,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
"response_format": "text",
"stop": [
- "xvqcawyltsgxp"
+ "ftfcfmwymaiaxq"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 7
+ "seed": 28
}
},
"responses": {
"200": {
"body": {
- "id": "j",
- "created": 8,
- "model": "seescrvpjgzsypchxgxfywnhaqo",
+ "id": "lucg",
+ "created": 11,
+ "model": "tsqex",
"usage": {
- "completion_tokens": 4,
- "prompt_tokens": 11,
- "total_tokens": 29
+ "completion_tokens": 10,
+ "prompt_tokens": 14,
+ "total_tokens": 7
},
"choices": [
{
- "index": 22,
+ "index": 4,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "mypcazxgotv",
+ "content": "xtrirgreezabshxirfhi",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "rwnxvsfequsocsyxlj"
+ "id": "kicdohgtfw"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MinimumSet_Gen.json
index a316ee0bec64..acac41858e43 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "j",
- "created": 8,
- "model": "seescrvpjgzsypchxgxfywnhaqo",
+ "id": "lucg",
+ "created": 11,
+ "model": "tsqex",
"usage": {
- "completion_tokens": 4,
- "prompt_tokens": 11,
- "total_tokens": 29
+ "completion_tokens": 10,
+ "prompt_tokens": 14,
+ "total_tokens": 7
},
"choices": [
{
- "index": 22,
+ "index": 4,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "mypcazxgotv"
+ "content": "xtrirgreezabshxirfhi"
}
}
]
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MaximumSet_Gen.json
index fb19a5770dfb..c5dc5f119751 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -6,9 +6,9 @@
"unknown-parameters": "error",
"body": {
"input": [
- "lldxiwoooquzs"
+ "udxqxeltsnnnojgwpppb"
],
- "dimensions": 17,
+ "dimensions": 1,
"encoding_format": "base64",
"input_type": "text"
}
@@ -16,21 +16,21 @@
"responses": {
"200": {
"body": {
- "id": "bosctybzvexfttpdci",
+ "id": "fwajvrkzedj",
"data": [
{
"embedding": [
- 22
+ 3
],
- "index": 10
+ "index": 15
}
],
"usage": {
- "input_tokens": 12,
- "prompt_tokens": 6,
- "total_tokens": 12
+ "input_tokens": 4,
+ "prompt_tokens": 27,
+ "total_tokens": 14
},
- "model": "qwtvuoqzjbkybpijoedy"
+ "model": "rzfpwylkkwnqoerjogdqgf"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MinimumSet_Gen.json
index 472a47e314a4..64a044a5ed1b 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,28 +5,28 @@
"api-version": "2024-05-01-preview",
"body": {
"input": [
- "ykddkctmxmqgueem"
+ "abhxkxorcejjnfwidhhbf"
]
}
},
"responses": {
"200": {
"body": {
- "id": "bosctybzvexfttpdci",
+ "id": "fwajvrkzedj",
"data": [
{
"embedding": [
- 22
+ 3
],
- "index": 10
+ "index": 15
}
],
"usage": {
- "input_tokens": 12,
- "prompt_tokens": 6,
- "total_tokens": 12
+ "input_tokens": 4,
+ "prompt_tokens": 27,
+ "total_tokens": 14
},
- "model": "qwtvuoqzjbkybpijoedy"
+ "model": "rzfpwylkkwnqoerjogdqgf"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MaximumSet_Gen.json
index a21f2d325348..d691d32bd4e3 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MaximumSet_Gen.json
@@ -7,8 +7,8 @@
"body": {
"input": [
{
- "image": "nqywwlco",
- "text": "lwdsmegnaxqwwayjp"
+ "image": "jwbxrzdcafrxmhrztwepxmsrgys",
+ "text": "tmsxeneoqsimdpezbblrmvscvee"
}
],
"dimensions": 16,
@@ -19,21 +19,21 @@
"responses": {
"200": {
"body": {
- "id": "bosctybzvexfttpdci",
+ "id": "fwajvrkzedj",
"data": [
{
"embedding": [
- 22
+ 3
],
- "index": 10
+ "index": 15
}
],
"usage": {
- "input_tokens": 12,
- "prompt_tokens": 6,
- "total_tokens": 12
+ "input_tokens": 4,
+ "prompt_tokens": 27,
+ "total_tokens": 14
},
- "model": "qwtvuoqzjbkybpijoedy"
+ "model": "rzfpwylkkwnqoerjogdqgf"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MinimumSet_Gen.json
index 9743a7f692bd..21729c14e1b3 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MinimumSet_Gen.json
@@ -6,7 +6,7 @@
"body": {
"input": [
{
- "image": "nqywwlco"
+ "image": "jwbxrzdcafrxmhrztwepxmsrgys"
}
]
}
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "bosctybzvexfttpdci",
+ "id": "fwajvrkzedj",
"data": [
{
"embedding": [
- 22
+ 3
],
- "index": 10
+ "index": 15
}
],
"usage": {
- "input_tokens": 12,
- "prompt_tokens": 6,
- "total_tokens": 12
+ "input_tokens": 4,
+ "prompt_tokens": 27,
+ "total_tokens": 14
},
- "model": "qwtvuoqzjbkybpijoedy"
+ "model": "rzfpwylkkwnqoerjogdqgf"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MaximumSet_Gen.json
index 9b18173d4325..b4dac1c13edc 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MaximumSet_Gen.json
@@ -7,9 +7,9 @@
"responses": {
"200": {
"body": {
- "model_name": "pvjlbwovpsotsvsioii",
+ "model_name": "gqhcghuvgajmrjva",
"model_type": "embeddings",
- "model_provider_name": "hjprgnvy"
+ "model_provider_name": "fqkylpirzwbklhcbgc"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MinimumSet_Gen.json
index bb62f42b1741..eff3b0646089 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MinimumSet_Gen.json
@@ -7,9 +7,9 @@
"responses": {
"200": {
"body": {
- "model_name": "pvjlbwovpsotsvsioii",
+ "model_name": "gqhcghuvgajmrjva",
"model_type": "embeddings",
- "model_provider_name": "hjprgnvy"
+ "model_provider_name": "fqkylpirzwbklhcbgc"
}
}
}
diff --git a/specification/ai/ModelClient/models/chat_completions.tsp b/specification/ai/ModelClient/models/chat_completions.tsp
index 479742cc42a7..571968d27549 100644
--- a/specification/ai/ModelClient/models/chat_completions.tsp
+++ b/specification/ai/ModelClient/models/chat_completions.tsp
@@ -294,8 +294,9 @@ model ChatRequestUserMessage extends ChatRequestMessage {
@doc("The chat role associated with this message, which is always 'user' for user messages.")
role: ChatRole.user;
+ #suppress "@azure-tools/typespec-autorest/union-unsupported" "External API shape is defined in OpenAPI 3.0 as oneOf."
@doc("The contents of the user message, with available input types varying by selected model.")
- content: string;
+ content: string | ChatMessageContentItem[];
}
@doc("A request chat message representing response or action from the assistant.")
@@ -473,3 +474,61 @@ model FunctionCall {
""")
arguments: string;
}
+
+@doc("An abstract representation of a structured content item within a chat message.")
+@discriminator("type")
+model ChatMessageContentItem {
+ @doc("The discriminated object type.")
+ type: string;
+}
+
+@doc("A structured chat content item containing plain text.")
+model ChatMessageTextContentItem extends ChatMessageContentItem {
+ @doc("The discriminated object type: always 'text' for this type.")
+ type: "text";
+
+ @doc("The content of the message.")
+ text: string;
+}
+
+@doc("A structured chat content item containing an image reference.")
+model ChatMessageImageContentItem extends ChatMessageContentItem {
+ @doc("The discriminated object type: always 'image_url' for this type.")
+ type: "image_url";
+
+ @doc("An internet location, which must be accessible to the model,from which the image may be retrieved.")
+ @encodedName("application/json", "image_url")
+ imageUrl: ChatMessageImageUrl;
+}
+
+@doc("An internet location from which the model may retrieve an image.")
+model ChatMessageImageUrl {
+ @doc("The URL of the image.")
+ url: url;
+
+ @doc("""
+ The evaluation quality setting to use, which controls relative prioritization of speed, token consumption, and
+ accuracy.
+ """)
+ detail?: ChatMessageImageDetailLevel;
+}
+
+@doc("A representation of the possible image detail levels for image-based chat completions message content.")
+union ChatMessageImageDetailLevel {
+ string,
+
+ @doc("Specifies that the model should determine which detail level to apply using heuristics like image size.")
+ auto: "auto",
+
+ @doc("""
+ Specifies that image evaluation should be constrained to the 'low-res' model that may be faster and consume fewer
+ tokens but may also be less accurate for highly detailed images.
+ """)
+ low: "low",
+
+ @doc("""
+ Specifies that image evaluation should enable the 'high-res' model that may be more accurate for highly detailed
+ images but may also be slower and consume more tokens.
+ """)
+ high: "high",
+}
diff --git a/specification/ai/ModelClient/tspconfig.yaml b/specification/ai/ModelClient/tspconfig.yaml
index 8c7c4d75c64e..4524b2bcd7f4 100644
--- a/specification/ai/ModelClient/tspconfig.yaml
+++ b/specification/ai/ModelClient/tspconfig.yaml
@@ -8,7 +8,7 @@ emit:
- "@azure-tools/typespec-autorest"
linter:
extends:
- - "@azure-tools/typespec-azure-core/all"
+ - "@azure-tools/typespec-azure-rulesets/data-plane"
disable:
"@azure-tools/typespec-azure-core/casing-style": "Disabled since JSON payload in REST API does not conform to Azure guidelines with regards to casing"
options:
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index ea6505f21888..b70571ec9a23 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -10,46 +10,46 @@
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -1,
+ "frequency_penalty": 1,
"stream": true,
- "presence_penalty": 1,
+ "presence_penalty": 0,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
"response_format": "text",
"stop": [
- "xvqcawyltsgxp"
+ "ftfcfmwymaiaxq"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 7
+ "seed": 28
}
},
"responses": {
"200": {
"body": {
- "id": "j",
- "created": 8,
- "model": "seescrvpjgzsypchxgxfywnhaqo",
+ "id": "lucg",
+ "created": 11,
+ "model": "tsqex",
"usage": {
- "completion_tokens": 4,
- "prompt_tokens": 11,
- "total_tokens": 29
+ "completion_tokens": 10,
+ "prompt_tokens": 14,
+ "total_tokens": 7
},
"choices": [
{
- "index": 22,
+ "index": 4,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "mypcazxgotv",
+ "content": "xtrirgreezabshxirfhi",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "rwnxvsfequsocsyxlj"
+ "id": "kicdohgtfw"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index a316ee0bec64..acac41858e43 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "j",
- "created": 8,
- "model": "seescrvpjgzsypchxgxfywnhaqo",
+ "id": "lucg",
+ "created": 11,
+ "model": "tsqex",
"usage": {
- "completion_tokens": 4,
- "prompt_tokens": 11,
- "total_tokens": 29
+ "completion_tokens": 10,
+ "prompt_tokens": 14,
+ "total_tokens": 7
},
"choices": [
{
- "index": 22,
+ "index": 4,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "mypcazxgotv"
+ "content": "xtrirgreezabshxirfhi"
}
}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index fb19a5770dfb..c5dc5f119751 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -6,9 +6,9 @@
"unknown-parameters": "error",
"body": {
"input": [
- "lldxiwoooquzs"
+ "udxqxeltsnnnojgwpppb"
],
- "dimensions": 17,
+ "dimensions": 1,
"encoding_format": "base64",
"input_type": "text"
}
@@ -16,21 +16,21 @@
"responses": {
"200": {
"body": {
- "id": "bosctybzvexfttpdci",
+ "id": "fwajvrkzedj",
"data": [
{
"embedding": [
- 22
+ 3
],
- "index": 10
+ "index": 15
}
],
"usage": {
- "input_tokens": 12,
- "prompt_tokens": 6,
- "total_tokens": 12
+ "input_tokens": 4,
+ "prompt_tokens": 27,
+ "total_tokens": 14
},
- "model": "qwtvuoqzjbkybpijoedy"
+ "model": "rzfpwylkkwnqoerjogdqgf"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index 472a47e314a4..64a044a5ed1b 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,28 +5,28 @@
"api-version": "2024-05-01-preview",
"body": {
"input": [
- "ykddkctmxmqgueem"
+ "abhxkxorcejjnfwidhhbf"
]
}
},
"responses": {
"200": {
"body": {
- "id": "bosctybzvexfttpdci",
+ "id": "fwajvrkzedj",
"data": [
{
"embedding": [
- 22
+ 3
],
- "index": 10
+ "index": 15
}
],
"usage": {
- "input_tokens": 12,
- "prompt_tokens": 6,
- "total_tokens": 12
+ "input_tokens": 4,
+ "prompt_tokens": 27,
+ "total_tokens": 14
},
- "model": "qwtvuoqzjbkybpijoedy"
+ "model": "rzfpwylkkwnqoerjogdqgf"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MaximumSet_Gen.json
index a21f2d325348..d691d32bd4e3 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MaximumSet_Gen.json
@@ -7,8 +7,8 @@
"body": {
"input": [
{
- "image": "nqywwlco",
- "text": "lwdsmegnaxqwwayjp"
+ "image": "jwbxrzdcafrxmhrztwepxmsrgys",
+ "text": "tmsxeneoqsimdpezbblrmvscvee"
}
],
"dimensions": 16,
@@ -19,21 +19,21 @@
"responses": {
"200": {
"body": {
- "id": "bosctybzvexfttpdci",
+ "id": "fwajvrkzedj",
"data": [
{
"embedding": [
- 22
+ 3
],
- "index": 10
+ "index": 15
}
],
"usage": {
- "input_tokens": 12,
- "prompt_tokens": 6,
- "total_tokens": 12
+ "input_tokens": 4,
+ "prompt_tokens": 27,
+ "total_tokens": 14
},
- "model": "qwtvuoqzjbkybpijoedy"
+ "model": "rzfpwylkkwnqoerjogdqgf"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MinimumSet_Gen.json
index 9743a7f692bd..21729c14e1b3 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MinimumSet_Gen.json
@@ -6,7 +6,7 @@
"body": {
"input": [
{
- "image": "nqywwlco"
+ "image": "jwbxrzdcafrxmhrztwepxmsrgys"
}
]
}
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "bosctybzvexfttpdci",
+ "id": "fwajvrkzedj",
"data": [
{
"embedding": [
- 22
+ 3
],
- "index": 10
+ "index": 15
}
],
"usage": {
- "input_tokens": 12,
- "prompt_tokens": 6,
- "total_tokens": 12
+ "input_tokens": 4,
+ "prompt_tokens": 27,
+ "total_tokens": 14
},
- "model": "qwtvuoqzjbkybpijoedy"
+ "model": "rzfpwylkkwnqoerjogdqgf"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
index 9b18173d4325..b4dac1c13edc 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
@@ -7,9 +7,9 @@
"responses": {
"200": {
"body": {
- "model_name": "pvjlbwovpsotsvsioii",
+ "model_name": "gqhcghuvgajmrjva",
"model_type": "embeddings",
- "model_provider_name": "hjprgnvy"
+ "model_provider_name": "fqkylpirzwbklhcbgc"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
index bb62f42b1741..eff3b0646089 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
@@ -7,9 +7,9 @@
"responses": {
"200": {
"body": {
- "model_name": "pvjlbwovpsotsvsioii",
+ "model_name": "gqhcghuvgajmrjva",
"model_type": "embeddings",
- "model_provider_name": "hjprgnvy"
+ "model_provider_name": "fqkylpirzwbklhcbgc"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/openapi.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/openapi.json
index 530b4b29bafa..e7a769627aa4 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/openapi.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/openapi.json
@@ -754,6 +754,107 @@
]
}
},
+ "ChatMessageContentItem": {
+ "type": "object",
+ "description": "An abstract representation of a structured content item within a chat message.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The discriminated object type."
+ }
+ },
+ "discriminator": "type",
+ "required": [
+ "type"
+ ]
+ },
+ "ChatMessageImageContentItem": {
+ "type": "object",
+ "description": "A structured chat content item containing an image reference.",
+ "properties": {
+ "image_url": {
+ "$ref": "#/definitions/ChatMessageImageUrl",
+ "description": "An internet location, which must be accessible to the model,from which the image may be retrieved.",
+ "x-ms-client-name": "imageUrl"
+ }
+ },
+ "required": [
+ "image_url"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatMessageContentItem"
+ }
+ ],
+ "x-ms-discriminator-value": "image_url"
+ },
+ "ChatMessageImageDetailLevel": {
+ "type": "string",
+ "description": "A representation of the possible image detail levels for image-based chat completions message content.",
+ "enum": [
+ "auto",
+ "low",
+ "high"
+ ],
+ "x-ms-enum": {
+ "name": "ChatMessageImageDetailLevel",
+ "modelAsString": true,
+ "values": [
+ {
+ "name": "auto",
+ "value": "auto",
+ "description": "Specifies that the model should determine which detail level to apply using heuristics like image size."
+ },
+ {
+ "name": "low",
+ "value": "low",
+ "description": "Specifies that image evaluation should be constrained to the 'low-res' model that may be faster and consume fewer\ntokens but may also be less accurate for highly detailed images."
+ },
+ {
+ "name": "high",
+ "value": "high",
+ "description": "Specifies that image evaluation should enable the 'high-res' model that may be more accurate for highly detailed\nimages but may also be slower and consume more tokens."
+ }
+ ]
+ }
+ },
+ "ChatMessageImageUrl": {
+ "type": "object",
+ "description": "An internet location from which the model may retrieve an image.",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL of the image."
+ },
+ "detail": {
+ "$ref": "#/definitions/ChatMessageImageDetailLevel",
+ "description": "The evaluation quality setting to use, which controls relative prioritization of speed, token consumption, and\naccuracy."
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "ChatMessageTextContentItem": {
+ "type": "object",
+ "description": "A structured chat content item containing plain text.",
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "The content of the message."
+ }
+ },
+ "required": [
+ "text"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChatMessageContentItem"
+ }
+ ],
+ "x-ms-discriminator-value": "text"
+ },
"ChatRequestAssistantMessage": {
"type": "object",
"description": "A request chat message representing response or action from the assistant.",
@@ -843,7 +944,6 @@
"description": "A request chat message representing user input to the assistant.",
"properties": {
"content": {
- "type": "string",
"description": "The contents of the user message, with available input types varying by selected model."
}
},
From 1e69395f5faeb9916a3ae88c7dfd4d508ac8e50c Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 10 Jun 2024 11:20:08 -0700
Subject: [PATCH 139/343] limit scope of text and image embedding clients to
Python only
---
specification/ai/ModelClient/client.tsp | 17 +++++++-------
.../GetChatCompletions_MaximumSet_Gen.json | 22 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 14 ++++++------
.../GetEmbeddings_MaximumSet_Gen.json | 18 +++++++--------
.../GetEmbeddings_MinimumSet_Gen.json | 16 +++++++-------
.../GetImageEmbeddings_MaximumSet_Gen.json | 20 ++++++++---------
.../GetImageEmbeddings_MinimumSet_Gen.json | 16 +++++++-------
.../GetModelInfo_MaximumSet_Gen.json | 4 ++--
.../GetModelInfo_MinimumSet_Gen.json | 4 ++--
.../GetChatCompletions_MaximumSet_Gen.json | 22 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 14 ++++++------
.../GetEmbeddings_MaximumSet_Gen.json | 18 +++++++--------
.../GetEmbeddings_MinimumSet_Gen.json | 16 +++++++-------
.../GetImageEmbeddings_MaximumSet_Gen.json | 20 ++++++++---------
.../GetImageEmbeddings_MinimumSet_Gen.json | 16 +++++++-------
.../examples/GetModelInfo_MaximumSet_Gen.json | 4 ++--
.../examples/GetModelInfo_MinimumSet_Gen.json | 4 ++--
17 files changed, 122 insertions(+), 123 deletions(-)
diff --git a/specification/ai/ModelClient/client.tsp b/specification/ai/ModelClient/client.tsp
index ecfb31e4d8e8..0a09a4560473 100644
--- a/specification/ai/ModelClient/client.tsp
+++ b/specification/ai/ModelClient/client.tsp
@@ -8,15 +8,14 @@ using TypeSpec.Versioning;
@useDependency(ModelClient.Versions.v2024_05_01_Preview)
namespace Customizations; // The actual name here doesn't matter and is here for organization purposes only
-// These models are used by the hand-written operator methods.
-// We need to declare their usage and public access, otherwise they won't be emited in the generated code.
-@@usage(ModelClient.StreamingChatChoiceUpdate, Usage.output);
+// Are these needed?
@@usage(ModelClient.ChatCompletions, Usage.output);
-@@usage(ModelClient.StreamingChatCompletionsUpdate, Usage.output);
@@usage(ModelClient.ModelInfo, Usage.output);
+@@usage(ModelClient.StreamingChatChoiceUpdate, Usage.output);
+@@usage(ModelClient.StreamingChatCompletionsUpdate, Usage.output);
-// Since we made all operator methods internal, we need to expliclty say we still want the models they use
-// to be public.
+// Since we made all operator methods internal, we need to expliclty
+// say we still want the models they use to be public.
@@access(ModelClient.ChatChoice, Access.public);
@@access(ModelClient.ChatCompletions, Access.public);
@@access(ModelClient.ChatCompletionsFunctionToolCall, Access.public);
@@ -57,7 +56,7 @@ namespace Customizations; // The actual name here doesn't matter and is here for
// The operators need to be hidden, since we hand-write the public versions of those to
// 1. Add chat completions streaming (to getChatCompletions operator)
// 2. Add hyper-params (to getChatCompletions/Embeddings/ImageEmbeddings, all clients)
-// 3. Cache model info (to getModelInfo, all clients)
+// 3. Cache model info (to getModelInfo, all clients, Python only)
@@access(ModelClient.getChatCompletions, Access.internal, "python");
@@access(ModelClient.getEmbeddings, Access.internal, "python");
@@access(ModelClient.getImageEmbeddings, Access.internal, "python");
@@ -75,7 +74,7 @@ interface Client1 {
@client({
name: "EmbeddingsClient",
service: ModelClient,
-})
+}, "python")
interface Client2 {
embed is ModelClient.getEmbeddings;
getModelInfo is ModelClient.getModelInfo;
@@ -84,7 +83,7 @@ interface Client2 {
@client({
name: "ImageEmbeddingsClient",
service: ModelClient,
-})
+}, "python")
interface Client3 {
embed is ModelClient.getImageEmbeddings;
getModelInfo is ModelClient.getModelInfo;
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MaximumSet_Gen.json
index b70571ec9a23..cc91bbf107f9 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -10,7 +10,7 @@
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": 1,
+ "frequency_penalty": -2,
"stream": true,
"presence_penalty": 0,
"temperature": 0,
@@ -18,38 +18,38 @@
"max_tokens": 0,
"response_format": "text",
"stop": [
- "ftfcfmwymaiaxq"
+ "jsgknsbxaqse"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 28
+ "seed": 16
}
},
"responses": {
"200": {
"body": {
- "id": "lucg",
- "created": 11,
- "model": "tsqex",
+ "id": "vttvkvwbbvgjtqphyswtfjq",
+ "created": 12,
+ "model": "yyxicqgwvohxtfgwaymlypcyuyskgl",
"usage": {
- "completion_tokens": 10,
+ "completion_tokens": 19,
"prompt_tokens": 14,
- "total_tokens": 7
+ "total_tokens": 16
},
"choices": [
{
- "index": 4,
+ "index": 1,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "xtrirgreezabshxirfhi",
+ "content": "vjwamdxrsbqojpolqr",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "kicdohgtfw"
+ "id": "pmmdjgalvahbkafjqir"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MinimumSet_Gen.json
index acac41858e43..9c70badfd10d 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "lucg",
- "created": 11,
- "model": "tsqex",
+ "id": "vttvkvwbbvgjtqphyswtfjq",
+ "created": 12,
+ "model": "yyxicqgwvohxtfgwaymlypcyuyskgl",
"usage": {
- "completion_tokens": 10,
+ "completion_tokens": 19,
"prompt_tokens": 14,
- "total_tokens": 7
+ "total_tokens": 16
},
"choices": [
{
- "index": 4,
+ "index": 1,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "xtrirgreezabshxirfhi"
+ "content": "vjwamdxrsbqojpolqr"
}
}
]
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MaximumSet_Gen.json
index c5dc5f119751..e88b306bdc19 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -6,9 +6,9 @@
"unknown-parameters": "error",
"body": {
"input": [
- "udxqxeltsnnnojgwpppb"
+ "uwfwjjkuc"
],
- "dimensions": 1,
+ "dimensions": 20,
"encoding_format": "base64",
"input_type": "text"
}
@@ -16,21 +16,21 @@
"responses": {
"200": {
"body": {
- "id": "fwajvrkzedj",
+ "id": "vjtifrodzwydvynddmbudnno",
"data": [
{
"embedding": [
- 3
+ 16
],
- "index": 15
+ "index": 1
}
],
"usage": {
- "input_tokens": 4,
- "prompt_tokens": 27,
- "total_tokens": 14
+ "input_tokens": 20,
+ "prompt_tokens": 28,
+ "total_tokens": 2
},
- "model": "rzfpwylkkwnqoerjogdqgf"
+ "model": "obwfxvadcvvziooogpswzqkn"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MinimumSet_Gen.json
index 64a044a5ed1b..7d15e7c1a297 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,28 +5,28 @@
"api-version": "2024-05-01-preview",
"body": {
"input": [
- "abhxkxorcejjnfwidhhbf"
+ "ujqrjllpyke"
]
}
},
"responses": {
"200": {
"body": {
- "id": "fwajvrkzedj",
+ "id": "vjtifrodzwydvynddmbudnno",
"data": [
{
"embedding": [
- 3
+ 16
],
- "index": 15
+ "index": 1
}
],
"usage": {
- "input_tokens": 4,
- "prompt_tokens": 27,
- "total_tokens": 14
+ "input_tokens": 20,
+ "prompt_tokens": 28,
+ "total_tokens": 2
},
- "model": "rzfpwylkkwnqoerjogdqgf"
+ "model": "obwfxvadcvvziooogpswzqkn"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MaximumSet_Gen.json
index d691d32bd4e3..1e1cfdef0d20 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MaximumSet_Gen.json
@@ -7,11 +7,11 @@
"body": {
"input": [
{
- "image": "jwbxrzdcafrxmhrztwepxmsrgys",
- "text": "tmsxeneoqsimdpezbblrmvscvee"
+ "image": "rlwzmtmuitzvs",
+ "text": "htjxmfwdiw"
}
],
- "dimensions": 16,
+ "dimensions": 26,
"encoding_format": "base64",
"input_type": "text"
}
@@ -19,21 +19,21 @@
"responses": {
"200": {
"body": {
- "id": "fwajvrkzedj",
+ "id": "vjtifrodzwydvynddmbudnno",
"data": [
{
"embedding": [
- 3
+ 16
],
- "index": 15
+ "index": 1
}
],
"usage": {
- "input_tokens": 4,
- "prompt_tokens": 27,
- "total_tokens": 14
+ "input_tokens": 20,
+ "prompt_tokens": 28,
+ "total_tokens": 2
},
- "model": "rzfpwylkkwnqoerjogdqgf"
+ "model": "obwfxvadcvvziooogpswzqkn"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MinimumSet_Gen.json
index 21729c14e1b3..35b045e1a21e 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MinimumSet_Gen.json
@@ -6,7 +6,7 @@
"body": {
"input": [
{
- "image": "jwbxrzdcafrxmhrztwepxmsrgys"
+ "image": "rlwzmtmuitzvs"
}
]
}
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "fwajvrkzedj",
+ "id": "vjtifrodzwydvynddmbudnno",
"data": [
{
"embedding": [
- 3
+ 16
],
- "index": 15
+ "index": 1
}
],
"usage": {
- "input_tokens": 4,
- "prompt_tokens": 27,
- "total_tokens": 14
+ "input_tokens": 20,
+ "prompt_tokens": 28,
+ "total_tokens": 2
},
- "model": "rzfpwylkkwnqoerjogdqgf"
+ "model": "obwfxvadcvvziooogpswzqkn"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MaximumSet_Gen.json
index b4dac1c13edc..ae964061c70f 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MaximumSet_Gen.json
@@ -7,9 +7,9 @@
"responses": {
"200": {
"body": {
- "model_name": "gqhcghuvgajmrjva",
+ "model_name": "uvbxltprmh",
"model_type": "embeddings",
- "model_provider_name": "fqkylpirzwbklhcbgc"
+ "model_provider_name": "uuklhgbngggjryjphasqjiyk"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MinimumSet_Gen.json
index eff3b0646089..70ef42df2ba4 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MinimumSet_Gen.json
@@ -7,9 +7,9 @@
"responses": {
"200": {
"body": {
- "model_name": "gqhcghuvgajmrjva",
+ "model_name": "uvbxltprmh",
"model_type": "embeddings",
- "model_provider_name": "fqkylpirzwbklhcbgc"
+ "model_provider_name": "uuklhgbngggjryjphasqjiyk"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index b70571ec9a23..cc91bbf107f9 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -10,7 +10,7 @@
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": 1,
+ "frequency_penalty": -2,
"stream": true,
"presence_penalty": 0,
"temperature": 0,
@@ -18,38 +18,38 @@
"max_tokens": 0,
"response_format": "text",
"stop": [
- "ftfcfmwymaiaxq"
+ "jsgknsbxaqse"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 28
+ "seed": 16
}
},
"responses": {
"200": {
"body": {
- "id": "lucg",
- "created": 11,
- "model": "tsqex",
+ "id": "vttvkvwbbvgjtqphyswtfjq",
+ "created": 12,
+ "model": "yyxicqgwvohxtfgwaymlypcyuyskgl",
"usage": {
- "completion_tokens": 10,
+ "completion_tokens": 19,
"prompt_tokens": 14,
- "total_tokens": 7
+ "total_tokens": 16
},
"choices": [
{
- "index": 4,
+ "index": 1,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "xtrirgreezabshxirfhi",
+ "content": "vjwamdxrsbqojpolqr",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "kicdohgtfw"
+ "id": "pmmdjgalvahbkafjqir"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index acac41858e43..9c70badfd10d 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "lucg",
- "created": 11,
- "model": "tsqex",
+ "id": "vttvkvwbbvgjtqphyswtfjq",
+ "created": 12,
+ "model": "yyxicqgwvohxtfgwaymlypcyuyskgl",
"usage": {
- "completion_tokens": 10,
+ "completion_tokens": 19,
"prompt_tokens": 14,
- "total_tokens": 7
+ "total_tokens": 16
},
"choices": [
{
- "index": 4,
+ "index": 1,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "xtrirgreezabshxirfhi"
+ "content": "vjwamdxrsbqojpolqr"
}
}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index c5dc5f119751..e88b306bdc19 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -6,9 +6,9 @@
"unknown-parameters": "error",
"body": {
"input": [
- "udxqxeltsnnnojgwpppb"
+ "uwfwjjkuc"
],
- "dimensions": 1,
+ "dimensions": 20,
"encoding_format": "base64",
"input_type": "text"
}
@@ -16,21 +16,21 @@
"responses": {
"200": {
"body": {
- "id": "fwajvrkzedj",
+ "id": "vjtifrodzwydvynddmbudnno",
"data": [
{
"embedding": [
- 3
+ 16
],
- "index": 15
+ "index": 1
}
],
"usage": {
- "input_tokens": 4,
- "prompt_tokens": 27,
- "total_tokens": 14
+ "input_tokens": 20,
+ "prompt_tokens": 28,
+ "total_tokens": 2
},
- "model": "rzfpwylkkwnqoerjogdqgf"
+ "model": "obwfxvadcvvziooogpswzqkn"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index 64a044a5ed1b..7d15e7c1a297 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,28 +5,28 @@
"api-version": "2024-05-01-preview",
"body": {
"input": [
- "abhxkxorcejjnfwidhhbf"
+ "ujqrjllpyke"
]
}
},
"responses": {
"200": {
"body": {
- "id": "fwajvrkzedj",
+ "id": "vjtifrodzwydvynddmbudnno",
"data": [
{
"embedding": [
- 3
+ 16
],
- "index": 15
+ "index": 1
}
],
"usage": {
- "input_tokens": 4,
- "prompt_tokens": 27,
- "total_tokens": 14
+ "input_tokens": 20,
+ "prompt_tokens": 28,
+ "total_tokens": 2
},
- "model": "rzfpwylkkwnqoerjogdqgf"
+ "model": "obwfxvadcvvziooogpswzqkn"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MaximumSet_Gen.json
index d691d32bd4e3..1e1cfdef0d20 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MaximumSet_Gen.json
@@ -7,11 +7,11 @@
"body": {
"input": [
{
- "image": "jwbxrzdcafrxmhrztwepxmsrgys",
- "text": "tmsxeneoqsimdpezbblrmvscvee"
+ "image": "rlwzmtmuitzvs",
+ "text": "htjxmfwdiw"
}
],
- "dimensions": 16,
+ "dimensions": 26,
"encoding_format": "base64",
"input_type": "text"
}
@@ -19,21 +19,21 @@
"responses": {
"200": {
"body": {
- "id": "fwajvrkzedj",
+ "id": "vjtifrodzwydvynddmbudnno",
"data": [
{
"embedding": [
- 3
+ 16
],
- "index": 15
+ "index": 1
}
],
"usage": {
- "input_tokens": 4,
- "prompt_tokens": 27,
- "total_tokens": 14
+ "input_tokens": 20,
+ "prompt_tokens": 28,
+ "total_tokens": 2
},
- "model": "rzfpwylkkwnqoerjogdqgf"
+ "model": "obwfxvadcvvziooogpswzqkn"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MinimumSet_Gen.json
index 21729c14e1b3..35b045e1a21e 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MinimumSet_Gen.json
@@ -6,7 +6,7 @@
"body": {
"input": [
{
- "image": "jwbxrzdcafrxmhrztwepxmsrgys"
+ "image": "rlwzmtmuitzvs"
}
]
}
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "fwajvrkzedj",
+ "id": "vjtifrodzwydvynddmbudnno",
"data": [
{
"embedding": [
- 3
+ 16
],
- "index": 15
+ "index": 1
}
],
"usage": {
- "input_tokens": 4,
- "prompt_tokens": 27,
- "total_tokens": 14
+ "input_tokens": 20,
+ "prompt_tokens": 28,
+ "total_tokens": 2
},
- "model": "rzfpwylkkwnqoerjogdqgf"
+ "model": "obwfxvadcvvziooogpswzqkn"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
index b4dac1c13edc..ae964061c70f 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
@@ -7,9 +7,9 @@
"responses": {
"200": {
"body": {
- "model_name": "gqhcghuvgajmrjva",
+ "model_name": "uvbxltprmh",
"model_type": "embeddings",
- "model_provider_name": "fqkylpirzwbklhcbgc"
+ "model_provider_name": "uuklhgbngggjryjphasqjiyk"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
index eff3b0646089..70ef42df2ba4 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
@@ -7,9 +7,9 @@
"responses": {
"200": {
"body": {
- "model_name": "gqhcghuvgajmrjva",
+ "model_name": "uvbxltprmh",
"model_type": "embeddings",
- "model_provider_name": "fqkylpirzwbklhcbgc"
+ "model_provider_name": "uuklhgbngggjryjphasqjiyk"
}
}
}
From ac08a31e802b0bfbd2644b20ee5f706a1ea97feb Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 10 Jun 2024 12:04:19 -0700
Subject: [PATCH 140/343] Add missing public access of ModelType
---
specification/ai/ModelClient/client.tsp | 1 +
1 file changed, 1 insertion(+)
diff --git a/specification/ai/ModelClient/client.tsp b/specification/ai/ModelClient/client.tsp
index 0a09a4560473..60ac5343a495 100644
--- a/specification/ai/ModelClient/client.tsp
+++ b/specification/ai/ModelClient/client.tsp
@@ -45,6 +45,7 @@ namespace Customizations; // The actual name here doesn't matter and is here for
@@access(ModelClient.FunctionCall, Access.public);
@@access(ModelClient.FunctionDefinition, Access.public);
@@access(ModelClient.ModelInfo, Access.public);
+@@access(ModelClient.ModelType, Access.public);
@@access(ModelClient.StreamingChatChoiceUpdate, Access.public, "python");
@@access(ModelClient.StreamingChatCompletionsUpdate, Access.public, "python");
@@access(ModelClient.ChatMessageContentItem, Access.public);
From 36d9e575521d4aa5cc7ae3978e32dbfa3959ca4e Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 10 Jun 2024 12:06:34 -0700
Subject: [PATCH 141/343] Regenerate examples
---
specification/ai/ModelClient/client.tsp | 22 ++++++++++------
.../GetChatCompletions_MaximumSet_Gen.json | 26 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 16 ++++++------
.../GetEmbeddings_MaximumSet_Gen.json | 16 ++++++------
.../GetEmbeddings_MinimumSet_Gen.json | 14 +++++-----
.../GetImageEmbeddings_MaximumSet_Gen.json | 18 ++++++-------
.../GetImageEmbeddings_MinimumSet_Gen.json | 14 +++++-----
.../GetModelInfo_MaximumSet_Gen.json | 4 +--
.../GetModelInfo_MinimumSet_Gen.json | 4 +--
.../GetChatCompletions_MaximumSet_Gen.json | 26 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 16 ++++++------
.../GetEmbeddings_MaximumSet_Gen.json | 16 ++++++------
.../GetEmbeddings_MinimumSet_Gen.json | 14 +++++-----
.../GetImageEmbeddings_MaximumSet_Gen.json | 18 ++++++-------
.../GetImageEmbeddings_MinimumSet_Gen.json | 14 +++++-----
.../examples/GetModelInfo_MaximumSet_Gen.json | 4 +--
.../examples/GetModelInfo_MinimumSet_Gen.json | 4 +--
17 files changed, 126 insertions(+), 120 deletions(-)
diff --git a/specification/ai/ModelClient/client.tsp b/specification/ai/ModelClient/client.tsp
index 60ac5343a495..5a07ece4dc32 100644
--- a/specification/ai/ModelClient/client.tsp
+++ b/specification/ai/ModelClient/client.tsp
@@ -72,19 +72,25 @@ interface Client1 {
getModelInfo is ModelClient.getModelInfo;
}
-@client({
- name: "EmbeddingsClient",
- service: ModelClient,
-}, "python")
+@client(
+ {
+ name: "EmbeddingsClient",
+ service: ModelClient,
+ },
+ "python"
+)
interface Client2 {
embed is ModelClient.getEmbeddings;
getModelInfo is ModelClient.getModelInfo;
}
-@client({
- name: "ImageEmbeddingsClient",
- service: ModelClient,
-}, "python")
+@client(
+ {
+ name: "ImageEmbeddingsClient",
+ service: ModelClient,
+ },
+ "python"
+)
interface Client3 {
embed is ModelClient.getImageEmbeddings;
getModelInfo is ModelClient.getModelInfo;
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MaximumSet_Gen.json
index cc91bbf107f9..abef43dd158f 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -10,46 +10,46 @@
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -2,
+ "frequency_penalty": -1,
"stream": true,
- "presence_penalty": 0,
+ "presence_penalty": -1,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
"response_format": "text",
"stop": [
- "jsgknsbxaqse"
+ "hyjmwlrxwyixwbx"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 16
+ "seed": 22
}
},
"responses": {
"200": {
"body": {
- "id": "vttvkvwbbvgjtqphyswtfjq",
- "created": 12,
- "model": "yyxicqgwvohxtfgwaymlypcyuyskgl",
+ "id": "xljaucrjqaqjipmc",
+ "created": 29,
+ "model": "q",
"usage": {
- "completion_tokens": 19,
- "prompt_tokens": 14,
- "total_tokens": 16
+ "completion_tokens": 18,
+ "prompt_tokens": 12,
+ "total_tokens": 8
},
"choices": [
{
- "index": 1,
+ "index": 12,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "vjwamdxrsbqojpolqr",
+ "content": "bvltz",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "pmmdjgalvahbkafjqir"
+ "id": "zoerkv"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 9c70badfd10d..63a37dc3a6a4 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "vttvkvwbbvgjtqphyswtfjq",
- "created": 12,
- "model": "yyxicqgwvohxtfgwaymlypcyuyskgl",
+ "id": "xljaucrjqaqjipmc",
+ "created": 29,
+ "model": "q",
"usage": {
- "completion_tokens": 19,
- "prompt_tokens": 14,
- "total_tokens": 16
+ "completion_tokens": 18,
+ "prompt_tokens": 12,
+ "total_tokens": 8
},
"choices": [
{
- "index": 1,
+ "index": 12,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "vjwamdxrsbqojpolqr"
+ "content": "bvltz"
}
}
]
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MaximumSet_Gen.json
index e88b306bdc19..29eb363cc5db 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -6,9 +6,9 @@
"unknown-parameters": "error",
"body": {
"input": [
- "uwfwjjkuc"
+ "wlux"
],
- "dimensions": 20,
+ "dimensions": 27,
"encoding_format": "base64",
"input_type": "text"
}
@@ -16,21 +16,21 @@
"responses": {
"200": {
"body": {
- "id": "vjtifrodzwydvynddmbudnno",
+ "id": "kedirjyccyaebyn",
"data": [
{
"embedding": [
16
],
- "index": 1
+ "index": 18
}
],
"usage": {
- "input_tokens": 20,
- "prompt_tokens": 28,
- "total_tokens": 2
+ "input_tokens": 21,
+ "prompt_tokens": 6,
+ "total_tokens": 16
},
- "model": "obwfxvadcvvziooogpswzqkn"
+ "model": "zdfajtcsw"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MinimumSet_Gen.json
index 7d15e7c1a297..f20af8ae1b7d 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,28 +5,28 @@
"api-version": "2024-05-01-preview",
"body": {
"input": [
- "ujqrjllpyke"
+ "gpopqlqlmaqsmnndd"
]
}
},
"responses": {
"200": {
"body": {
- "id": "vjtifrodzwydvynddmbudnno",
+ "id": "kedirjyccyaebyn",
"data": [
{
"embedding": [
16
],
- "index": 1
+ "index": 18
}
],
"usage": {
- "input_tokens": 20,
- "prompt_tokens": 28,
- "total_tokens": 2
+ "input_tokens": 21,
+ "prompt_tokens": 6,
+ "total_tokens": 16
},
- "model": "obwfxvadcvvziooogpswzqkn"
+ "model": "zdfajtcsw"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MaximumSet_Gen.json
index 1e1cfdef0d20..d8ba8c9e70d2 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MaximumSet_Gen.json
@@ -7,11 +7,11 @@
"body": {
"input": [
{
- "image": "rlwzmtmuitzvs",
- "text": "htjxmfwdiw"
+ "image": "grfazklprgwztlcy",
+ "text": "alnrjrixfnv"
}
],
- "dimensions": 26,
+ "dimensions": 4,
"encoding_format": "base64",
"input_type": "text"
}
@@ -19,21 +19,21 @@
"responses": {
"200": {
"body": {
- "id": "vjtifrodzwydvynddmbudnno",
+ "id": "kedirjyccyaebyn",
"data": [
{
"embedding": [
16
],
- "index": 1
+ "index": 18
}
],
"usage": {
- "input_tokens": 20,
- "prompt_tokens": 28,
- "total_tokens": 2
+ "input_tokens": 21,
+ "prompt_tokens": 6,
+ "total_tokens": 16
},
- "model": "obwfxvadcvvziooogpswzqkn"
+ "model": "zdfajtcsw"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MinimumSet_Gen.json
index 35b045e1a21e..8caeb9e0b5f6 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MinimumSet_Gen.json
@@ -6,7 +6,7 @@
"body": {
"input": [
{
- "image": "rlwzmtmuitzvs"
+ "image": "grfazklprgwztlcy"
}
]
}
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "vjtifrodzwydvynddmbudnno",
+ "id": "kedirjyccyaebyn",
"data": [
{
"embedding": [
16
],
- "index": 1
+ "index": 18
}
],
"usage": {
- "input_tokens": 20,
- "prompt_tokens": 28,
- "total_tokens": 2
+ "input_tokens": 21,
+ "prompt_tokens": 6,
+ "total_tokens": 16
},
- "model": "obwfxvadcvvziooogpswzqkn"
+ "model": "zdfajtcsw"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MaximumSet_Gen.json
index ae964061c70f..2e9777adc418 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MaximumSet_Gen.json
@@ -7,9 +7,9 @@
"responses": {
"200": {
"body": {
- "model_name": "uvbxltprmh",
+ "model_name": "ayxxrduegvgjomzmfcpndvdmvg",
"model_type": "embeddings",
- "model_provider_name": "uuklhgbngggjryjphasqjiyk"
+ "model_provider_name": "sursnucghq"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MinimumSet_Gen.json
index 70ef42df2ba4..eca3b6cdd7b1 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MinimumSet_Gen.json
@@ -7,9 +7,9 @@
"responses": {
"200": {
"body": {
- "model_name": "uvbxltprmh",
+ "model_name": "ayxxrduegvgjomzmfcpndvdmvg",
"model_type": "embeddings",
- "model_provider_name": "uuklhgbngggjryjphasqjiyk"
+ "model_provider_name": "sursnucghq"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index cc91bbf107f9..abef43dd158f 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -10,46 +10,46 @@
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -2,
+ "frequency_penalty": -1,
"stream": true,
- "presence_penalty": 0,
+ "presence_penalty": -1,
"temperature": 0,
"top_p": 0,
"max_tokens": 0,
"response_format": "text",
"stop": [
- "jsgknsbxaqse"
+ "hyjmwlrxwyixwbx"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 16
+ "seed": 22
}
},
"responses": {
"200": {
"body": {
- "id": "vttvkvwbbvgjtqphyswtfjq",
- "created": 12,
- "model": "yyxicqgwvohxtfgwaymlypcyuyskgl",
+ "id": "xljaucrjqaqjipmc",
+ "created": 29,
+ "model": "q",
"usage": {
- "completion_tokens": 19,
- "prompt_tokens": 14,
- "total_tokens": 16
+ "completion_tokens": 18,
+ "prompt_tokens": 12,
+ "total_tokens": 8
},
"choices": [
{
- "index": 1,
+ "index": 12,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "vjwamdxrsbqojpolqr",
+ "content": "bvltz",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "pmmdjgalvahbkafjqir"
+ "id": "zoerkv"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 9c70badfd10d..63a37dc3a6a4 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "vttvkvwbbvgjtqphyswtfjq",
- "created": 12,
- "model": "yyxicqgwvohxtfgwaymlypcyuyskgl",
+ "id": "xljaucrjqaqjipmc",
+ "created": 29,
+ "model": "q",
"usage": {
- "completion_tokens": 19,
- "prompt_tokens": 14,
- "total_tokens": 16
+ "completion_tokens": 18,
+ "prompt_tokens": 12,
+ "total_tokens": 8
},
"choices": [
{
- "index": 1,
+ "index": 12,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "vjwamdxrsbqojpolqr"
+ "content": "bvltz"
}
}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index e88b306bdc19..29eb363cc5db 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -6,9 +6,9 @@
"unknown-parameters": "error",
"body": {
"input": [
- "uwfwjjkuc"
+ "wlux"
],
- "dimensions": 20,
+ "dimensions": 27,
"encoding_format": "base64",
"input_type": "text"
}
@@ -16,21 +16,21 @@
"responses": {
"200": {
"body": {
- "id": "vjtifrodzwydvynddmbudnno",
+ "id": "kedirjyccyaebyn",
"data": [
{
"embedding": [
16
],
- "index": 1
+ "index": 18
}
],
"usage": {
- "input_tokens": 20,
- "prompt_tokens": 28,
- "total_tokens": 2
+ "input_tokens": 21,
+ "prompt_tokens": 6,
+ "total_tokens": 16
},
- "model": "obwfxvadcvvziooogpswzqkn"
+ "model": "zdfajtcsw"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index 7d15e7c1a297..f20af8ae1b7d 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,28 +5,28 @@
"api-version": "2024-05-01-preview",
"body": {
"input": [
- "ujqrjllpyke"
+ "gpopqlqlmaqsmnndd"
]
}
},
"responses": {
"200": {
"body": {
- "id": "vjtifrodzwydvynddmbudnno",
+ "id": "kedirjyccyaebyn",
"data": [
{
"embedding": [
16
],
- "index": 1
+ "index": 18
}
],
"usage": {
- "input_tokens": 20,
- "prompt_tokens": 28,
- "total_tokens": 2
+ "input_tokens": 21,
+ "prompt_tokens": 6,
+ "total_tokens": 16
},
- "model": "obwfxvadcvvziooogpswzqkn"
+ "model": "zdfajtcsw"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MaximumSet_Gen.json
index 1e1cfdef0d20..d8ba8c9e70d2 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MaximumSet_Gen.json
@@ -7,11 +7,11 @@
"body": {
"input": [
{
- "image": "rlwzmtmuitzvs",
- "text": "htjxmfwdiw"
+ "image": "grfazklprgwztlcy",
+ "text": "alnrjrixfnv"
}
],
- "dimensions": 26,
+ "dimensions": 4,
"encoding_format": "base64",
"input_type": "text"
}
@@ -19,21 +19,21 @@
"responses": {
"200": {
"body": {
- "id": "vjtifrodzwydvynddmbudnno",
+ "id": "kedirjyccyaebyn",
"data": [
{
"embedding": [
16
],
- "index": 1
+ "index": 18
}
],
"usage": {
- "input_tokens": 20,
- "prompt_tokens": 28,
- "total_tokens": 2
+ "input_tokens": 21,
+ "prompt_tokens": 6,
+ "total_tokens": 16
},
- "model": "obwfxvadcvvziooogpswzqkn"
+ "model": "zdfajtcsw"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MinimumSet_Gen.json
index 35b045e1a21e..8caeb9e0b5f6 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MinimumSet_Gen.json
@@ -6,7 +6,7 @@
"body": {
"input": [
{
- "image": "rlwzmtmuitzvs"
+ "image": "grfazklprgwztlcy"
}
]
}
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "vjtifrodzwydvynddmbudnno",
+ "id": "kedirjyccyaebyn",
"data": [
{
"embedding": [
16
],
- "index": 1
+ "index": 18
}
],
"usage": {
- "input_tokens": 20,
- "prompt_tokens": 28,
- "total_tokens": 2
+ "input_tokens": 21,
+ "prompt_tokens": 6,
+ "total_tokens": 16
},
- "model": "obwfxvadcvvziooogpswzqkn"
+ "model": "zdfajtcsw"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
index ae964061c70f..2e9777adc418 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
@@ -7,9 +7,9 @@
"responses": {
"200": {
"body": {
- "model_name": "uvbxltprmh",
+ "model_name": "ayxxrduegvgjomzmfcpndvdmvg",
"model_type": "embeddings",
- "model_provider_name": "uuklhgbngggjryjphasqjiyk"
+ "model_provider_name": "sursnucghq"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
index 70ef42df2ba4..eca3b6cdd7b1 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
@@ -7,9 +7,9 @@
"responses": {
"200": {
"body": {
- "model_name": "uvbxltprmh",
+ "model_name": "ayxxrduegvgjomzmfcpndvdmvg",
"model_type": "embeddings",
- "model_provider_name": "uuklhgbngggjryjphasqjiyk"
+ "model_provider_name": "sursnucghq"
}
}
}
From 4ee530691c4f6a3c4659ed05b29c47e554aabfc4 Mon Sep 17 00:00:00 2001
From: Darren Cohen <39422044+dargilco@users.noreply.github.com>
Date: Mon, 10 Jun 2024 16:53:36 -0700
Subject: [PATCH 142/343] Move Python class renaming to client.tsp
---
specification/ai/ModelClient/client.tsp | 23 ++++++++++++++++++
.../GetChatCompletions_MaximumSet_Gen.json | 24 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 16 ++++++-------
.../GetEmbeddings_MaximumSet_Gen.json | 18 +++++++-------
.../GetEmbeddings_MinimumSet_Gen.json | 16 ++++++-------
.../GetImageEmbeddings_MaximumSet_Gen.json | 20 ++++++++--------
.../GetImageEmbeddings_MinimumSet_Gen.json | 16 ++++++-------
.../GetModelInfo_MaximumSet_Gen.json | 4 ++--
.../GetModelInfo_MinimumSet_Gen.json | 4 ++--
.../ModelClient/models/chat_completions.tsp | 4 ----
.../GetChatCompletions_MaximumSet_Gen.json | 24 +++++++++----------
.../GetChatCompletions_MinimumSet_Gen.json | 16 ++++++-------
.../GetEmbeddings_MaximumSet_Gen.json | 18 +++++++-------
.../GetEmbeddings_MinimumSet_Gen.json | 16 ++++++-------
.../GetImageEmbeddings_MaximumSet_Gen.json | 20 ++++++++--------
.../GetImageEmbeddings_MinimumSet_Gen.json | 16 ++++++-------
.../examples/GetModelInfo_MaximumSet_Gen.json | 4 ++--
.../examples/GetModelInfo_MinimumSet_Gen.json | 4 ++--
18 files changed, 141 insertions(+), 122 deletions(-)
diff --git a/specification/ai/ModelClient/client.tsp b/specification/ai/ModelClient/client.tsp
index 5a07ece4dc32..3af2820c1f07 100644
--- a/specification/ai/ModelClient/client.tsp
+++ b/specification/ai/ModelClient/client.tsp
@@ -63,6 +63,29 @@ namespace Customizations; // The actual name here doesn't matter and is here for
@@access(ModelClient.getImageEmbeddings, Access.internal, "python");
@@access(ModelClient.getModelInfo, Access.internal, "python");
+// We use shorter names in the Python client library
+@@clientName(ModelClient.ChatRequestSystemMessage, "SystemMessage", "python");
+@@clientName(ModelClient.ChatRequestUserMessage, "UserMessage", "python");
+@@clientName(ModelClient.ChatRequestAssistantMessage,
+ "AssistantMessage",
+ "python"
+);
+@@clientName(ModelClient.ChatRequestToolMessage, "ToolMessage", "python");
+@@clientName(ModelClient.ChatMessageContentItem, "ContentItem", "python");
+@@clientName(ModelClient.ChatMessageTextContentItem,
+ "TextContentItem",
+ "python"
+);
+@@clientName(ModelClient.ChatMessageImageContentItem,
+ "ImageContentItem",
+ "python"
+);
+@@clientName(ModelClient.ChatMessageImageUrl, "ImageUrl", "python");
+@@clientName(ModelClient.ChatMessageImageDetailLevel,
+ "ImageDetailLevel",
+ "python"
+);
+
@client({
name: "ChatCompletionsClient",
service: ModelClient,
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MaximumSet_Gen.json
index abef43dd158f..4ff8acaaead7 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MaximumSet_Gen.json
@@ -10,7 +10,7 @@
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -1,
+ "frequency_penalty": -2,
"stream": true,
"presence_penalty": -1,
"temperature": 0,
@@ -18,38 +18,38 @@
"max_tokens": 0,
"response_format": "text",
"stop": [
- "hyjmwlrxwyixwbx"
+ "frovutrcmwrzcoszelrglkuvpbukzu"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 22
+ "seed": 6
}
},
"responses": {
"200": {
"body": {
- "id": "xljaucrjqaqjipmc",
- "created": 29,
- "model": "q",
+ "id": "hpcvgnonpjyzffximnagg",
+ "created": 27,
+ "model": "iextgrfegfy",
"usage": {
- "completion_tokens": 18,
- "prompt_tokens": 12,
- "total_tokens": 8
+ "completion_tokens": 22,
+ "prompt_tokens": 9,
+ "total_tokens": 7
},
"choices": [
{
- "index": 12,
+ "index": 10,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "bvltz",
+ "content": "kjzmsqcgjl",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "zoerkv"
+ "id": "maltrnwbhsjytwjfgxdshcbwup"
}
]
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MinimumSet_Gen.json
index 63a37dc3a6a4..b2bc30ea4e5b 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetChatCompletions_MinimumSet_Gen.json
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "xljaucrjqaqjipmc",
- "created": 29,
- "model": "q",
+ "id": "hpcvgnonpjyzffximnagg",
+ "created": 27,
+ "model": "iextgrfegfy",
"usage": {
- "completion_tokens": 18,
- "prompt_tokens": 12,
- "total_tokens": 8
+ "completion_tokens": 22,
+ "prompt_tokens": 9,
+ "total_tokens": 7
},
"choices": [
{
- "index": 12,
+ "index": 10,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "bvltz"
+ "content": "kjzmsqcgjl"
}
}
]
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MaximumSet_Gen.json
index 29eb363cc5db..c96b52844d7c 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MaximumSet_Gen.json
@@ -6,9 +6,9 @@
"unknown-parameters": "error",
"body": {
"input": [
- "wlux"
+ "mhldnzatps"
],
- "dimensions": 27,
+ "dimensions": 28,
"encoding_format": "base64",
"input_type": "text"
}
@@ -16,21 +16,21 @@
"responses": {
"200": {
"body": {
- "id": "kedirjyccyaebyn",
+ "id": "eydebtydwpajdafhqiqtfdklcgrln",
"data": [
{
"embedding": [
- 16
+ 15
],
- "index": 18
+ "index": 7
}
],
"usage": {
- "input_tokens": 21,
- "prompt_tokens": 6,
- "total_tokens": 16
+ "input_tokens": 18,
+ "prompt_tokens": 30,
+ "total_tokens": 30
},
- "model": "zdfajtcsw"
+ "model": "bxrwbixgoipxiqouemwamsccfmpwut"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MinimumSet_Gen.json
index f20af8ae1b7d..9ce30dd55f38 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetEmbeddings_MinimumSet_Gen.json
@@ -5,28 +5,28 @@
"api-version": "2024-05-01-preview",
"body": {
"input": [
- "gpopqlqlmaqsmnndd"
+ "mjcfkghomsiauazvrqizay"
]
}
},
"responses": {
"200": {
"body": {
- "id": "kedirjyccyaebyn",
+ "id": "eydebtydwpajdafhqiqtfdklcgrln",
"data": [
{
"embedding": [
- 16
+ 15
],
- "index": 18
+ "index": 7
}
],
"usage": {
- "input_tokens": 21,
- "prompt_tokens": 6,
- "total_tokens": 16
+ "input_tokens": 18,
+ "prompt_tokens": 30,
+ "total_tokens": 30
},
- "model": "zdfajtcsw"
+ "model": "bxrwbixgoipxiqouemwamsccfmpwut"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MaximumSet_Gen.json
index d8ba8c9e70d2..4361c7f71835 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MaximumSet_Gen.json
@@ -7,11 +7,11 @@
"body": {
"input": [
{
- "image": "grfazklprgwztlcy",
- "text": "alnrjrixfnv"
+ "image": "eplktjwsrhtw",
+ "text": "esoizlgwokdrrxvlmtz"
}
],
- "dimensions": 4,
+ "dimensions": 27,
"encoding_format": "base64",
"input_type": "text"
}
@@ -19,21 +19,21 @@
"responses": {
"200": {
"body": {
- "id": "kedirjyccyaebyn",
+ "id": "eydebtydwpajdafhqiqtfdklcgrln",
"data": [
{
"embedding": [
- 16
+ 15
],
- "index": 18
+ "index": 7
}
],
"usage": {
- "input_tokens": 21,
- "prompt_tokens": 6,
- "total_tokens": 16
+ "input_tokens": 18,
+ "prompt_tokens": 30,
+ "total_tokens": 30
},
- "model": "zdfajtcsw"
+ "model": "bxrwbixgoipxiqouemwamsccfmpwut"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MinimumSet_Gen.json
index 8caeb9e0b5f6..4d64fd232563 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetImageEmbeddings_MinimumSet_Gen.json
@@ -6,7 +6,7 @@
"body": {
"input": [
{
- "image": "grfazklprgwztlcy"
+ "image": "eplktjwsrhtw"
}
]
}
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "kedirjyccyaebyn",
+ "id": "eydebtydwpajdafhqiqtfdklcgrln",
"data": [
{
"embedding": [
- 16
+ 15
],
- "index": 18
+ "index": 7
}
],
"usage": {
- "input_tokens": 21,
- "prompt_tokens": 6,
- "total_tokens": 16
+ "input_tokens": 18,
+ "prompt_tokens": 30,
+ "total_tokens": 30
},
- "model": "zdfajtcsw"
+ "model": "bxrwbixgoipxiqouemwamsccfmpwut"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MaximumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MaximumSet_Gen.json
index 2e9777adc418..d482cf194f94 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MaximumSet_Gen.json
@@ -7,9 +7,9 @@
"responses": {
"200": {
"body": {
- "model_name": "ayxxrduegvgjomzmfcpndvdmvg",
+ "model_name": "aakbqaphhuvebuxpcrve",
"model_type": "embeddings",
- "model_provider_name": "sursnucghq"
+ "model_provider_name": "mokbftoapmemqczizfxzibtt"
}
}
}
diff --git a/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MinimumSet_Gen.json b/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MinimumSet_Gen.json
index eca3b6cdd7b1..0f5b7fef7433 100644
--- a/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/ModelClient/examples/2024-05-01-preview/GetModelInfo_MinimumSet_Gen.json
@@ -7,9 +7,9 @@
"responses": {
"200": {
"body": {
- "model_name": "ayxxrduegvgjomzmfcpndvdmvg",
+ "model_name": "aakbqaphhuvebuxpcrve",
"model_type": "embeddings",
- "model_provider_name": "sursnucghq"
+ "model_provider_name": "mokbftoapmemqczizfxzibtt"
}
}
}
diff --git a/specification/ai/ModelClient/models/chat_completions.tsp b/specification/ai/ModelClient/models/chat_completions.tsp
index 571968d27549..6de8a3f1003a 100644
--- a/specification/ai/ModelClient/models/chat_completions.tsp
+++ b/specification/ai/ModelClient/models/chat_completions.tsp
@@ -279,7 +279,6 @@ model ChatRequestMessage {
A request chat message containing system instructions that influence how the model will generate a chat completions
response.
""")
-@clientName("SystemMessage", "python")
model ChatRequestSystemMessage extends ChatRequestMessage {
@doc("The chat role associated with this message, which is always 'system' for system messages.")
role: ChatRole.system;
@@ -289,7 +288,6 @@ model ChatRequestSystemMessage extends ChatRequestMessage {
}
@doc("A request chat message representing user input to the assistant.")
-@clientName("UserMessage", "python")
model ChatRequestUserMessage extends ChatRequestMessage {
@doc("The chat role associated with this message, which is always 'user' for user messages.")
role: ChatRole.user;
@@ -300,7 +298,6 @@ model ChatRequestUserMessage extends ChatRequestMessage {
}
@doc("A request chat message representing response or action from the assistant.")
-@clientName("AssistantMessage", "python")
model ChatRequestAssistantMessage extends ChatRequestMessage {
@doc("The chat role associated with this message, which is always 'assistant' for assistant messages.")
role: ChatRole.assistant;
@@ -318,7 +315,6 @@ model ChatRequestAssistantMessage extends ChatRequestMessage {
}
@doc("A request chat message representing requested output from a configured tool.")
-@clientName("ToolMessage", "python")
model ChatRequestToolMessage extends ChatRequestMessage {
@doc("The chat role associated with this message, which is always 'tool' for tool messages.")
role: ChatRole.tool;
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
index abef43dd158f..4ff8acaaead7 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MaximumSet_Gen.json
@@ -10,7 +10,7 @@
"role": "ChatRequestMessage"
}
],
- "frequency_penalty": -1,
+ "frequency_penalty": -2,
"stream": true,
"presence_penalty": -1,
"temperature": 0,
@@ -18,38 +18,38 @@
"max_tokens": 0,
"response_format": "text",
"stop": [
- "hyjmwlrxwyixwbx"
+ "frovutrcmwrzcoszelrglkuvpbukzu"
],
"tools": [
{
"type": "ChatCompletionsToolDefinition"
}
],
- "seed": 22
+ "seed": 6
}
},
"responses": {
"200": {
"body": {
- "id": "xljaucrjqaqjipmc",
- "created": 29,
- "model": "q",
+ "id": "hpcvgnonpjyzffximnagg",
+ "created": 27,
+ "model": "iextgrfegfy",
"usage": {
- "completion_tokens": 18,
- "prompt_tokens": 12,
- "total_tokens": 8
+ "completion_tokens": 22,
+ "prompt_tokens": 9,
+ "total_tokens": 7
},
"choices": [
{
- "index": 12,
+ "index": 10,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "bvltz",
+ "content": "kjzmsqcgjl",
"tool_calls": [
{
"type": "ChatCompletionsToolCall",
- "id": "zoerkv"
+ "id": "maltrnwbhsjytwjfgxdshcbwup"
}
]
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
index 63a37dc3a6a4..b2bc30ea4e5b 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetChatCompletions_MinimumSet_Gen.json
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "xljaucrjqaqjipmc",
- "created": 29,
- "model": "q",
+ "id": "hpcvgnonpjyzffximnagg",
+ "created": 27,
+ "model": "iextgrfegfy",
"usage": {
- "completion_tokens": 18,
- "prompt_tokens": 12,
- "total_tokens": 8
+ "completion_tokens": 22,
+ "prompt_tokens": 9,
+ "total_tokens": 7
},
"choices": [
{
- "index": 12,
+ "index": 10,
"finish_reason": "stop",
"message": {
"role": "system",
- "content": "bvltz"
+ "content": "kjzmsqcgjl"
}
}
]
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
index 29eb363cc5db..c96b52844d7c 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MaximumSet_Gen.json
@@ -6,9 +6,9 @@
"unknown-parameters": "error",
"body": {
"input": [
- "wlux"
+ "mhldnzatps"
],
- "dimensions": 27,
+ "dimensions": 28,
"encoding_format": "base64",
"input_type": "text"
}
@@ -16,21 +16,21 @@
"responses": {
"200": {
"body": {
- "id": "kedirjyccyaebyn",
+ "id": "eydebtydwpajdafhqiqtfdklcgrln",
"data": [
{
"embedding": [
- 16
+ 15
],
- "index": 18
+ "index": 7
}
],
"usage": {
- "input_tokens": 21,
- "prompt_tokens": 6,
- "total_tokens": 16
+ "input_tokens": 18,
+ "prompt_tokens": 30,
+ "total_tokens": 30
},
- "model": "zdfajtcsw"
+ "model": "bxrwbixgoipxiqouemwamsccfmpwut"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
index f20af8ae1b7d..9ce30dd55f38 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetEmbeddings_MinimumSet_Gen.json
@@ -5,28 +5,28 @@
"api-version": "2024-05-01-preview",
"body": {
"input": [
- "gpopqlqlmaqsmnndd"
+ "mjcfkghomsiauazvrqizay"
]
}
},
"responses": {
"200": {
"body": {
- "id": "kedirjyccyaebyn",
+ "id": "eydebtydwpajdafhqiqtfdklcgrln",
"data": [
{
"embedding": [
- 16
+ 15
],
- "index": 18
+ "index": 7
}
],
"usage": {
- "input_tokens": 21,
- "prompt_tokens": 6,
- "total_tokens": 16
+ "input_tokens": 18,
+ "prompt_tokens": 30,
+ "total_tokens": 30
},
- "model": "zdfajtcsw"
+ "model": "bxrwbixgoipxiqouemwamsccfmpwut"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MaximumSet_Gen.json
index d8ba8c9e70d2..4361c7f71835 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MaximumSet_Gen.json
@@ -7,11 +7,11 @@
"body": {
"input": [
{
- "image": "grfazklprgwztlcy",
- "text": "alnrjrixfnv"
+ "image": "eplktjwsrhtw",
+ "text": "esoizlgwokdrrxvlmtz"
}
],
- "dimensions": 4,
+ "dimensions": 27,
"encoding_format": "base64",
"input_type": "text"
}
@@ -19,21 +19,21 @@
"responses": {
"200": {
"body": {
- "id": "kedirjyccyaebyn",
+ "id": "eydebtydwpajdafhqiqtfdklcgrln",
"data": [
{
"embedding": [
- 16
+ 15
],
- "index": 18
+ "index": 7
}
],
"usage": {
- "input_tokens": 21,
- "prompt_tokens": 6,
- "total_tokens": 16
+ "input_tokens": 18,
+ "prompt_tokens": 30,
+ "total_tokens": 30
},
- "model": "zdfajtcsw"
+ "model": "bxrwbixgoipxiqouemwamsccfmpwut"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MinimumSet_Gen.json
index 8caeb9e0b5f6..4d64fd232563 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetImageEmbeddings_MinimumSet_Gen.json
@@ -6,7 +6,7 @@
"body": {
"input": [
{
- "image": "grfazklprgwztlcy"
+ "image": "eplktjwsrhtw"
}
]
}
@@ -14,21 +14,21 @@
"responses": {
"200": {
"body": {
- "id": "kedirjyccyaebyn",
+ "id": "eydebtydwpajdafhqiqtfdklcgrln",
"data": [
{
"embedding": [
- 16
+ 15
],
- "index": 18
+ "index": 7
}
],
"usage": {
- "input_tokens": 21,
- "prompt_tokens": 6,
- "total_tokens": 16
+ "input_tokens": 18,
+ "prompt_tokens": 30,
+ "total_tokens": 30
},
- "model": "zdfajtcsw"
+ "model": "bxrwbixgoipxiqouemwamsccfmpwut"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MaximumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
index 2e9777adc418..d482cf194f94 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MaximumSet_Gen.json
@@ -7,9 +7,9 @@
"responses": {
"200": {
"body": {
- "model_name": "ayxxrduegvgjomzmfcpndvdmvg",
+ "model_name": "aakbqaphhuvebuxpcrve",
"model_type": "embeddings",
- "model_provider_name": "sursnucghq"
+ "model_provider_name": "mokbftoapmemqczizfxzibtt"
}
}
}
diff --git a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MinimumSet_Gen.json b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
index eca3b6cdd7b1..0f5b7fef7433 100644
--- a/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
+++ b/specification/ai/data-plane/ModelClient/preview/2024-05-01-preview/examples/GetModelInfo_MinimumSet_Gen.json
@@ -7,9 +7,9 @@
"responses": {
"200": {
"body": {
- "model_name": "ayxxrduegvgjomzmfcpndvdmvg",
+ "model_name": "aakbqaphhuvebuxpcrve",
"model_type": "embeddings",
- "model_provider_name": "sursnucghq"
+ "model_provider_name": "mokbftoapmemqczizfxzibtt"
}
}
}
From d11c3b1201ca8472d04117a356653061ccea9669 Mon Sep 17 00:00:00 2001
From: johnkoh-msft <113449581+johnkoh-msft@users.noreply.github.com>
Date: Tue, 11 Jun 2024 00:39:05 -0400
Subject: [PATCH 143/343] Release azuredatatransfer microsoft.azure data
transfer stable/2024 05 07 (#29211)
* Copy files from stable/2024-01-25
Copied the files in a separate commit.
This allows reviewers to easily diff subsequent changes against the previous spec.
* Update version to stable/2024-05-07
Updated the API version from stable/2024-01-25 to stable/2024-05-07.
* Added tag for 2024-05-07 in readme file
* Add new flow types
* Run prettier
* Run prettier for all files
* Add schema direction
* Add Standard flow type
* Replace Blob with Standard in examples
---
.../stable/2024-05-07/azuredatatransfer.json | 2400 +++++++++++++++++
.../examples/approveOrRejectConnection.json | 31 +
.../examples/createOrUpdateConnection.json | 42 +
.../examples/createOrUpdateFlow.json | 36 +
.../examples/createOrUpdatePipeline.json | 30 +
.../2024-05-07/examples/deleteConnection.json | 16 +
.../2024-05-07/examples/deleteFlow.json | 17 +
.../2024-05-07/examples/deletePipeline.json | 16 +
.../examples/enableOrDisableFlow.json | 23 +
.../2024-05-07/examples/getConnection.json | 17 +
.../stable/2024-05-07/examples/getFlow.json | 18 +
.../2024-05-07/examples/getPipeline.json | 17 +
.../2024-05-07/examples/linkConnection.json | 25 +
.../stable/2024-05-07/examples/linkFlow.json | 26 +
.../listConnectionsByResourceGroup.json | 37 +
.../listConnectionsBySubscription.json | 36 +
.../examples/listFlowsByConnection.json | 44 +
.../2024-05-07/examples/listOperations.json | 43 +
.../examples/listPendingConnections.json | 34 +
.../2024-05-07/examples/listPendingFlows.json | 34 +
.../listPipelinesByResourceGroup.json | 33 +
.../examples/listPipelinesBySubscription.json | 32 +
.../2024-05-07/examples/listSchemas.json | 24 +
.../2024-05-07/examples/patchConnection.json | 47 +
.../stable/2024-05-07/examples/patchFlow.json | 54 +
.../2024-05-07/examples/patchPipeline.json | 43 +
.../examples/postListApprovedSchemas.json | 21 +
.../examples/postValidateSchema.json | 16 +
.../resource-manager/readme.md | 11 +-
29 files changed, 3222 insertions(+), 1 deletion(-)
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/azuredatatransfer.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/approveOrRejectConnection.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/createOrUpdateConnection.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/createOrUpdateFlow.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/createOrUpdatePipeline.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/deleteConnection.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/deleteFlow.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/deletePipeline.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/enableOrDisableFlow.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/getConnection.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/getFlow.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/getPipeline.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/linkConnection.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/linkFlow.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listConnectionsByResourceGroup.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listConnectionsBySubscription.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listFlowsByConnection.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listOperations.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listPendingConnections.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listPendingFlows.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listPipelinesByResourceGroup.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listPipelinesBySubscription.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listSchemas.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/patchConnection.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/patchFlow.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/patchPipeline.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/postListApprovedSchemas.json
create mode 100644 specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/postValidateSchema.json
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/azuredatatransfer.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/azuredatatransfer.json
new file mode 100644
index 000000000000..f70189067610
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/azuredatatransfer.json
@@ -0,0 +1,2400 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-05-07",
+ "title": "azuredatatransferrp",
+ "description": "Azure Data Transfer service resource provider"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "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.AzureDataTransfer/validateSchema": {
+ "post": {
+ "description": "Validates a schema for Azure Data Transfer.",
+ "x-ms-examples": {
+ "Performs action request": {
+ "$ref": "examples/postValidateSchema.json"
+ }
+ },
+ "operationId": "AzureDataTransfer_validateSchema",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "schema",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/schema"
+ },
+ "description": "The schema to validate"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Result of the schema validation.",
+ "schema": {
+ "$ref": "#/definitions/validateSchemaResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.AzureDataTransfer/listApprovedSchemas": {
+ "post": {
+ "description": "Lists approved schemas for Azure Data Transfer.",
+ "x-ms-examples": {
+ "Performs action request": {
+ "$ref": "examples/postListApprovedSchemas.json"
+ }
+ },
+ "operationId": "AzureDataTransfer_listApprovedSchemas",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "pipeline",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/listApprovedSchemasRequest"
+ },
+ "description": "The request to list approved schemas."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of approved schemas.",
+ "schema": {
+ "$ref": "#/definitions/schemasListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/flows/{flowName}": {
+ "get": {
+ "description": "Gets flow resource.",
+ "x-ms-examples": {
+ "Gets flow resource": {
+ "$ref": "examples/getFlow.json"
+ }
+ },
+ "operationId": "Flows_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/flowNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Retrieved the flows resource.",
+ "schema": {
+ "$ref": "#/definitions/flow"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "description": "Creates or updates the flow resource.",
+ "operationId": "Flows_CreateOrUpdate",
+ "x-ms-examples": {
+ "Creates or updates the flow resource": {
+ "$ref": "examples/createOrUpdateFlow.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/flowNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "flow",
+ "description": "Flow body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/flow"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Created the flows resource.",
+ "schema": {
+ "$ref": "#/definitions/flow"
+ }
+ },
+ "201": {
+ "description": "Accepted creation the flows resource.",
+ "schema": {
+ "$ref": "#/definitions/flow"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "delete": {
+ "description": "Deletes the flow resource.",
+ "x-ms-examples": {
+ "Deletes the flow resource": {
+ "$ref": "examples/deleteFlow.json"
+ }
+ },
+ "operationId": "Flows_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/flowNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted delete the flows resource.",
+ "headers": {
+ "location": {
+ "description": "Location response header",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Deleted the flows resource."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "patch": {
+ "description": "Updates the flow resource.",
+ "operationId": "Flows_Update",
+ "x-ms-examples": {
+ "Updates the flow resource": {
+ "$ref": "examples/patchFlow.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/flowNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "flow",
+ "description": "Flow body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/flowsPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated the flows resource.",
+ "schema": {
+ "$ref": "#/definitions/flow"
+ }
+ },
+ "202": {
+ "description": "Accepted update to the flows resource.",
+ "headers": {
+ "location": {
+ "description": "Location response header",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/flow"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/flows/{flowName}/enable": {
+ "post": {
+ "description": "Enables the specified flow.",
+ "x-ms-examples": {
+ "Enables the specified flow": {
+ "$ref": "examples/enableOrDisableFlow.json"
+ }
+ },
+ "operationId": "Flows_Enable",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/flowNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Enables a flow.",
+ "schema": {
+ "$ref": "#/definitions/flow"
+ }
+ },
+ "202": {
+ "description": "Enables a flow.",
+ "headers": {
+ "location": {
+ "description": "Location response header",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/flows/{flowName}/disable": {
+ "post": {
+ "description": "Disables the specified flow",
+ "x-ms-examples": {
+ "Disables the specified flow": {
+ "$ref": "examples/enableOrDisableFlow.json"
+ }
+ },
+ "operationId": "Flows_Disable",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/flowNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Disables a flow.",
+ "schema": {
+ "$ref": "#/definitions/flow"
+ }
+ },
+ "202": {
+ "description": "Disables a flow.",
+ "headers": {
+ "location": {
+ "description": "Location response header",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/flows/{flowName}/link": {
+ "post": {
+ "description": "Links the specified flow.",
+ "x-ms-examples": {
+ "Links the specified flow": {
+ "$ref": "examples/linkFlow.json"
+ }
+ },
+ "operationId": "Flows_Link",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/flowNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "flow",
+ "description": "Flow body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/resourceBody"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Links a flow.",
+ "schema": {
+ "$ref": "#/definitions/flow"
+ }
+ },
+ "202": {
+ "description": "Links a flow.",
+ "headers": {
+ "location": {
+ "description": "Location response header",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/flows": {
+ "get": {
+ "description": "Gets flows in a connection.",
+ "x-ms-examples": {
+ "Gets flows in a connection": {
+ "$ref": "examples/listFlowsByConnection.json"
+ }
+ },
+ "operationId": "Flows_ListByConnection",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Listed all flows under the resource group.",
+ "schema": {
+ "$ref": "#/definitions/flowsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}": {
+ "get": {
+ "description": "Gets connection resource.",
+ "x-ms-examples": {
+ "Gets connection resource": {
+ "$ref": "examples/getConnection.json"
+ }
+ },
+ "operationId": "Connections_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Retrieved the connections resource.",
+ "schema": {
+ "$ref": "#/definitions/connection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "description": "Creates or updates the connection resource.",
+ "operationId": "Connections_CreateOrUpdate",
+ "x-ms-examples": {
+ "Creates or updates the connection resource": {
+ "$ref": "examples/createOrUpdateConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "connection",
+ "description": "Connection body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/connection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Created the connections resource.",
+ "schema": {
+ "$ref": "#/definitions/connection"
+ }
+ },
+ "201": {
+ "description": "Accepted create of the connections resource.",
+ "schema": {
+ "$ref": "#/definitions/connection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "delete": {
+ "description": "Deletes the connection resource.",
+ "x-ms-examples": {
+ "Deletes the connection resource": {
+ "$ref": "examples/deleteConnection.json"
+ }
+ },
+ "operationId": "Connections_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted delete the connections resource.",
+ "headers": {
+ "location": {
+ "description": "Location response header",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Deleted the connections resource."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "patch": {
+ "description": "Updates the connection resource.",
+ "operationId": "Connections_Update",
+ "x-ms-examples": {
+ "Updates the connection resource": {
+ "$ref": "examples/patchConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "connection",
+ "description": "Connection body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/connectionsPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated the connections resource.",
+ "schema": {
+ "$ref": "#/definitions/connection"
+ }
+ },
+ "202": {
+ "description": "Accepted update to the connections resource.",
+ "headers": {
+ "location": {
+ "description": "Location response header",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/connection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/link": {
+ "post": {
+ "description": "Links the connection to its pending connection.",
+ "x-ms-examples": {
+ "Links the specified connection": {
+ "$ref": "examples/linkConnection.json"
+ }
+ },
+ "operationId": "Connections_Link",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "connection",
+ "description": "Connection body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/resourceBody"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Links a connection.",
+ "schema": {
+ "$ref": "#/definitions/connection"
+ }
+ },
+ "202": {
+ "description": "Links a connection.",
+ "headers": {
+ "location": {
+ "description": "Location response header",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/listPendingConnections": {
+ "post": {
+ "description": "Lists all pending connections for a connection.",
+ "x-ms-examples": {
+ "Lists a list of pending connections": {
+ "$ref": "examples/listPendingConnections.json"
+ }
+ },
+ "operationId": "ListPendingConnections_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Listed all pending connections.",
+ "schema": {
+ "$ref": "#/definitions/pendingConnectionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/listPendingFlows": {
+ "post": {
+ "description": "Lists all pending flows for a connection.",
+ "x-ms-examples": {
+ "Lists a list of pending flows": {
+ "$ref": "examples/listPendingFlows.json"
+ }
+ },
+ "operationId": "ListPendingFlows_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Listed all connections under the resource group.",
+ "schema": {
+ "$ref": "#/definitions/pendingFlowsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections": {
+ "get": {
+ "description": "Gets connections in a resource group.",
+ "x-ms-examples": {
+ "Gets connections in a resource group": {
+ "$ref": "examples/listConnectionsByResourceGroup.json"
+ }
+ },
+ "operationId": "Connections_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Listed all connections under the resource group.",
+ "schema": {
+ "$ref": "#/definitions/connectionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureDataTransfer/connections": {
+ "get": {
+ "description": "Gets connections in a subscription.",
+ "x-ms-examples": {
+ "Gets connections in a subscription": {
+ "$ref": "examples/listConnectionsBySubscription.json"
+ }
+ },
+ "operationId": "Connections_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Listed all connections under the subscription.",
+ "schema": {
+ "$ref": "#/definitions/connectionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/pipelines/{pipelineName}": {
+ "get": {
+ "description": "Gets pipeline resource.",
+ "x-ms-examples": {
+ "Gets pipeline resource": {
+ "$ref": "examples/getPipeline.json"
+ }
+ },
+ "operationId": "Pipelines_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/pipelineNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Retrieved the pipelines resource.",
+ "schema": {
+ "$ref": "#/definitions/pipeline"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "description": "Creates or updates the pipeline resource.",
+ "operationId": "Pipelines_CreateOrUpdate",
+ "x-ms-examples": {
+ "Creates or updates the pipeline resource": {
+ "$ref": "examples/createOrUpdatePipeline.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/pipelineNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "pipeline",
+ "description": "Pipeline body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/pipeline"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Created the pipelines resource.",
+ "schema": {
+ "$ref": "#/definitions/pipeline"
+ }
+ },
+ "201": {
+ "description": "Accepted create of the pipelines resource.",
+ "schema": {
+ "$ref": "#/definitions/pipeline"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "delete": {
+ "description": "Deletes the pipeline resource.",
+ "x-ms-examples": {
+ "Deletes the pipeline resource": {
+ "$ref": "examples/deletePipeline.json"
+ }
+ },
+ "operationId": "Pipelines_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/pipelineNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted delete of the pipelines resource.",
+ "headers": {
+ "location": {
+ "description": "Location response header",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Deleted the pipelines resource."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "patch": {
+ "description": "Updates the pipeline resource.",
+ "operationId": "Pipelines_Update",
+ "x-ms-examples": {
+ "Updates the pipeline resource": {
+ "$ref": "examples/patchPipeline.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/pipelineNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "pipeline",
+ "description": "Pipeline body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/pipelinesPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated the pipelines resource.",
+ "schema": {
+ "$ref": "#/definitions/pipeline"
+ }
+ },
+ "202": {
+ "description": "Accepted update to the pipelines resource.",
+ "headers": {
+ "location": {
+ "description": "Location response header",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/pipeline"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/pipelines/{pipelineName}/approveConnection": {
+ "post": {
+ "description": "Approves the specified connection in a pipeline.",
+ "x-ms-examples": {
+ "Approves the specified connection in a pipeline": {
+ "$ref": "examples/approveOrRejectConnection.json"
+ }
+ },
+ "operationId": "Pipelines_ApproveConnection",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/pipelineNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "connection",
+ "description": "Connection body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/resourceBody"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Approves a connection.",
+ "schema": {
+ "$ref": "#/definitions/connection"
+ }
+ },
+ "202": {
+ "description": "Approves a connection.",
+ "headers": {
+ "location": {
+ "description": "Location response header",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/pipelines/{pipelineName}/rejectConnection": {
+ "post": {
+ "description": "Rejects the specified connection in a pipeline.",
+ "x-ms-examples": {
+ "Rejects the specified connection in a pipeline": {
+ "$ref": "examples/approveOrRejectConnection.json"
+ }
+ },
+ "operationId": "Pipelines_RejectConnection",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/pipelineNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "connection",
+ "description": "Connection body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/resourceBody"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Rejects a connection.",
+ "schema": {
+ "$ref": "#/definitions/connection"
+ }
+ },
+ "202": {
+ "description": "Rejects a connection.",
+ "headers": {
+ "location": {
+ "description": "Location response header",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/pipelines/{pipelineName}/listSchemas": {
+ "post": {
+ "description": "Lists the schemas for the specified connection in a pipeline.",
+ "x-ms-examples": {
+ "Lists schemas for a pipeline": {
+ "$ref": "examples/listSchemas.json"
+ }
+ },
+ "operationId": "ListSchemas_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/pipelineNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "schema",
+ "description": "Schema(s) to retrieve",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/schema"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Approves a connection.",
+ "schema": {
+ "description": "The schemas for this connection",
+ "$ref": "#/definitions/schemasListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/pipelines": {
+ "get": {
+ "description": "Gets pipelines in a resource group.",
+ "x-ms-examples": {
+ "Gets pipelines in a resource group": {
+ "$ref": "examples/listPipelinesByResourceGroup.json"
+ }
+ },
+ "operationId": "Pipelines_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Listed all pipelines under the resource group.",
+ "schema": {
+ "$ref": "#/definitions/pipelinesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureDataTransfer/pipelines": {
+ "get": {
+ "description": "Gets pipelines in a subscription.",
+ "x-ms-examples": {
+ "Gets pipelines in a subscription": {
+ "$ref": "examples/listPipelinesBySubscription.json"
+ }
+ },
+ "operationId": "Pipelines_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Listed all pipelines under the subscription.",
+ "schema": {
+ "$ref": "#/definitions/pipelinesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.AzureDataTransfer/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "List operations": {
+ "$ref": "./examples/listOperations.json"
+ }
+ },
+ "description": "Lists all of the available Microsoft.AzureDataTransfer REST API operations.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Listed all of the available operations.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "validateSchemaResult": {
+ "type": "object",
+ "description": "Result of the schema validation.",
+ "properties": {
+ "status": {
+ "enum": [
+ "Succeeded",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "validateSchemaStatus",
+ "modelAsString": true
+ },
+ "description": "Validation status of the schema"
+ },
+ "message": {
+ "type": "string",
+ "description": "Message describing the schema validation"
+ }
+ }
+ },
+ "listApprovedSchemasRequest": {
+ "type": "object",
+ "properties": {
+ "pipeline": {
+ "type": "string",
+ "description": "The name of the pipeline to filter approved schemas."
+ },
+ "direction": {
+ "description": "The direction pipeline to filter approved schemas.",
+ "enum": [
+ "Send",
+ "Receive"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "listApprovedSchemasDirection",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "selectedResource": {
+ "type": "object",
+ "description": "A resource selected from ARM",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the connection"
+ },
+ "id": {
+ "type": "string",
+ "description": "Id of the connection"
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the connection",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "subscriptionName": {
+ "type": "string",
+ "description": "Name of the subscription with the connection"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "flowProperties": {
+ "type": "object",
+ "properties": {
+ "connection": {
+ "$ref": "#/definitions/selectedResource",
+ "description": "The connection associated with this flow"
+ },
+ "flowId": {
+ "type": "string",
+ "description": "Dataflow GUID associated with this flow",
+ "readOnly": true
+ },
+ "keyVaultUri": {
+ "type": "string",
+ "description": "AME, PME, or TORUS only! AKV Chain Containing SAS Token"
+ },
+ "linkStatus": {
+ "enum": [
+ "Linked",
+ "Unlinked"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "linkStatusFlow",
+ "modelAsString": true
+ },
+ "description": "Link status of the current flow",
+ "readOnly": true
+ },
+ "linkedFlowId": {
+ "type": "string",
+ "description": "Resource ID of the linked flow",
+ "readOnly": true
+ },
+ "status": {
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "flowStatus",
+ "modelAsString": true
+ },
+ "description": "Status of the current flow"
+ },
+ "storageAccountName": {
+ "type": "string",
+ "description": "Storage Account"
+ },
+ "storageAccountId": {
+ "type": "string",
+ "format": "arm-id",
+ "description": "Storage Account ID",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "scopes": [
+ "*"
+ ],
+ "type": "Microsoft.Storage/storageAccounts"
+ }
+ ]
+ }
+ },
+ "storageContainerName": {
+ "type": "string",
+ "description": "Storage Container Name"
+ },
+ "serviceBusQueueId": {
+ "type": "string",
+ "format": "arm-id",
+ "description": "Service Bus Queue ID",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "scopes": [
+ "*"
+ ],
+ "type": "Microsoft.Storage/namespaces/queues"
+ }
+ ]
+ }
+ },
+ "flowType": {
+ "$ref": "#/definitions/flowType",
+ "description": "The flow type for this flow"
+ },
+ "dataType": {
+ "enum": [
+ "Blob",
+ "Table"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "dataType",
+ "modelAsString": true
+ },
+ "description": "Transfer Storage Blobs or Tables"
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the flow",
+ "enum": [
+ "Failed",
+ "Succeeded",
+ "Canceled",
+ "Accepted"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "policies": {
+ "type": "array",
+ "description": "The policies for this flow",
+ "items": {
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/schema",
+ "description": "The selected schema for this flow"
+ },
+ "messagingOptions": {
+ "$ref": "#/definitions/messagingOptions",
+ "description": "The messaging options for this flow"
+ }
+ },
+ "description": "Properties of flow"
+ },
+ "flow": {
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/flowProperties"
+ },
+ "plan": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Plan"
+ },
+ "identity": {
+ "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity",
+ "description": "The managed identity of the flow resource, if configured."
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "The flow resource definition."
+ },
+ "pendingFlow": {
+ "type": "object",
+ "description": "Pending flow object",
+ "properties": {
+ "subscriptionId": {
+ "type": "string",
+ "description": "Subscription ID of the pending flow.",
+ "readOnly": true
+ },
+ "connectionId": {
+ "type": "string",
+ "description": "Connection ID of the pending flow.",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/flowProperties"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "flowsPatch": {
+ "type": "object",
+ "properties": {
+ "identity": {
+ "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity",
+ "description": "The managed identity of the flow resource, if configured."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "The flows resource patch definition."
+ },
+ "flowsListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/flow"
+ },
+ "description": "Flows array.",
+ "x-ms-identifiers": [
+ "id"
+ ]
+ },
+ "nextLink": {
+ "description": "Link to next results",
+ "type": "string"
+ }
+ },
+ "description": "The flows list result."
+ },
+ "connectionProperties": {
+ "type": "object",
+ "properties": {
+ "pipeline": {
+ "type": "string",
+ "description": "Pipeline to use to transfer data"
+ },
+ "direction": {
+ "description": "Direction of data movement",
+ "enum": [
+ "Send",
+ "Receive"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "direction",
+ "modelAsString": true
+ }
+ },
+ "justification": {
+ "type": "string",
+ "description": "Justification for the connection request"
+ },
+ "status": {
+ "description": "Status of the connection",
+ "enum": [
+ "InReview",
+ "Approved",
+ "Rejected",
+ "Accepted"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "status",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "statusReason": {
+ "type": "string",
+ "description": "Reason for status",
+ "readOnly": true
+ },
+ "linkStatus": {
+ "enum": [
+ "Linked",
+ "Unlinked"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "linkStatus",
+ "modelAsString": true
+ },
+ "description": "Link status of the current connection",
+ "readOnly": true
+ },
+ "linkedConnectionId": {
+ "type": "string",
+ "description": "Resource ID of the linked connection",
+ "readOnly": true
+ },
+ "flowTypes": {
+ "$ref": "#/definitions/flowTypes",
+ "description": "The flow types being requested for this connection"
+ },
+ "requirementId": {
+ "description": "Requirement ID of the connection",
+ "type": "string"
+ },
+ "remoteSubscriptionId": {
+ "description": "Subscription ID to link cloud subscriptions together",
+ "type": "string"
+ },
+ "approver": {
+ "description": "Approver of this connection request",
+ "type": "string",
+ "readOnly": true
+ },
+ "pin": {
+ "description": "PIN to link requests together",
+ "type": "string"
+ },
+ "dateSubmitted": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp that this connection request was submitted at",
+ "readOnly": true
+ },
+ "primaryContact": {
+ "type": "string",
+ "description": "The primary contact for this connection request"
+ },
+ "secondaryContacts": {
+ "type": "array",
+ "description": "The secondary contacts for this connection request",
+ "items": {
+ "type": "string"
+ }
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the connection",
+ "enum": [
+ "Failed",
+ "Succeeded",
+ "Canceled",
+ "Accepted"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "policies": {
+ "type": "array",
+ "description": "The policies for this connection",
+ "items": {
+ "type": "string"
+ }
+ },
+ "schemas": {
+ "description": "The schemas for this connection",
+ "$ref": "#/definitions/schemas"
+ }
+ },
+ "required": [
+ "pipeline"
+ ],
+ "description": "Properties of connection"
+ },
+ "connection": {
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/connectionProperties"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "The connection resource definition."
+ },
+ "pendingConnection": {
+ "type": "object",
+ "description": "Pending connection object",
+ "properties": {
+ "subscriptionId": {
+ "type": "string",
+ "description": "Subscription ID of the pending connection.",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/connectionProperties"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "connectionsPatch": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "The connections resource patch definition."
+ },
+ "connectionsListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/connection"
+ },
+ "description": "Connections array.",
+ "x-ms-identifiers": [
+ "id"
+ ]
+ },
+ "nextLink": {
+ "description": "Link to next results",
+ "type": "string"
+ }
+ },
+ "description": "The connections list result."
+ },
+ "pendingConnectionsListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/pendingConnection"
+ },
+ "description": "Connections array.",
+ "x-ms-identifiers": [
+ "id"
+ ]
+ },
+ "nextLink": {
+ "description": "Link to next results",
+ "type": "string"
+ }
+ },
+ "description": "The connections list result."
+ },
+ "pendingFlowsListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/pendingFlow"
+ },
+ "description": "flows array.",
+ "x-ms-identifiers": [
+ "id"
+ ]
+ },
+ "nextLink": {
+ "description": "Link to next results",
+ "type": "string"
+ }
+ },
+ "description": "The connections list result."
+ },
+ "operationStatusProperties": {
+ "type": "object",
+ "description": "Operation status associated with the last patch request",
+ "properties": {
+ "status": {
+ "enum": [
+ "Failed",
+ "Succeeded"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "operationStatusEnum",
+ "modelAsString": true
+ },
+ "description": "Operation status for the last patch request for this connection.",
+ "readOnly": true
+ },
+ "id": {
+ "type": "string",
+ "description": "Operation status ID of the last patch request for this connection.",
+ "readOnly": true
+ },
+ "message": {
+ "type": "string",
+ "description": "Message for the operation for the last patch request for this connection.",
+ "readOnly": true
+ }
+ }
+ },
+ "internalMetadataProperties": {
+ "type": "object",
+ "description": "Internal metadata of the connection inside pipeline.",
+ "properties": {
+ "operationStatus": {
+ "$ref": "#/definitions/operationStatusProperties"
+ },
+ "statusSetBy": {
+ "type": "string",
+ "description": "User that last set the approved status for this connection",
+ "readOnly": true
+ }
+ },
+ "additionalProperties": {}
+ },
+ "pipelineConnection": {
+ "description": "Connection body inside a pipeline",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Connection id inside pipeline"
+ },
+ "name": {
+ "type": "string",
+ "description": "Connection name inside pipeline",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "Connection type inside pipeline",
+ "readOnly": true
+ },
+ "location": {
+ "type": "string",
+ "description": "Connection location inside pipeline",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "readOnly": true
+ },
+ "etag": {
+ "type": "string",
+ "description": "Connection etag inside pipeline",
+ "readOnly": true
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData"
+ },
+ "properties": {
+ "type": "object",
+ "description": "Connection properties inside pipeline",
+ "properties": {
+ "internalMetadata": {
+ "$ref": "#/definitions/internalMetadataProperties"
+ }
+ },
+ "additionalProperties": {}
+ }
+ },
+ "additionalProperties": {},
+ "required": [
+ "id"
+ ]
+ },
+ "pipelineProperties": {
+ "type": "object",
+ "properties": {
+ "remoteCloud": {
+ "type": "string",
+ "description": "Remote cloud of the data to be transferred or received"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of this pipeline"
+ },
+ "connections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/pipelineConnection"
+ },
+ "description": "Connections associated with pipeline",
+ "readOnly": true,
+ "x-ms-identifiers": [
+ "id"
+ ]
+ },
+ "subscribers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/subscriber"
+ },
+ "x-ms-identifiers": [],
+ "description": "Subscribers of this resource"
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the pipeline",
+ "enum": [
+ "Failed",
+ "Succeeded",
+ "Canceled",
+ "Accepted"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "policies": {
+ "type": "array",
+ "description": "The policies for this pipeline",
+ "items": {
+ "type": "string"
+ }
+ },
+ "flowTypes": {
+ "$ref": "#/definitions/flowTypes",
+ "description": "The flow types allowed for this pipeline"
+ }
+ },
+ "required": [
+ "remoteCloud"
+ ],
+ "description": "Properties of pipeline"
+ },
+ "pipeline": {
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/pipelineProperties"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "The pipeline resource definition."
+ },
+ "pipelinesPatch": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "properties": {
+ "connections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/pipelineConnection"
+ },
+ "description": "Connections associated with pipeline",
+ "x-ms-identifiers": [
+ "id"
+ ]
+ },
+ "flowTypes": {
+ "$ref": "#/definitions/flowTypes",
+ "description": "The flow types allowed for this pipeline"
+ }
+ },
+ "description": "Properties of pipelines patch body."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "The pipelines resource patch definition."
+ },
+ "pipelinesListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/pipeline"
+ },
+ "description": "Pipelines array.",
+ "x-ms-identifiers": [
+ "id"
+ ]
+ },
+ "nextLink": {
+ "description": "Link to next results",
+ "type": "string"
+ }
+ },
+ "description": "The pipelines list result."
+ },
+ "subscriber": {
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "Email of the subscriber"
+ },
+ "notifications": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number specifying what notifications to receive"
+ }
+ }
+ },
+ "schemas": {
+ "type": "array",
+ "description": "The schemas for this connection",
+ "x-ms-identifiers": [
+ "connectionId",
+ "name"
+ ],
+ "items": {
+ "$ref": "#/definitions/schema"
+ }
+ },
+ "schema": {
+ "type": "object",
+ "description": "The schema object.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "ID associated with this schema"
+ },
+ "connectionId": {
+ "type": "string",
+ "description": "Connection ID associated with this schema"
+ },
+ "status": {
+ "enum": [
+ "New",
+ "Approved"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "schemaStatus",
+ "modelAsString": true
+ },
+ "description": "Status of the schema"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the schema"
+ },
+ "content": {
+ "type": "string",
+ "description": "Content of the schema"
+ },
+ "direction": {
+ "description": "The direction of the schema.",
+ "enum": [
+ "Send",
+ "Receive"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "schemaDirection",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "schemasListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Schemas array.",
+ "$ref": "#/definitions/schemas"
+ }
+ },
+ "description": "The schemas list result."
+ },
+ "flowTypes": {
+ "type": "array",
+ "description": "The flow types that are allowed for this resource",
+ "items": {
+ "$ref": "#/definitions/flowType"
+ }
+ },
+ "flowType": {
+ "enum": [
+ "Unknown",
+ "Complex",
+ "DevSecOps",
+ "Messaging",
+ "Mission",
+ "MicrosoftInternal",
+ "BasicFiles",
+ "Data",
+ "Standard",
+ "StreamingVideo",
+ "Opaque",
+ "MissionOpaqueXML"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "flowType",
+ "modelAsString": true
+ },
+ "description": "Flow type for the specified resource"
+ },
+ "resourceBody": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "ID of the resource."
+ },
+ "statusReason": {
+ "type": "string",
+ "description": "Reason for resource operation."
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "description": "The resource to reference."
+ },
+ "messagingOptions": {
+ "type": "object",
+ "properties": {
+ "billingTier": {
+ "enum": [
+ "BlobTransport",
+ "Standard",
+ "Premium"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "flowBillingTier",
+ "modelAsString": true
+ },
+ "description": "Billing tier for this messaging flow"
+ }
+ },
+ "description": "The option associated with messaging flows."
+ }
+ },
+ "parameters": {
+ "flowNameParameter": {
+ "x-ms-parameter-location": "method",
+ "name": "flowName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9-]{3,64}$",
+ "maxLength": 64,
+ "minLength": 3,
+ "description": "The name for the flow that is to be onboarded."
+ },
+ "connectionNameParameter": {
+ "x-ms-parameter-location": "method",
+ "name": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9-]{3,64}$",
+ "maxLength": 64,
+ "minLength": 3,
+ "description": "The name for the connection that is to be requested."
+ },
+ "pipelineNameParameter": {
+ "x-ms-parameter-location": "method",
+ "name": "pipelineName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9-]{3,64}$",
+ "maxLength": 64,
+ "minLength": 3,
+ "description": "The name for the pipeline that is to be requested."
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/approveOrRejectConnection.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/approveOrRejectConnection.json
new file mode 100644
index 000000000000..e3d72dc8dd90
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/approveOrRejectConnection.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "pipelineName": "testPipeline",
+ "resourceGroupName": "testRG",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "connection": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection",
+ "statusReason": "Example reason"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "http://management.azure.com/subscriptions/12345/providers/Microsoft.AzureDataTransfer/locations/eastUS?api-version=2024-05-07"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection",
+ "type": "Microsoft.AzureDataTransfer/connections",
+ "location": "East US",
+ "properties": {
+ "pipeline": "testdc",
+ "justification": "justification",
+ "requirementId": "id"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/createOrUpdateConnection.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/createOrUpdateConnection.json
new file mode 100644
index 000000000000..319f0db0e75c
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/createOrUpdateConnection.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "connectionName": "testConnection",
+ "resourceGroupName": "testRG",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "connection": {
+ "properties": {
+ "pipeline": "testdc",
+ "justification": "justification",
+ "requirementId": "id"
+ },
+ "location": "East US"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection",
+ "type": "Microsoft.AzureDataTransfer/connections",
+ "location": "East US",
+ "properties": {
+ "pipeline": "testdc",
+ "justification": "justification",
+ "requirementId": "id"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection",
+ "type": "Microsoft.AzureDataTransfer/connections",
+ "location": "East US",
+ "properties": {
+ "pipeline": "testdc",
+ "justification": "justification",
+ "requirementId": "id"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/createOrUpdateFlow.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/createOrUpdateFlow.json
new file mode 100644
index 000000000000..56f3179a2f64
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/createOrUpdateFlow.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "connectionName": "testConnection",
+ "flowName": "testFlow",
+ "resourceGroupName": "testRG",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "flow": {
+ "properties": {
+ "storageAccountName": "testsa",
+ "storageContainerName": "testcontainer",
+ "flowType": "Standard",
+ "connection": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection"
+ }
+ },
+ "location": "East US"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow",
+ "type": "Microsoft.AzureDataTransfer/flows",
+ "location": "East US"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow",
+ "type": "Microsoft.AzureDataTransfer/flows",
+ "location": "East US"
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/createOrUpdatePipeline.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/createOrUpdatePipeline.json
new file mode 100644
index 000000000000..265c5695e3fd
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/createOrUpdatePipeline.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "pipelineName": "testPipeline",
+ "resourceGroupName": "testRG",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "pipeline": {
+ "properties": {
+ "remoteCloud": "testdc"
+ },
+ "location": "East US"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/pipelines/testPipeline",
+ "type": "Microsoft.AzureDataTransfer/pipelines",
+ "location": "East US"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/pipelines/testPipeline",
+ "type": "Microsoft.AzureDataTransfer/pipelines",
+ "location": "East US"
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/deleteConnection.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/deleteConnection.json
new file mode 100644
index 000000000000..11ba85eddd3e
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/deleteConnection.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "connectionName": "testConnection",
+ "resourceGroupName": "testRG",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "http://management.azure.com/subscriptions/12345/providers/Microsoft.AzureDataTransfer/locations/eastUS?api-version=2024-05-07"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/deleteFlow.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/deleteFlow.json
new file mode 100644
index 000000000000..f9ef8d7853f9
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/deleteFlow.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "connectionName": "testConnection",
+ "flowName": "testFlow",
+ "resourceGroupName": "testRG",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "http://management.azure.com/subscriptions/12345/providers/Microsoft.AzureDataTransfer/locations/eastUS?api-version=2024-05-07"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/deletePipeline.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/deletePipeline.json
new file mode 100644
index 000000000000..c9a9ff7bdbc9
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/deletePipeline.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "pipelineName": "testPipeline",
+ "resourceGroupName": "testRG",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "http://management.azure.com/subscriptions/12345/providers/Microsoft.AzureDataTransfer/locations/eastUS?api-version=2024-05-07"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/enableOrDisableFlow.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/enableOrDisableFlow.json
new file mode 100644
index 000000000000..b256b3b9425d
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/enableOrDisableFlow.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "connectionName": "testConnection",
+ "flowName": "testFlow",
+ "resourceGroupName": "testRG",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow",
+ "type": "Microsoft.AzureDataTransfer/flows",
+ "location": "East US"
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "http://management.azure.com/subscriptions/12345/providers/Microsoft.AzureDataTransfer/locations/eastUS?api-version=2024-05-07"
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/getConnection.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/getConnection.json
new file mode 100644
index 000000000000..720b677100ff
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/getConnection.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "connectionName": "testConnection",
+ "resourceGroupName": "testRG",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connection/testConnection",
+ "type": "Microsoft.AzureDataTransfer/connections",
+ "location": "East US"
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/getFlow.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/getFlow.json
new file mode 100644
index 000000000000..9c8b4e0ccfa6
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/getFlow.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "connectionName": "testConnection",
+ "flowName": "testFlow",
+ "resourceGroupName": "testRG",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow",
+ "type": "Microsoft.AzureDataTransfer/flows",
+ "location": "East US"
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/getPipeline.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/getPipeline.json
new file mode 100644
index 000000000000..d0b8a32bdbef
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/getPipeline.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "pipelineName": "testPipeline",
+ "resourceGroupName": "testRG",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/pipelines/testPipeline",
+ "type": "Microsoft.AzureDataTransfer/pipelines",
+ "location": "East US"
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/linkConnection.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/linkConnection.json
new file mode 100644
index 000000000000..752823ea5b0f
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/linkConnection.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "connectionName": "testConnection",
+ "resourceGroupName": "testRG",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "connection": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection",
+ "type": "Microsoft.AzureDataTransfer/connection",
+ "location": "East US"
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "http://management.azure.com/subscriptions/12345/providers/Microsoft.AzureDataTransfer/locations/eastUS?api-version=2024-05-07"
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/linkFlow.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/linkFlow.json
new file mode 100644
index 000000000000..4f39abfc5385
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/linkFlow.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "connectionName": "testConnection",
+ "flowName": "testFlow",
+ "resourceGroupName": "testRG",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "flow": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow",
+ "type": "Microsoft.AzureDataTransfer/flows",
+ "location": "East US"
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "http://management.azure.com/subscriptions/12345/providers/Microsoft.AzureDataTransfer/locations/eastUS?api-version=2024-05-07"
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listConnectionsByResourceGroup.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listConnectionsByResourceGroup.json
new file mode 100644
index 000000000000..c266030c70c0
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listConnectionsByResourceGroup.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "resourceGroupName": "testRG",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testConnection",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection",
+ "type": "Microsoft.AzureDataTransfer/connections",
+ "location": "East US",
+ "properties": {
+ "pipeline": "testdc",
+ "justification": "justification",
+ "requirementId": "id"
+ }
+ },
+ {
+ "name": "testConnection2",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection2",
+ "type": "Microsoft.AzureDataTransfer/connections",
+ "location": "East US",
+ "properties": {
+ "pipeline": "testdc",
+ "justification": "justification",
+ "requirementId": "id"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listConnectionsBySubscription.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listConnectionsBySubscription.json
new file mode 100644
index 000000000000..34432d1b8a73
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listConnectionsBySubscription.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testConnection",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection",
+ "type": "Microsoft.AzureDataTransfer/connections",
+ "location": "East US",
+ "properties": {
+ "pipeline": "testdc",
+ "justification": "justification",
+ "requirementId": "id"
+ }
+ },
+ {
+ "name": "testConnection2",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection2",
+ "type": "Microsoft.AzureDataTransfer/connections",
+ "location": "East US",
+ "properties": {
+ "pipeline": "testdc",
+ "justification": "justification",
+ "requirementId": "id"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listFlowsByConnection.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listFlowsByConnection.json
new file mode 100644
index 000000000000..9a87876e7792
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listFlowsByConnection.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "resourceGroupName": "testRG",
+ "connectionName": "testConnection",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testConnection",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow",
+ "type": "Microsoft.AzureDataTransfer/connections/flows",
+ "location": "East US",
+ "properties": {
+ "storageAccountName": "testsa",
+ "storageContainerName": "testcontainer",
+ "flowType": "Standard",
+ "connection": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testFlow"
+ }
+ }
+ },
+ {
+ "name": "testConnection2",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection2/flows/testFlow",
+ "type": "Microsoft.AzureDataTransfer/connections/flows",
+ "location": "East US",
+ "properties": {
+ "storageAccountName": "testsa",
+ "storageContainerName": "testcontainer",
+ "flowType": "Standard",
+ "connection": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testFlow"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listOperations.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listOperations.json
new file mode 100644
index 000000000000..3034f110a90e
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listOperations.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "teleportalClient",
+ "api-version": "2024-05-07",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.AzureDataTransfer/read",
+ "display": {
+ "provider": "CTS Experience",
+ "resource": "Flow",
+ "operation": "Read flows",
+ "description": "Read flows"
+ }
+ },
+ {
+ "name": "Microsoft.AzureDataTransfer/write",
+ "display": {
+ "provider": "CTS Experience",
+ "resource": "Flow",
+ "operation": "Update flows",
+ "description": "Update flows"
+ }
+ },
+ {
+ "name": "Microsoft.AzureDataTransfer/delete",
+ "display": {
+ "provider": "CTS Experience",
+ "resource": "Flow",
+ "operation": "Delete flows",
+ "description": "Delete flows"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listPendingConnections.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listPendingConnections.json
new file mode 100644
index 000000000000..37357e5953c7
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listPendingConnections.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "resourceGroupName": "testRG",
+ "connectionName": "testConnection",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testConnection",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection",
+ "location": "East US",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "pipeline": "testdc",
+ "justification": "justification",
+ "requirementId": "id"
+ },
+ {
+ "name": "testConnection",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection",
+ "location": "East US",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "pipeline": "testdc",
+ "justification": "justification",
+ "requirementId": "id"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listPendingFlows.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listPendingFlows.json
new file mode 100644
index 000000000000..133d21a90312
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listPendingFlows.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "resourceGroupName": "testRG",
+ "connectionName": "testConnection",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testFlow",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow",
+ "type": "Microsoft.AzureDataTransfer/connections/flows",
+ "location": "East US",
+ "storageAccountName": "testsa",
+ "storageContainerName": "testcontainer",
+ "flowType": "Blob"
+ },
+ {
+ "name": "testInstallation2",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow",
+ "type": "Microsoft.AzureDataTransfer/connections/flows",
+ "location": "East US",
+ "storageAccountName": "testsa",
+ "storageContainerName": "testcontainer",
+ "flowType": "Blob"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listPipelinesByResourceGroup.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listPipelinesByResourceGroup.json
new file mode 100644
index 000000000000..56dece17d741
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listPipelinesByResourceGroup.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "resourceGroupName": "testRG",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testPipeline",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/pipelines/testPipeline",
+ "type": "Microsoft.AzureDataTransfer/pipelines",
+ "location": "East US",
+ "properties": {
+ "remoteCloud": "testdc"
+ }
+ },
+ {
+ "name": "testPipeline2",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/pipelines/testPipeline2",
+ "type": "Microsoft.AzureDataTransfer/pipelines",
+ "location": "East US",
+ "properties": {
+ "remoteCloud": "testdc"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listPipelinesBySubscription.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listPipelinesBySubscription.json
new file mode 100644
index 000000000000..db2e706c6ba4
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listPipelinesBySubscription.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "testPipeline",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/pipelines/testPipeline",
+ "type": "Microsoft.AzureDataTransfer/pipelines",
+ "location": "East US",
+ "properties": {
+ "remoteCloud": "testdc"
+ }
+ },
+ {
+ "name": "testPipeline2",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/pipelines/testPipeline2",
+ "type": "Microsoft.AzureDataTransfer/pipelines",
+ "location": "East US",
+ "properties": {
+ "remoteCloud": "testdc"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listSchemas.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listSchemas.json
new file mode 100644
index 000000000000..fc625b991ce5
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/listSchemas.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "pipelineName": "testPipeline",
+ "resourceGroupName": "testRG",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "schema": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection",
+ "name": "test.xsd"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "test.xsd",
+ "content": "xsd content"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/patchConnection.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/patchConnection.json
new file mode 100644
index 000000000000..60e92ca408c6
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/patchConnection.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "connectionName": "testConnection",
+ "resourceGroupName": "testRG",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "connection": {},
+ "tags": {
+ "tag": "value"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "http://management.azure.com/subscriptions/12345/providers/Microsoft.AzureDataTransfer/locations/eastUS?api-version=2024-05-07"
+ },
+ "body": {
+ "tags": {
+ "tag": "value"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection",
+ "type": "Microsoft.AzureDataTransfer/connections",
+ "location": "East US",
+ "properties": {
+ "pipeline": "testdc",
+ "justification": "justification",
+ "requirementId": "id"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "tags": {
+ "tag": "value"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection",
+ "type": "Microsoft.AzureDataTransfer/connections",
+ "location": "East US",
+ "properties": {
+ "pipeline": "testdc",
+ "justification": "justification",
+ "requirementId": "id"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/patchFlow.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/patchFlow.json
new file mode 100644
index 000000000000..b6f94cb4e9d3
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/patchFlow.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "connectionName": "testConnection",
+ "flowName": "testFlow",
+ "resourceGroupName": "testRG",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "flow": {},
+ "tags": {
+ "tag": "value"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "http://management.azure.com/subscriptions/12345/providers/Microsoft.AzureDataTransfer/locations/eastUS?api-version=2024-05-07"
+ },
+ "body": {
+ "tags": {
+ "tag": "value"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow",
+ "type": "Microsoft.AzureDataTransfer/connections/flows",
+ "location": "East US",
+ "properties": {
+ "storageAccountName": "testsa",
+ "storageContainerName": "testcontainer",
+ "flowType": "Standard",
+ "connection": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testFlow"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "tags": {
+ "tag": "value"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testConnection/flows/testFlow",
+ "type": "Microsoft.AzureDataTransfer/connections/flows",
+ "location": "East US",
+ "properties": {
+ "storageAccountName": "testsa",
+ "storageContainerName": "testcontainer",
+ "flowType": "Standard",
+ "connection": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/connections/testFlow"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/patchPipeline.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/patchPipeline.json
new file mode 100644
index 000000000000..e4fee607cd51
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/patchPipeline.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "pipelineName": "testPipeline",
+ "resourceGroupName": "testRG",
+ "api-version": "2024-05-07",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "pipeline": {},
+ "tags": {
+ "tag": "value"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "http://management.azure.com/subscriptions/12345/providers/Microsoft.AzureDataTransfer/locations/eastUS?api-version=2024-05-07"
+ },
+ "body": {
+ "tags": {
+ "tag": "value"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/pipelines/testPipeline",
+ "type": "Microsoft.AzureDataTransfer/pipelines",
+ "location": "East US",
+ "properties": {
+ "remoteCloud": "testdc"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "tags": {
+ "tag": "value"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.AzureDataTransfer/pipelines/testPipeline",
+ "type": "Microsoft.AzureDataTransfer/pipelines",
+ "location": "East US",
+ "properties": {
+ "remoteCloud": "testdc"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/postListApprovedSchemas.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/postListApprovedSchemas.json
new file mode 100644
index 000000000000..112204607668
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/postListApprovedSchemas.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2024-05-07",
+ "pipeline": {
+ "pipeline": "test",
+ "direction": "Send"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "test.xsd",
+ "content": "xsd content"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/postValidateSchema.json b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/postValidateSchema.json
new file mode 100644
index 000000000000..9b2c3871b48f
--- /dev/null
+++ b/specification/azuredatatransfer/resource-manager/Microsoft.AzureDataTransfer/stable/2024-05-07/examples/postValidateSchema.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2024-05-07",
+ "schema": {
+ "name": "schema.xml"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "Failed",
+ "message": "Validation failed"
+ }
+ }
+ }
+}
diff --git a/specification/azuredatatransfer/resource-manager/readme.md b/specification/azuredatatransfer/resource-manager/readme.md
index ef5fc181349f..4fa16a5b3e8e 100644
--- a/specification/azuredatatransfer/resource-manager/readme.md
+++ b/specification/azuredatatransfer/resource-manager/readme.md
@@ -27,10 +27,19 @@ These are the global settings for the azuredatatransfer.
``` yaml
openapi-type: arm
openapi-subtype: rpaas
-tag: package-2024-01
+tag: package-2024-05
```
+### Tag: package-2024-05
+
+These settings apply only when `--tag=package-2024-05` is specified on the command line.
+
+```yaml $(tag) == 'package-2024-05'
+input-file:
+ - Microsoft.AzureDataTransfer/stable/2024-05-07/azuredatatransfer.json
+```
+
### Tag: package-2024-01
These settings apply only when `--tag=package-2024-01` is specified on the command line.
From 82846235e39ef4ee910772d2ff1ef58a349bfdb6 Mon Sep 17 00:00:00 2001
From: hamshavathimunibyraiah
<125092972+hamshavathimunibyraiah@users.noreply.github.com>
Date: Mon, 10 Jun 2024 23:44:23 -0700
Subject: [PATCH 144/343] Adding documentation for properties (#29382)
* Adding documentation of properties and making some changes to java and js SDK generation
* Reverting the tspconfig change
* fixing formatting
* Fixing typeSpec validation error on build
---
package-lock.json | 14 +++++++-------
.../Azure.AI.DocumentTranslation/models.tsp | 4 ++--
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index dbaa7f94bbe2..1637d0e1fb9d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1925,12 +1925,12 @@
}
},
"node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
"dependencies": {
- "fill-range": "^7.0.1"
+ "fill-range": "^7.1.1"
},
"engines": {
"node": ">=8"
@@ -2319,9 +2319,9 @@
}
},
"node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
"dependencies": {
"to-regex-range": "^5.0.1"
diff --git a/specification/translation/Azure.AI.DocumentTranslation/models.tsp b/specification/translation/Azure.AI.DocumentTranslation/models.tsp
index 0b1c6116e494..73ec6c09922c 100644
--- a/specification/translation/Azure.AI.DocumentTranslation/models.tsp
+++ b/specification/translation/Azure.AI.DocumentTranslation/models.tsp
@@ -84,10 +84,10 @@ union StorageSource {
@doc("List of possible additional output formats")
union AdditionalOutputFileFormat {
- /** No additional format */
+ @doc("No additional format")
None: "None",
- /** OpenXmlWord format */
+ @doc("OpenXmlWord format")
OpenXmlWord: "OpenXmlWord",
string,
From 0bfaa5127dd7dfea140acb630da3d1a2d8b41ffd Mon Sep 17 00:00:00 2001
From: ZhidaLiu
Date: Mon, 10 Jun 2024 23:46:00 -0700
Subject: [PATCH 145/343] Fix Account Key Type and CogServices SKU Location
(#29025)
* Account Key Type
* Account key Preview Spec
* "Sku Updates"
* Remove Endpoint Type from Schema
* Add x-ms-secret to account key property
---------
Co-authored-by: Matthew Ferrari <124112629+matferrari-msft@users.noreply.github.com>
Co-authored-by: Matthew Ferrari
---
.../examples/Endpoint/Deployment/create.json | 2 -
.../examples/Endpoint/Deployment/get.json | 1 -
.../Endpoint/Deployment/getDeployments.json | 1 -
.../Endpoint/Deployment/getInWorkspace.json | 1 -
.../WorkspaceConnection/createDeployment.json | 3 -
.../WorkspaceConnection/getDeployment.json | 1 -
.../WorkspaceConnection/listDeployments.json | 1 -
.../2024-04-01-preview/workspaceRP.json | 83 +++++--------------
.../2024-04-01/machineLearningServices.json | 12 ++-
9 files changed, 30 insertions(+), 75 deletions(-)
diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/Endpoint/Deployment/create.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/Endpoint/Deployment/create.json
index 0d7c5d38400f..5b8b152044e2 100644
--- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/Endpoint/Deployment/create.json
+++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/Endpoint/Deployment/create.json
@@ -8,7 +8,6 @@
"api-version": "2024-04-01-preview",
"body": {
"properties": {
- "type": "Azure.OpenAI",
"model": {
"format": "OpenAI",
"name": "text-davinci-003",
@@ -31,7 +30,6 @@
"name": "text-davinci-003",
"type": "Microsoft.MachineLearningServices/workspaces/endpoints/deployments",
"properties": {
- "type": "Azure.OpenAI",
"model": {
"format": "OpenAI",
"name": "text-davinci-003",
diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/Endpoint/Deployment/get.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/Endpoint/Deployment/get.json
index d78ff733ba16..139d7cadbe81 100644
--- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/Endpoint/Deployment/get.json
+++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/Endpoint/Deployment/get.json
@@ -20,7 +20,6 @@
"name": "text-davinci-003",
"type": "Microsoft.MachineLearningServices/workspaces/endpoints/deployments",
"properties": {
- "type": "Azure.OpenAI",
"model": {
"format": "OpenAI",
"name": "text-davinci-003",
diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/Endpoint/Deployment/getDeployments.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/Endpoint/Deployment/getDeployments.json
index 555ad524d752..000a604af11e 100644
--- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/Endpoint/Deployment/getDeployments.json
+++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/Endpoint/Deployment/getDeployments.json
@@ -21,7 +21,6 @@
"name": "text-davinci-003",
"type": "Microsoft.MachineLearningServices/workspaces/endpoints/deployments",
"properties": {
- "type": "Azure.OpenAI",
"model": {
"format": "OpenAI",
"name": "text-davinci-003",
diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/Endpoint/Deployment/getInWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/Endpoint/Deployment/getInWorkspace.json
index a10bd84719b2..adb99272c435 100644
--- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/Endpoint/Deployment/getInWorkspace.json
+++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/Endpoint/Deployment/getInWorkspace.json
@@ -20,7 +20,6 @@
"name": "text-davinci-003",
"type": "Microsoft.MachineLearningServices/workspaces/endpoints/deployments",
"properties": {
- "type": "Azure.OpenAI",
"model": {
"format": "OpenAI",
"name": "text-davinci-003",
diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/WorkspaceConnection/createDeployment.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/WorkspaceConnection/createDeployment.json
index 0e63735ca681..4ca24a7da91f 100644
--- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/WorkspaceConnection/createDeployment.json
+++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/WorkspaceConnection/createDeployment.json
@@ -8,7 +8,6 @@
"api-version": "2024-04-01-preview",
"body": {
"properties": {
- "type": "Azure.OpenAI",
"model": {
"format": "OpenAI",
"name": "text-davinci-003",
@@ -31,7 +30,6 @@
"name": "text-davinci-003",
"type": "Microsoft.MachineLearningServices/workspaces/connections/deployments",
"properties": {
- "type": "Azure.OpenAI",
"model": {
"format": "OpenAI",
"name": "text-davinci-003",
@@ -56,7 +54,6 @@
"name": "text-davinci-003",
"type": "Microsoft.MachineLearningServices/workspaces/connections/deployments",
"properties": {
- "type": "Azure.OpenAI",
"model": {
"format": "OpenAI",
"name": "text-davinci-003",
diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/WorkspaceConnection/getDeployment.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/WorkspaceConnection/getDeployment.json
index e7ece185d1d8..d02138d739d1 100644
--- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/WorkspaceConnection/getDeployment.json
+++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/WorkspaceConnection/getDeployment.json
@@ -20,7 +20,6 @@
"name": "text-davinci-003",
"type": "Microsoft.MachineLearningServices/workspaces/connections/deployments",
"properties": {
- "type": "Azure.OpenAI",
"model": {
"format": "OpenAI",
"name": "text-davinci-003",
diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/WorkspaceConnection/listDeployments.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/WorkspaceConnection/listDeployments.json
index 98edc266d7fd..14f2caf80ba5 100644
--- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/WorkspaceConnection/listDeployments.json
+++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/examples/WorkspaceConnection/listDeployments.json
@@ -21,7 +21,6 @@
"name": "text-davinci-003",
"type": "Microsoft.MachineLearningServices/workspaces/connections/deployments",
"properties": {
- "type": "Azure.OpenAI",
"model": {
"format": "OpenAI",
"name": "text-davinci-003",
diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/workspaceRP.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/workspaceRP.json
index 716135740c2b..6991301becf7 100644
--- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/workspaceRP.json
+++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2024-04-01-preview/workspaceRP.json
@@ -3756,7 +3756,7 @@
],
"properties": {
"credentials": {
- "$ref": "#/definitions/WorkspaceConnectionSharedAccessSignature"
+ "$ref": "#/definitions/WorkspaceConnectionAccountKey"
}
},
"x-ms-discriminator-value": "AccountKey"
@@ -3928,9 +3928,6 @@
"type": "string",
"description": "The name of RAI policy."
},
- "sku": {
- "$ref": "#/definitions/CognitiveServicesSku"
- },
"versionUpgradeOption": {
"description": "Deployment model version upgrade option.",
"type": "string",
@@ -4125,18 +4122,6 @@
"modelAsString": true
}
},
- "ContentSafetyEndpointDeploymentResourceProperties": {
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/CognitiveServiceEndpointDeploymentResourceProperties"
- },
- {
- "$ref": "#/definitions/EndpointDeploymentResourceProperties"
- }
- ],
- "x-ms-discriminator-value": "Azure.ContentSafety"
- },
"ContentSafetyEndpointResourceProperties": {
"type": "object",
"allOf": [
@@ -4518,27 +4503,18 @@
}
},
"EndpointDeploymentResourceProperties": {
- "required": [
- "type"
- ],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CognitiveServiceEndpointDeploymentResourceProperties"
+ }
+ ],
"properties": {
- "failureReason": {
- "description": "The failure reason if the creation failed.",
- "type": "string"
- },
"provisioningState": {
"description": "Read-only provision state status property.",
"$ref": "#/definitions/DefaultResourceProvisioningState"
- },
- "type": {
- "description": "Kind of the deployment.",
- "minLength": 1,
- "pattern": "[a-zA-Z0-9._]",
- "type": "string"
}
- },
- "discriminator": "type"
+ }
},
"EndpointDeploymentResourcePropertiesBasicResource": {
"required": [
@@ -4553,6 +4529,9 @@
"properties": {
"properties": {
"$ref": "#/definitions/EndpointDeploymentResourceProperties"
+ },
+ "sku": {
+ "$ref": "#/definitions/CognitiveServicesSku"
}
}
},
@@ -4975,15 +4954,6 @@
"modelAsString": true
}
},
- "ManagedOnlineEndpointDeploymentResourceProperties": {
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/EndpointDeploymentResourceProperties"
- }
- ],
- "x-ms-discriminator-value": "managedOnlineEndpoint"
- },
"ManagedOnlineEndpointResourceProperties": {
"type": "object",
"allOf": [
@@ -5164,18 +5134,6 @@
},
"x-ms-discriminator-value": "OAuth2"
},
- "OpenAIEndpointDeploymentResourceProperties": {
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/CognitiveServiceEndpointDeploymentResourceProperties"
- },
- {
- "$ref": "#/definitions/EndpointDeploymentResourceProperties"
- }
- ],
- "x-ms-discriminator-value": "Azure.OpenAI"
- },
"OpenAIEndpointResourceProperties": {
"type": "object",
"allOf": [
@@ -5992,18 +5950,6 @@
}
}
},
- "SpeechEndpointDeploymentResourceProperties": {
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/CognitiveServiceEndpointDeploymentResourceProperties"
- },
- {
- "$ref": "#/definitions/EndpointDeploymentResourceProperties"
- }
- ],
- "x-ms-discriminator-value": "Azure.Speech"
- },
"SpeechEndpointResourceProperties": {
"type": "object",
"allOf": [
@@ -6279,6 +6225,15 @@
}
}
},
+ "WorkspaceConnectionAccountKey": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "x-ms-secret": true
+ }
+ }
+ },
"WorkspaceConnectionUpdateParameter": {
"description": "The properties that the machine learning workspace connection will be updated with.",
"type": "object",
diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2024-04-01/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2024-04-01/machineLearningServices.json
index de9a74144b7f..a4933d897ebf 100644
--- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2024-04-01/machineLearningServices.json
+++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2024-04-01/machineLearningServices.json
@@ -6692,6 +6692,16 @@
},
"additionalProperties": false
},
+ "WorkspaceConnectionAccountKey": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "x-ms-secret": true
+ }
+ },
+ "additionalProperties": false
+ },
"SASAuthTypeWorkspaceConnectionProperties": {
"type": "object",
"allOf": [
@@ -7103,7 +7113,7 @@
],
"properties": {
"credentials": {
- "$ref": "#/definitions/WorkspaceConnectionSharedAccessSignature"
+ "$ref": "#/definitions/WorkspaceConnectionAccountKey"
}
},
"x-ms-discriminator-value": "AccountKey"
From e5597e43d46493da4a7aa8d1cf8adcd4d164018e Mon Sep 17 00:00:00 2001
From: FumingZhang <81607949+FumingZhang@users.noreply.github.com>
Date: Tue, 11 Jun 2024 14:47:14 +0800
Subject: [PATCH 146/343] Review request for Microsoft.ContainerService/aks to
add version preview/2024-04-02-preview (#29061)
* Adds base for updating Microsoft.ContainerService/aks from version preview/2024-03-02-preview to version 2024-04-02-preview
* Updates readme
* Updates API version in new specs and examples
* add undrainableNodeBehavior property (#28919)
* add undrainableNodeBehavior property
* fix some spell errors
* fix some grammer issues
* MixSku Pool Autoscale mode API Change (#29052)
* MixSku Pool Autoscale mode API Change
* Prettier
---------
Co-authored-by: wenxuanW
* Add swagger defination for IMDS restriction feature (#29044)
* Add swagger defination for IMDS restriction feature
* update swagger
* fix spell
* add none to outbound type in aks managedCluster (#29095)
* add componentsByReleases (#29002)
* update(retina): update adv networking to note additional costs (#29245)
* apply code review (#29272)
* apply code review
* remove wireserver description because it's not link local address
* apply code review
* remove(monitoring): remove network monitoring profile from api 04-02 preview (#29279)
---------
Co-authored-by: zjpjack-github <136433002+zjpjack-github@users.noreply.github.com>
Co-authored-by: Thalia Wang <58485997+wenxuan0923@users.noreply.github.com>
Co-authored-by: wenxuanW
Co-authored-by: Tongyao Si
Co-authored-by: Fan Shang Xiang
Co-authored-by: Shaoru Hu <49520642+HuShaoRu@users.noreply.github.com>
Co-authored-by: Steven Nguyen <30740718+snguyen64@users.noreply.github.com>
---
cSpell.json | 5 +-
.../examples/AgentPoolsAbortOperation.json | 18 +
.../examples/AgentPoolsAssociate_CRG.json | 54 +
.../AgentPoolsCreate_CustomNodeConfig.json | 124 +
.../AgentPoolsCreate_DedicatedHostGroup.json | 54 +
.../AgentPoolsCreate_EnableCustomCATrust.json | 54 +
...entPoolsCreate_EnableEncryptionAtHost.json | 54 +
.../examples/AgentPoolsCreate_EnableFIPS.json | 54 +
.../AgentPoolsCreate_EnableUltraSSD.json | 54 +
.../examples/AgentPoolsCreate_Ephemeral.json | 58 +
.../examples/AgentPoolsCreate_GPUMIG.json | 127 +
.../AgentPoolsCreate_MessageOfTheDay.json | 60 +
.../examples/AgentPoolsCreate_OSSKU.json | 127 +
.../examples/AgentPoolsCreate_PPG.json | 54 +
.../examples/AgentPoolsCreate_Snapshot.json | 63 +
.../examples/AgentPoolsCreate_Spot.json | 86 +
.../AgentPoolsCreate_TypeVirtualMachines.json | 136 +
...sCreate_TypeVirtualMachines_Autoscale.json | 139 +
.../examples/AgentPoolsCreate_Update.json | 87 +
.../examples/AgentPoolsCreate_WasmWasi.json | 60 +
...PoolsCreate_WindowsDisableOutboundNAT.json | 63 +
.../AgentPoolsCreate_WindowsOSSKU.json | 54 +
.../examples/AgentPoolsDelete.json | 17 +
.../examples/AgentPoolsDeleteMachines.json | 22 +
...PoolsDelete_IgnorePodDisruptionBudget.json | 18 +
.../examples/AgentPoolsGet.json | 31 +
...entPoolsGetAgentPoolAvailableVersions.json | 32 +
.../examples/AgentPoolsGetUpgradeProfile.json | 28 +
.../examples/AgentPoolsList.json | 31 +
.../AgentPoolsUpgradeNodeImageVersion.json | 34 +
.../examples/AgentPools_Start.json | 52 +
.../examples/AgentPools_Stop.json | 52 +
.../examples/AgentPools_Update.json | 75 +
.../ContainerServiceGetOSOptions.json | 28 +
.../examples/GetGuardrailsVersions.json | 21 +
.../examples/GetSafeguardsVersions.json | 21 +
.../examples/KubernetesVersions_List.json | 97 +
.../examples/ListGuardrailsVersions.json | 24 +
.../examples/ListSafeguardsVersions.json | 24 +
.../LoadBalancers_Create_Or_Update.json | 42 +
.../examples/LoadBalancers_Delete.json | 17 +
.../examples/LoadBalancers_Get.json | 23 +
.../examples/LoadBalancers_List.json | 26 +
.../examples/LoadBalancers_Rebalance.json | 20 +
.../examples/MachineGet.json | 34 +
.../examples/MachineList.json | 38 +
...aintenanceConfigurationsCreate_Update.json | 94 +
...ationsCreate_Update_MaintenanceWindow.json | 116 +
.../MaintenanceConfigurationsDelete.json | 13 +
...onfigurationsDelete_MaintenanceWindow.json | 13 +
.../MaintenanceConfigurationsGet.json | 42 +
...ceConfigurationsGet_MaintenanceWindow.json | 48 +
.../MaintenanceConfigurationsList.json | 37 +
...eConfigurationsList_MaintenanceWindow.json | 61 +
.../ManagedClusterSnapshotsCreate.json | 96 +
.../ManagedClusterSnapshotsDelete.json | 12 +
.../examples/ManagedClusterSnapshotsGet.json | 47 +
.../examples/ManagedClusterSnapshotsList.json | 49 +
...edClusterSnapshotsListByResourceGroup.json | 50 +
.../ManagedClusterSnapshotsUpdateTags.json | 53 +
.../ManagedClustersAbortOperation.json | 17 +
.../ManagedClustersAssociate_CRG.json | 254 +
...rsCreate_AzureKeyvaultSecretsProvider.json | 259 +
...anagedClustersCreate_AzureServiceMesh.json | 346 +
...agedClustersCreate_DedicatedHostGroup.json | 251 +
...nagedClustersCreate_DisableRunCommand.json | 265 +
...gedClustersCreate_DualStackNetworking.json | 321 +
...stersCreate_EnableAIToolchainOperator.json | 236 +
...gedClustersCreate_EnableCustomCATrust.json | 269 +
...ClustersCreate_EnableEncryptionAtHost.json | 254 +
.../ManagedClustersCreate_EnableUltraSSD.json | 254 +
.../ManagedClustersCreate_EnabledFIPS.json | 254 +
.../ManagedClustersCreate_GPUMIG.json | 281 +
.../ManagedClustersCreate_HTTPProxy.json | 278 +
...rsCreate_IngressProfile_WebAppRouting.json | 249 +
.../ManagedClustersCreate_MCSnapshot.json | 222 +
...nagedClustersCreate_ManagedNATGateway.json | 231 +
...edClustersCreate_NodeAutoProvisioning.json | 229 +
...agedClustersCreate_NodePublicIPPrefix.json | 254 +
.../examples/ManagedClustersCreate_OSSKU.json | 281 +
.../examples/ManagedClustersCreate_PPG.json | 254 +
.../ManagedClustersCreate_PodIdentity.json | 263 +
.../ManagedClustersCreate_Premium.json | 270 +
...ersCreate_PrivateClusterFQDNSubdomain.json | 264 +
...ustersCreate_PrivateClusterPublicFQDN.json | 268 +
...ManagedClustersCreate_SecurityProfile.json | 251 +
.../ManagedClustersCreate_Snapshot.json | 263 +
.../ManagedClustersCreate_Update.json | 315 +
...nagedClustersCreate_UpdateWindowsGmsa.json | 299 +
.../ManagedClustersCreate_UpdateWithAHUB.json | 293 +
...stersCreate_UpdateWithEnableAzureRBAC.json | 282 +
...te_UpdateWithEnableNamespaceResources.json | 269 +
...ClustersCreate_UserAssignedNATGateway.json | 198 +
...ManagedClustersCreate_VirtualMachines.json | 229 +
.../examples/ManagedClustersDelete.json | 16 +
.../examples/ManagedClustersGet.json | 114 +
.../ManagedClustersGetAccessProfile.json | 22 +
.../ManagedClustersGetUpgradeProfile.json | 49 +
...anagedClustersGet_MeshRevisionProfile.json | 53 +
...ManagedClustersGet_MeshUpgradeProfile.json | 35 +
.../examples/ManagedClustersList.json | 67 +
.../ManagedClustersListByResourceGroup.json | 66 +
...edClustersListClusterCredentialResult.json | 20 +
...agedClustersList_MeshRevisionProfiles.json | 56 +
...nagedClustersList_MeshUpgradeProfiles.json | 38 +
.../ManagedClustersResetAADProfile.json | 22 +
...dClustersResetServicePrincipalProfile.json | 20 +
...agedClustersRotateClusterCertificates.json | 16 +
...ustersRotateServiceAccountSigningKeys.json | 16 +
.../examples/ManagedClustersStart.json | 16 +
.../examples/ManagedClustersStop.json | 16 +
.../examples/ManagedClustersUpdateTags.json | 68 +
.../examples/OperationStatusResultGet.json | 20 +
.../OperationStatusResultGetByAgentPool.json | 21 +
.../examples/OperationStatusResultList.json | 34 +
.../examples/Operation_List.json | 3583 ++++++
...boundNetworkDependenciesEndpointsList.json | 242 +
.../PrivateEndpointConnectionsDelete.json | 13 +
.../PrivateEndpointConnectionsGet.json | 27 +
.../PrivateEndpointConnectionsList.json | 30 +
.../PrivateEndpointConnectionsUpdate.json | 50 +
.../examples/PrivateLinkResourcesList.json | 25 +
.../examples/ResolvePrivateLinkServiceId.json | 18 +
.../examples/RunCommandRequest.json | 33 +
.../examples/RunCommandResultFailed.json | 25 +
.../examples/RunCommandResultSucceed.json | 28 +
.../examples/SnapshotsCreate.json | 80 +
.../examples/SnapshotsDelete.json | 12 +
.../examples/SnapshotsGet.json | 39 +
.../examples/SnapshotsList.json | 41 +
.../SnapshotsListByResourceGroup.json | 42 +
.../examples/SnapshotsUpdateTags.json | 45 +
...stedAccessRoleBindings_CreateOrUpdate.json | 48 +
.../TrustedAccessRoleBindings_Delete.json | 17 +
.../TrustedAccessRoleBindings_Get.json | 25 +
.../TrustedAccessRoleBindings_List.json | 28 +
.../examples/TrustedAccessRoles_List.json | 34 +
.../2024-04-02-preview/managedClusters.json | 10224 ++++++++++++++++
.../aks/readme.java.md | 14 +
.../Microsoft.ContainerService/aks/readme.md | 10 +-
.../aks/readme.python.md | 13 +-
141 files changed, 27374 insertions(+), 3 deletions(-)
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsAbortOperation.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsAssociate_CRG.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_CustomNodeConfig.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_DedicatedHostGroup.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_EnableCustomCATrust.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_EnableEncryptionAtHost.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_EnableFIPS.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_EnableUltraSSD.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_Ephemeral.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_GPUMIG.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_MessageOfTheDay.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_OSSKU.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_PPG.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_Snapshot.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_Spot.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_TypeVirtualMachines.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_TypeVirtualMachines_Autoscale.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_Update.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_WasmWasi.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_WindowsOSSKU.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsDelete.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsDeleteMachines.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsDelete_IgnorePodDisruptionBudget.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsGet.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsGetAgentPoolAvailableVersions.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsGetUpgradeProfile.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsList.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsUpgradeNodeImageVersion.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPools_Start.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPools_Stop.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPools_Update.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ContainerServiceGetOSOptions.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/GetGuardrailsVersions.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/GetSafeguardsVersions.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/KubernetesVersions_List.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ListGuardrailsVersions.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ListSafeguardsVersions.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/LoadBalancers_Create_Or_Update.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/LoadBalancers_Delete.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/LoadBalancers_Get.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/LoadBalancers_List.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/LoadBalancers_Rebalance.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MachineGet.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MachineList.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsCreate_Update.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsDelete.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsGet.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsGet_MaintenanceWindow.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsList.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsList_MaintenanceWindow.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsCreate.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsDelete.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsGet.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsList.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsListByResourceGroup.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsUpdateTags.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersAbortOperation.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersAssociate_CRG.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_AzureServiceMesh.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_DedicatedHostGroup.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_DisableRunCommand.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_DualStackNetworking.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_EnableAIToolchainOperator.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_EnableCustomCATrust.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_EnableEncryptionAtHost.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_EnableUltraSSD.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_EnabledFIPS.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_GPUMIG.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_HTTPProxy.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_MCSnapshot.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_ManagedNATGateway.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_NodeAutoProvisioning.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_NodePublicIPPrefix.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_OSSKU.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_PPG.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_PodIdentity.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_Premium.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_SecurityProfile.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_Snapshot.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_Update.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_UpdateWindowsGmsa.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_UpdateWithAHUB.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_UserAssignedNATGateway.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_VirtualMachines.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersDelete.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersGet.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersGetAccessProfile.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersGetUpgradeProfile.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersGet_MeshRevisionProfile.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersGet_MeshUpgradeProfile.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersList.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersListByResourceGroup.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersListClusterCredentialResult.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersList_MeshRevisionProfiles.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersList_MeshUpgradeProfiles.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersResetAADProfile.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersResetServicePrincipalProfile.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersRotateClusterCertificates.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersRotateServiceAccountSigningKeys.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersStart.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersStop.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersUpdateTags.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/OperationStatusResultGet.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/OperationStatusResultGetByAgentPool.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/OperationStatusResultList.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/Operation_List.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/OutboundNetworkDependenciesEndpointsList.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/PrivateEndpointConnectionsDelete.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/PrivateEndpointConnectionsGet.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/PrivateEndpointConnectionsList.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/PrivateEndpointConnectionsUpdate.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/PrivateLinkResourcesList.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ResolvePrivateLinkServiceId.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/RunCommandRequest.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/RunCommandResultFailed.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/RunCommandResultSucceed.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsCreate.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsDelete.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsGet.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsList.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsListByResourceGroup.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsUpdateTags.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/TrustedAccessRoleBindings_CreateOrUpdate.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/TrustedAccessRoleBindings_Delete.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/TrustedAccessRoleBindings_Get.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/TrustedAccessRoleBindings_List.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/TrustedAccessRoles_List.json
create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json
diff --git a/cSpell.json b/cSpell.json
index e72217ed3b24..bf6503e69ecf 100644
--- a/cSpell.json
+++ b/cSpell.json
@@ -190,7 +190,10 @@
"words": [
"vtpm",
"trustedlaunch",
- "aksadvancednetworking"
+ "aksadvancednetworking",
+ "PDBs",
+ "undrainable",
+ "Undrainable"
]
},
{
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsAbortOperation.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsAbortOperation.json
new file mode 100644
index 000000000000..e90a963d6bed
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsAbortOperation.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "204": {},
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2017-08-31",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2017-08-31"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsAssociate_CRG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsAssociate_CRG.json
new file mode 100644
index 000000000000..7fb699beb532
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsAssociate_CRG.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/CapacityReservationGroups/crg1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_CustomNodeConfig.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_CustomNodeConfig.json
new file mode 100644
index 000000000000..fb6891b4c9be
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_CustomNodeConfig.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 12345,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.8",
+ "currentOrchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 12345,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.8",
+ "currentOrchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false,
+ "podMaxPids": 100
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 65536,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_DedicatedHostGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_DedicatedHostGroup.json
new file mode 100644
index 000000000000..27887e110a7d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_DedicatedHostGroup.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.19.6",
+ "currentOrchestratorVersion": "1.19.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.19.6",
+ "currentOrchestratorVersion": "1.19.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_EnableCustomCATrust.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_EnableCustomCATrust.json
new file mode 100644
index 000000000000..57eefe6ffe3a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_EnableCustomCATrust.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "enableCustomCATrust": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.19.6",
+ "currentOrchestratorVersion": "1.19.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableCustomCATrust": true
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.19.6",
+ "currentOrchestratorVersion": "1.19.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableCustomCATrust": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_EnableEncryptionAtHost.json
new file mode 100644
index 000000000000..2b16ea5cd589
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_EnableEncryptionAtHost.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "enableEncryptionAtHost": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.13",
+ "currentOrchestratorVersion": "1.17.13",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableEncryptionAtHost": true
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.13",
+ "currentOrchestratorVersion": "1.17.13",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableEncryptionAtHost": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_EnableFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_EnableFIPS.json
new file mode 100644
index 000000000000..1fa610703e9e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_EnableFIPS.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "enableFIPS": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.19.6",
+ "currentOrchestratorVersion": "1.19.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableFIPS": true
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.19.6",
+ "currentOrchestratorVersion": "1.19.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableFIPS": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_EnableUltraSSD.json
new file mode 100644
index 000000000000..4147741eb1c3
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_EnableUltraSSD.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "enableUltraSSD": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.13",
+ "currentOrchestratorVersion": "1.17.13",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableUltraSSD": true
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.13",
+ "currentOrchestratorVersion": "1.17.13",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableUltraSSD": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_Ephemeral.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_Ephemeral.json
new file mode 100644
index 000000000000..a18c9ccb8a9b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_Ephemeral.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "osDiskType": "Ephemeral",
+ "osDiskSizeGB": 64
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.8",
+ "currentOrchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osDiskType": "Ephemeral",
+ "osDiskSizeGB": 64
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.8",
+ "currentOrchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osDiskType": "Ephemeral",
+ "kubeletDiskType": "OS",
+ "osDiskSizeGB": 64
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_GPUMIG.json
new file mode 100644
index 000000000000..be7ce9f3afc5
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_GPUMIG.json
@@ -0,0 +1,127 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_ND96asr_v4",
+ "osType": "Linux",
+ "gpuInstanceProfile": "MIG2g",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 12345,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.8",
+ "currentOrchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_ND96asr_v4",
+ "maxPods": 110,
+ "osType": "Linux",
+ "gpuInstanceProfile": "MIG2g",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 12345,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.8",
+ "currentOrchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_ND96asr_v4",
+ "maxPods": 110,
+ "osType": "Linux",
+ "gpuInstanceProfile": "MIG2g",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false,
+ "podMaxPids": 100
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 65536,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_MessageOfTheDay.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_MessageOfTheDay.json
new file mode 100644
index 000000000000..9993c2ecd916
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_MessageOfTheDay.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "osDiskSizeGB": 64,
+ "mode": "User",
+ "messageOfTheDay": "Zm9vCg=="
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.8",
+ "currentOrchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osDiskSizeGB": 64,
+ "mode": "User",
+ "messageOfTheDay": "Zm9vCg=="
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.8",
+ "currentOrchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osDiskSizeGB": 64,
+ "mode": "User",
+ "messageOfTheDay": "Zm9vCg=="
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_OSSKU.json
new file mode 100644
index 000000000000..d59964bad0ba
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_OSSKU.json
@@ -0,0 +1,127 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "osSKU": "AzureLinux",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 12345,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.8",
+ "currentOrchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osSKU": "AzureLinux",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 12345,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.8",
+ "currentOrchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osSKU": "AzureLinux",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false,
+ "podMaxPids": 100
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 65536,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_PPG.json
new file mode 100644
index 000000000000..fa536e24f657
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_PPG.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_Snapshot.json
new file mode 100644
index 000000000000..53e3e5d06b43
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_Snapshot.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "enableFIPS": true,
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.19.6",
+ "currentOrchestratorVersion": "1.19.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableFIPS": true,
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.19.6",
+ "currentOrchestratorVersion": "1.19.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableFIPS": true,
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_Spot.json
new file mode 100644
index 000000000000..78f38e12259e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_Spot.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete",
+ "spotMaxPrice": -1
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete",
+ "spotMaxPrice": -1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_TypeVirtualMachines.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_TypeVirtualMachines.json
new file mode 100644
index 000000000000..014425cfc62f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_TypeVirtualMachines.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "1.9.6",
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "type": "VirtualMachines",
+ "virtualMachinesProfile": {
+ "scale": {
+ "manual": [
+ {
+ "sizes": [
+ "Standard_D2_v2",
+ "Standard_D2_v3"
+ ],
+ "count": 5
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "type": "VirtualMachines",
+ "virtualMachinesProfile": {
+ "scale": {
+ "manual": [
+ {
+ "sizes": [
+ "Standard_D2_v2",
+ "Standard_D2_v3"
+ ],
+ "count": 5
+ }
+ ]
+ }
+ },
+ "virtualMachineNodesStatus": [
+ {
+ "size": "Standard_D2_v2",
+ "count": 3
+ },
+ {
+ "size": "Standard_D2_v3",
+ "count": 2
+ }
+ ],
+ "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "type": "VirtualMachines",
+ "virtualMachinesProfile": {
+ "scale": {
+ "manual": [
+ {
+ "sizes": [
+ "Standard_D2_v2",
+ "Standard_D2_v3"
+ ],
+ "count": 5
+ }
+ ]
+ }
+ },
+ "virtualMachineNodesStatus": [
+ {
+ "size": "Standard_D2_v2",
+ "count": 3
+ },
+ {
+ "size": "Standard_D2_v3",
+ "count": 2
+ }
+ ],
+ "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_TypeVirtualMachines_Autoscale.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_TypeVirtualMachines_Autoscale.json
new file mode 100644
index 000000000000..b66a78a550b6
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_TypeVirtualMachines_Autoscale.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "1.29.0",
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "type": "VirtualMachines",
+ "virtualMachinesProfile": {
+ "scale": {
+ "autoscale": [
+ {
+ "sizes": [
+ "Standard_D2_v2",
+ "Standard_D2_v3"
+ ],
+ "minCount": 1,
+ "maxCount": 5
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.29.0",
+ "currentOrchestratorVersion": "1.29.0",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "type": "VirtualMachines",
+ "virtualMachinesProfile": {
+ "scale": {
+ "autoscale": [
+ {
+ "sizes": [
+ "Standard_D2_v2",
+ "Standard_D2_v3"
+ ],
+ "minCount": 1,
+ "maxCount": 5
+ }
+ ]
+ }
+ },
+ "virtualMachineNodesStatus": [
+ {
+ "size": "Standard_D2_v2",
+ "count": 1
+ },
+ {
+ "size": "Standard_D2_v3",
+ "count": 2
+ }
+ ],
+ "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.29.0",
+ "currentOrchestratorVersion": "1.29.0",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "type": "VirtualMachines",
+ "virtualMachinesProfile": {
+ "scale": {
+ "autoscale": [
+ {
+ "sizes": [
+ "Standard_D2_v2",
+ "Standard_D2_v3"
+ ],
+ "minCount": 1,
+ "maxCount": 5
+ }
+ ]
+ }
+ },
+ "virtualMachineNodesStatus": [
+ {
+ "size": "Standard_D2_v2",
+ "count": 1
+ },
+ {
+ "size": "Standard_D2_v3",
+ "count": 2
+ }
+ ],
+ "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_Update.json
new file mode 100644
index 000000000000..a8e558bbef2c
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_Update.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete",
+ "mode": "User"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete",
+ "mode": "User",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete",
+ "mode": "User"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_WasmWasi.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_WasmWasi.json
new file mode 100644
index 000000000000..4562c20e0663
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_WasmWasi.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "osDiskSizeGB": 64,
+ "mode": "User",
+ "workloadRuntime": "WasmWasi"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.8",
+ "currentOrchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osDiskSizeGB": 64,
+ "mode": "User",
+ "workloadRuntime": "WasmWasi"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.8",
+ "currentOrchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osDiskSizeGB": 64,
+ "mode": "User",
+ "workloadRuntime": "WasmWasi"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json
new file mode 100644
index 000000000000..a9e86399713a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "wnp2",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "1.23.8",
+ "count": 3,
+ "vmSize": "Standard_D4s_v3",
+ "osType": "Windows",
+ "osSKU": "Windows2022",
+ "windowsProfile": {
+ "disableOutboundNat": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "wnp2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.23.8",
+ "currentOrchestratorVersion": "1.23.8",
+ "count": 3,
+ "vmSize": "Standard_D4s_v3",
+ "maxPods": 110,
+ "osType": "Windows",
+ "osSKU": "Windows2022",
+ "windowsProfile": {
+ "disableOutboundNat": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "wnp2",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.23.8",
+ "currentOrchestratorVersion": "1.23.8",
+ "count": 3,
+ "vmSize": "Standard_D4s_v3",
+ "maxPods": 110,
+ "osType": "Windows",
+ "osSKU": "Windows2022",
+ "windowsProfile": {
+ "disableOutboundNat": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_WindowsOSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_WindowsOSSKU.json
new file mode 100644
index 000000000000..7b22bf9f2d12
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsCreate_WindowsOSSKU.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "wnp2",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "1.23.3",
+ "count": 3,
+ "vmSize": "Standard_D4s_v3",
+ "osType": "Windows",
+ "osSKU": "Windows2022"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "wnp2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.23.3",
+ "currentOrchestratorVersion": "1.23.3",
+ "count": 3,
+ "vmSize": "Standard_D4s_v3",
+ "maxPods": 110,
+ "osType": "Windows",
+ "osSKU": "Windows2022"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/wnp2",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "wnp2",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.23.3",
+ "currentOrchestratorVersion": "1.23.3",
+ "count": 3,
+ "vmSize": "Standard_D4s_v3",
+ "maxPods": 110,
+ "osType": "Windows",
+ "osSKU": "Windows2022"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsDelete.json
new file mode 100644
index 000000000000..f9710ff75722
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsDelete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsDeleteMachines.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsDeleteMachines.json
new file mode 100644
index 000000000000..90ca63e3033b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsDeleteMachines.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "machines": {
+ "machineNames": [
+ "aks-nodepool1-42263519-vmss00000a",
+ "aks-nodepool1-42263519-vmss00000b"
+ ]
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid1/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsDelete_IgnorePodDisruptionBudget.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsDelete_IgnorePodDisruptionBudget.json
new file mode 100644
index 000000000000..309f2dc1bf05
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsDelete_IgnorePodDisruptionBudget.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "ignorePodDisruptionBudget": true
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsGet.json
new file mode 100644
index 000000000000..0c6f34882cd7
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "eTag": "ebwiyfneowv",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "upgradeSettings": {
+ "maxSurge": "33%"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsGetAgentPoolAvailableVersions.json
new file mode 100644
index 000000000000..9c3bcff991c5
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsGetAgentPoolAvailableVersions.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions",
+ "name": "default",
+ "properties": {
+ "agentPoolVersions": [
+ {
+ "kubernetesVersion": "1.12.7"
+ },
+ {
+ "kubernetesVersion": "1.12.8"
+ },
+ {
+ "default": true,
+ "kubernetesVersion": "1.13.5",
+ "isPreview": true
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsGetUpgradeProfile.json
new file mode 100644
index 000000000000..8ad559cabe83
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsGetUpgradeProfile.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/upgradeprofiles/default",
+ "name": "default",
+ "properties": {
+ "kubernetesVersion": "1.12.8",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.13.5"
+ }
+ ],
+ "latestNodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ },
+ "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsList.json
new file mode 100644
index 000000000000..e403b15d3d77
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "eTag": "ewnfuib"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsUpgradeNodeImageVersion.json
new file mode 100644
index 000000000000..85ca2317c75a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPoolsUpgradeNodeImageVersion.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.ContainerService/locations/westus/operations/00000000-0000-0000-0000-000000000000?api-version=2018-07-31"
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "UpgradingNodeImageVersion",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "nodeImageVersion": "AKSUbuntu-1604-2020.03.11",
+ "upgradeSettings": {
+ "maxSurge": "33%"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPools_Start.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPools_Start.json
new file mode 100644
index 000000000000..019ec4f37ce3
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPools_Start.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "powerState": {
+ "code": "Running"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Starting",
+ "count": 50,
+ "enableAutoScaling": true,
+ "minCount": 3,
+ "maxCount": 55,
+ "powerState": {
+ "code": "Running"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Starting",
+ "count": 50,
+ "enableAutoScaling": true,
+ "minCount": 3,
+ "maxCount": 55,
+ "powerState": {
+ "code": "Running"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPools_Stop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPools_Stop.json
new file mode 100644
index 000000000000..387d1ec18f75
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPools_Stop.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "powerState": {
+ "code": "Stopped"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Stopping",
+ "count": 0,
+ "enableAutoScaling": false,
+ "minCount": null,
+ "maxCount": null,
+ "powerState": {
+ "code": "Stopped"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Stopping",
+ "count": 0,
+ "enableAutoScaling": false,
+ "minCount": null,
+ "maxCount": null,
+ "powerState": {
+ "code": "Stopped"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPools_Update.json
new file mode 100644
index 000000000000..edfdcd8dd2c9
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/AgentPools_Update.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "count": 3,
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Updating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "count": 3,
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ContainerServiceGetOSOptions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ContainerServiceGetOSOptions.json
new file mode 100644
index 000000000000..e51cf98e458b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ContainerServiceGetOSOptions.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "location1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/osOptions/default",
+ "name": "default",
+ "type": "Microsoft.ContainerService/locations/osOptions",
+ "properties": {
+ "osOptionPropertyList": [
+ {
+ "os-type": "Linux",
+ "enable-fips-image": false
+ },
+ {
+ "os-type": "Windows",
+ "enable-fips-image": false
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/GetGuardrailsVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/GetGuardrailsVersions.json
new file mode 100644
index 000000000000..a08ab6803ff0
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/GetGuardrailsVersions.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "location1",
+ "version": "v1.0.0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/guardrailsVersions/v1.0.0",
+ "type": "Microsoft.ContainerService/locations/guardrailsVersions",
+ "name": "v1.0.0",
+ "properties": {
+ "isDefaultVersion": true,
+ "support": "Preview"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/GetSafeguardsVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/GetSafeguardsVersions.json
new file mode 100644
index 000000000000..e3e2b4c09cc0
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/GetSafeguardsVersions.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "location1",
+ "version": "v1.0.0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/safeguardsVersions/v1.0.0",
+ "type": "Microsoft.ContainerService/locations/safeguardsVersions",
+ "name": "v1.0.0",
+ "properties": {
+ "isDefaultVersion": true,
+ "support": "Preview"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/KubernetesVersions_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/KubernetesVersions_List.json
new file mode 100644
index 000000000000..a19c6466bfbd
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/KubernetesVersions_List.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "location1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "values": [
+ {
+ "version": "1.23",
+ "capabilities": {
+ "supportPlan": [
+ "KubernetesOfficial"
+ ]
+ },
+ "patchVersions": {
+ "1.23.12": {
+ "upgrades": [
+ "1.23.15",
+ "1.24.6",
+ "1.24.9"
+ ]
+ },
+ "1.23.15": {
+ "upgrades": [
+ "1.24.6",
+ "1.24.9"
+ ]
+ }
+ }
+ },
+ {
+ "version": "1.24",
+ "isDefault": true,
+ "capabilities": {
+ "supportPlan": [
+ "KubernetesOfficial"
+ ]
+ },
+ "patchVersions": {
+ "1.24.6": {
+ "upgrades": [
+ "1.24.9",
+ "1.25.4",
+ "1.25.5"
+ ]
+ },
+ "1.24.9": {
+ "upgrades": [
+ "1.25.4",
+ "1.25.5"
+ ]
+ }
+ }
+ },
+ {
+ "version": "1.25",
+ "capabilities": {
+ "supportPlan": [
+ "KubernetesOfficial"
+ ]
+ },
+ "patchVersions": {
+ "1.25.4": {
+ "upgrades": [
+ "1.25.5",
+ "1.26.0"
+ ]
+ },
+ "1.25.5": {
+ "upgrades": [
+ "1.26.0"
+ ]
+ }
+ }
+ },
+ {
+ "version": "1.26",
+ "isPreview": true,
+ "capabilities": {
+ "supportPlan": [
+ "KubernetesOfficial"
+ ]
+ },
+ "patchVersions": {
+ "1.26.0": {
+ "upgrades": []
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ListGuardrailsVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ListGuardrailsVersions.json
new file mode 100644
index 000000000000..572ece810c08
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ListGuardrailsVersions.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "location1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/guardrailsVersions/v1.0.0",
+ "type": "Microsoft.ContainerService/locations/guardrailsVersions",
+ "name": "v1.0.0",
+ "properties": {
+ "isDefaultVersion": true,
+ "support": "Preview"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ListSafeguardsVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ListSafeguardsVersions.json
new file mode 100644
index 000000000000..70bd5671a8c1
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ListSafeguardsVersions.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "location1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/safeguardsVersions/v1.0.0",
+ "type": "Microsoft.ContainerService/locations/safeguardsVersions",
+ "name": "v1.0.0",
+ "properties": {
+ "isDefaultVersion": true,
+ "support": "Preview"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/LoadBalancers_Create_Or_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/LoadBalancers_Create_Or_Update.json
new file mode 100644
index 000000000000..780dbfd71b8b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/LoadBalancers_Create_Or_Update.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "loadBalancerName": "kubernetes",
+ "parameters": {
+ "properties": {
+ "name": "kubernetes",
+ "primaryAgentPoolName": "agentpool1",
+ "allowServicePlacement": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "kubernetes",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/loadBalancers/kubernetes",
+ "properties": {
+ "name": "kubernetes",
+ "primaryAgentPoolName": "agentPool1",
+ "allowServicePlacement": true,
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "kubernetes",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/loadBalancers/kubernetes",
+ "properties": {
+ "name": "kubernetes",
+ "primaryAgentPoolName": "agentPool1",
+ "allowServicePlacement": true,
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/LoadBalancers_Delete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/LoadBalancers_Delete.json
new file mode 100644
index 000000000000..84a69939cf3c
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/LoadBalancers_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "loadBalancerName": "kubernetes"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2024-04-02-preview"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/LoadBalancers_Get.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/LoadBalancers_Get.json
new file mode 100644
index 000000000000..9d7f4ae84889
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/LoadBalancers_Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "loadBalancerName": "kubernetes"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "kubernetes",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/loadBalancers/kubernetes",
+ "properties": {
+ "name": "kubernetes",
+ "primaryAgentPoolName": "agentPool1",
+ "allowServicePlacement": true,
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/LoadBalancers_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/LoadBalancers_List.json
new file mode 100644
index 000000000000..3250241e7735
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/LoadBalancers_List.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "kubernetes",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/loadBalancers/kubernetes",
+ "properties": {
+ "name": "kubernetes",
+ "primaryAgentPoolName": "agentPool1",
+ "allowServicePlacement": true,
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/LoadBalancers_Rebalance.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/LoadBalancers_Rebalance.json
new file mode 100644
index 000000000000..ef56cbb27c95
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/LoadBalancers_Rebalance.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "loadBalancerNames": [
+ "kubernetes"
+ ]
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2024-04-02-preview"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MachineGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MachineGet.json
new file mode 100644
index 000000000000..a9a40087b307
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MachineGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "machineName": "aks-nodepool1-42263519-vmss00000t"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.ContainerService/managedClusters/round/agentPools/nodepool1/machines/aks-nodepool1-25481572-vmss000000",
+ "name": "aks-nodepool1-25481572-vmss000000",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools/machines",
+ "properties": {
+ "network": {
+ "ipAddresses": [
+ {
+ "ip": "172.20.2.4",
+ "family": "IPv4"
+ },
+ {
+ "ip": "10.0.0.1",
+ "family": "IPv4"
+ }
+ ]
+ },
+ "resourceId": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.Compute/virtualMachineScaleSets/aks-nodepool1-25481572-vmss/virtualMachines/0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MachineList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MachineList.json
new file mode 100644
index 000000000000..6283816a51e2
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MachineList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.ContainerService/managedClusters/round/agentPools/nodepool1/machines/aks-nodepool1-25481572-vmss000000",
+ "name": "aks-nodepool1-25481572-vmss000000",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools/machines",
+ "properties": {
+ "network": {
+ "ipAddresses": [
+ {
+ "ip": "172.20.2.4",
+ "family": "IPv4"
+ },
+ {
+ "ip": "10.0.0.1",
+ "family": "IPv4"
+ }
+ ]
+ },
+ "resourceId": "/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/dummyRG/providers/Microsoft.Compute/virtualMachineScaleSets/aks-nodepool1-25481572-vmss/virtualMachines/0"
+ }
+ }
+ ],
+ "nextLink": "http://xxxx.azure.com?encodedToken=c2tpcFRva2VuPTE"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsCreate_Update.json
new file mode 100644
index 000000000000..4b3b30331d76
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsCreate_Update.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "configName": "default",
+ "parameters": {
+ "properties": {
+ "timeInWeek": [
+ {
+ "day": "Monday",
+ "hourSlots": [
+ 1,
+ 2
+ ]
+ }
+ ],
+ "notAllowedTime": [
+ {
+ "start": "2020-11-26T03:00:00Z",
+ "end": "2020-11-30T12:00:00Z"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default",
+ "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations",
+ "name": "default",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "timeInWeek": [
+ {
+ "day": "Monday",
+ "hourSlots": [
+ 1,
+ 2
+ ]
+ }
+ ],
+ "notAllowedTime": [
+ {
+ "start": "2020-11-26T03:00:00Z",
+ "end": "2020-11-30T12:00:00Z"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default",
+ "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations",
+ "name": "default",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "timeInWeek": [
+ {
+ "day": "Monday",
+ "hourSlots": [
+ 1,
+ 2
+ ]
+ }
+ ],
+ "notAllowedTime": [
+ {
+ "start": "2020-11-26T03:00:00Z",
+ "end": "2020-11-30T12:00:00Z"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json
new file mode 100644
index 000000000000..f53be7a44cc0
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json
@@ -0,0 +1,116 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "configName": "aksManagedAutoUpgradeSchedule",
+ "parameters": {
+ "properties": {
+ "maintenanceWindow": {
+ "schedule": {
+ "relativeMonthly": {
+ "intervalMonths": 3,
+ "weekIndex": "First",
+ "dayOfWeek": "Monday"
+ }
+ },
+ "durationHours": 10,
+ "utcOffset": "+05:30",
+ "startDate": "2023-01-01",
+ "startTime": "08:30",
+ "notAllowedDates": [
+ {
+ "start": "2023-02-18",
+ "end": "2023-02-25"
+ },
+ {
+ "start": "2023-12-23",
+ "end": "2024-01-05"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default",
+ "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations",
+ "name": "aksManagedAutoUpgradeSchedule",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "maintenanceWindow": {
+ "schedule": {
+ "weekly": {
+ "intervalWeeks": 3,
+ "dayOfWeek": "Monday"
+ }
+ },
+ "durationHours": 10,
+ "utcOffset": "+05:30",
+ "startDate": "2023-01-01",
+ "startTime": "08:30",
+ "notAllowedDates": [
+ {
+ "start": "2023-02-18",
+ "end": "2023-02-25"
+ },
+ {
+ "start": "2023-12-23",
+ "end": "2024-01-05"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default",
+ "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations",
+ "name": "aksManagedAutoUpgradeSchedule",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "maintenanceWindow": {
+ "schedule": {
+ "weekly": {
+ "intervalWeeks": 3,
+ "dayOfWeek": "Monday"
+ }
+ },
+ "durationHours": 10,
+ "utcOffset": "+05:30",
+ "startDate": "2023-01-01",
+ "startTime": "08:30",
+ "notAllowedDates": [
+ {
+ "start": "2023-02-18",
+ "end": "2023-02-25"
+ },
+ {
+ "start": "2023-12-23",
+ "end": "2024-01-05"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsDelete.json
new file mode 100644
index 000000000000..c6c46af832f1
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "configName": "default"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json
new file mode 100644
index 000000000000..a70acf221c45
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "configName": "aksManagedNodeOSUpgradeSchedule"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsGet.json
new file mode 100644
index 000000000000..40aa1ec94839
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "configName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default",
+ "name": "default",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "timeInWeek": [
+ {
+ "day": "Monday",
+ "hourSlots": [
+ 1,
+ 2
+ ]
+ }
+ ],
+ "notAllowedTime": [
+ {
+ "start": "2020-11-26T03:00:00Z",
+ "end": "2020-11-30T12:00:00Z"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsGet_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsGet_MaintenanceWindow.json
new file mode 100644
index 000000000000..e3561e2f6edf
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsGet_MaintenanceWindow.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "configName": "aksManagedNodeOSUpgradeSchedule"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default",
+ "name": "aksManagedNodeOSUpgradeSchedule",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "maintenanceWindow": {
+ "schedule": {
+ "daily": {
+ "intervalDays": 3
+ }
+ },
+ "durationHours": 4,
+ "utcOffset": "-07:00",
+ "startDate": "2023-01-01",
+ "startTime": "09:30",
+ "notAllowedDates": [
+ {
+ "start": "2023-02-18",
+ "end": "2023-02-25"
+ },
+ {
+ "start": "2023-12-23",
+ "end": "2024-01-05"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsList.json
new file mode 100644
index 000000000000..6c4c81a6e63b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default",
+ "name": "default",
+ "properties": {
+ "timeInWeek": [
+ {
+ "day": "Monday",
+ "hourSlots": [
+ 1,
+ 2
+ ]
+ }
+ ],
+ "notAllowedTime": [
+ {
+ "start": "2020-11-26T03:00:00Z",
+ "end": "2020-11-30T12:00:00Z"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsList_MaintenanceWindow.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsList_MaintenanceWindow.json
new file mode 100644
index 000000000000..02a7e5ecaaed
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/MaintenanceConfigurationsList_MaintenanceWindow.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default",
+ "name": "aksManagedNodeOSUpgradeSchedule",
+ "properties": {
+ "maintenanceWindow": {
+ "schedule": {
+ "daily": {
+ "intervalDays": 5
+ }
+ },
+ "durationHours": 10,
+ "utcOffset": "-07:00",
+ "startDate": "2023-01-01",
+ "startTime": "13:30"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default",
+ "name": "aksManagedAutoUpgradeSchedule",
+ "properties": {
+ "maintenanceWindow": {
+ "schedule": {
+ "absoluteMonthly": {
+ "intervalMonths": 3,
+ "dayOfMonth": 15
+ }
+ },
+ "durationHours": 5,
+ "utcOffset": "+00:00",
+ "startDate": "2023-01-01",
+ "startTime": "08:30",
+ "notAllowedDates": [
+ {
+ "start": "2023-02-18",
+ "end": "2023-02-25"
+ },
+ {
+ "start": "2023-12-23",
+ "end": "2024-01-05"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsCreate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsCreate.json
new file mode 100644
index 000000000000..1372893fa814
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsCreate.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "snapshot1",
+ "parameters": {
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "snapshot1",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1",
+ "type": "Microsoft.ContainerService/ManagedClusterSnapshots",
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-08-09T20:13:23.298420761Z"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1"
+ },
+ "snapshotType": "ManagedCluster",
+ "managedClusterPropertiesReadOnly": {
+ "kubernetesVersion": "1.20.5",
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "enableRbac": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "networkPolicy": "calico",
+ "networkMode": "bridge",
+ "loadBalancerSku": "standard"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "snapshot1",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1",
+ "type": "Microsoft.ContainerService/ManagedClusterSnapshots",
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-08-09T20:13:23.298420761Z"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1"
+ },
+ "snapshotType": "ManagedCluster",
+ "managedClusterPropertiesReadOnly": {
+ "kubernetesVersion": "1.20.5",
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "enableRbac": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "networkPolicy": "calico",
+ "networkMode": "bridge",
+ "loadBalancerSku": "standard"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsDelete.json
new file mode 100644
index 000000000000..a4bd15832e82
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "snapshot1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsGet.json
new file mode 100644
index 000000000000..842fcc97d797
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsGet.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "snapshot1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "snapshot1",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1",
+ "type": "Microsoft.ContainerService/ManagedClusterSnapshots",
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-08-09T20:13:23.298420761Z"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1"
+ },
+ "snapshotType": "ManagedCluster",
+ "managedClusterPropertiesReadOnly": {
+ "kubernetesVersion": "1.20.5",
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "enableRbac": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "networkPolicy": "calico",
+ "networkMode": "bridge",
+ "loadBalancerSku": "standard"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsList.json
new file mode 100644
index 000000000000..5e34ef196740
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "snapshot1",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1",
+ "type": "Microsoft.ContainerService/ManagedClusterSnapshots",
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-08-09T20:13:23.298420761Z"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1"
+ },
+ "snapshotType": "ManagedCluster",
+ "managedClusterPropertiesReadOnly": {
+ "kubernetesVersion": "1.20.5",
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "enableRbac": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "networkPolicy": "calico",
+ "networkMode": "bridge",
+ "loadBalancerSku": "standard"
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsListByResourceGroup.json
new file mode 100644
index 000000000000..8a670a1ff69d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsListByResourceGroup.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "snapshot1",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1",
+ "type": "Microsoft.ContainerService/ManagedClusterSnapshots",
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-08-09T20:13:23.298420761Z"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1"
+ },
+ "snapshotType": "ManagedCluster",
+ "managedClusterPropertiesReadOnly": {
+ "kubernetesVersion": "1.20.5",
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "enableRbac": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "networkPolicy": "calico",
+ "networkMode": "bridge",
+ "loadBalancerSku": "standard"
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsUpdateTags.json
new file mode 100644
index 000000000000..856d64ca70bc
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClusterSnapshotsUpdateTags.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "snapshot1",
+ "parameters": {
+ "tags": {
+ "key2": "new-val2",
+ "key3": "val3"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "snapshot1",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1",
+ "type": "Microsoft.ContainerService/ManagedClusterSnapshots",
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-08-09T20:13:23.298420761Z"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1"
+ },
+ "snapshotType": "ManagedCluster",
+ "managedClusterPropertiesReadOnly": {
+ "kubernetesVersion": "1.20.5",
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "enableRbac": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "networkPolicy": "calico",
+ "networkMode": "bridge",
+ "loadBalancerSku": "standard"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersAbortOperation.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersAbortOperation.json
new file mode 100644
index 000000000000..ab2e455791c1
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersAbortOperation.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "204": {},
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/00000000-0000-0000-0000-000000000000?api-version=2017-08-31",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2017-08-31"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersAssociate_CRG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersAssociate_CRG.json
new file mode 100644
index 000000000000..019942c3e08e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersAssociate_CRG.json
@@ -0,0 +1,254 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/capacityReservationGroups/crg1"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json
new file mode 100644
index 000000000000..0367f1a4d1b9
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json
@@ -0,0 +1,259 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {
+ "azureKeyvaultSecretsProvider": {
+ "enabled": true,
+ "config": {
+ "enableSecretRotation": "true",
+ "rotationPollInterval": "2m"
+ }
+ }
+ },
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "addonProfiles": {
+ "azureKeyvaultSecretsProvider": {
+ "enabled": true,
+ "config": {
+ "enableSecretRotation": "true",
+ "rotationPollInterval": "2m"
+ }
+ }
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "addonProfiles": {
+ "azureKeyvaultSecretsProvider": {
+ "enabled": true,
+ "config": {
+ "enableSecretRotation": "true",
+ "rotationPollInterval": "2m"
+ }
+ }
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_AzureServiceMesh.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_AzureServiceMesh.json
new file mode 100644
index 000000000000..e6a82eaf793b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_AzureServiceMesh.json
@@ -0,0 +1,346 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "serviceMeshProfile": {
+ "mode": "Istio",
+ "istio": {
+ "components": {
+ "ingressGateways": [
+ {
+ "enabled": true,
+ "mode": "Internal"
+ }
+ ],
+ "egressGateways": [
+ {
+ "enabled": true
+ }
+ ]
+ },
+ "certificateAuthority": {
+ "plugin": {
+ "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv",
+ "certObjectName": "ca-cert",
+ "keyObjectName": "ca-key",
+ "rootCertObjectName": "root-cert",
+ "certChainObjectName": "cert-chain"
+ }
+ }
+ }
+ },
+ "addonProfiles": {
+ "azureKeyvaultSecretsProvider": {
+ "enabled": true,
+ "config": {
+ "enableSecretRotation": "true",
+ "rotationPollInterval": "2m"
+ }
+ }
+ },
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "addonProfiles": {
+ "azureKeyvaultSecretsProvider": {
+ "enabled": true,
+ "config": {
+ "enableSecretRotation": "true",
+ "rotationPollInterval": "2m"
+ }
+ }
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "serviceMeshProfile": {
+ "mode": "Istio",
+ "istio": {
+ "components": {
+ "ingressGateways": [
+ {
+ "enabled": true,
+ "mode": "Internal"
+ }
+ ],
+ "egressGateways": [
+ {
+ "enabled": true
+ }
+ ]
+ },
+ "certificateAuthority": {
+ "plugin": {
+ "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv",
+ "certObjectName": "ca-cert",
+ "keyObjectName": "ca-key",
+ "rootCertObjectName": "root-cert",
+ "certChainObjectName": "cert-chain"
+ }
+ },
+ "revisions": [
+ "asm-1-17"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "addonProfiles": {
+ "azureKeyvaultSecretsProvider": {
+ "enabled": true,
+ "config": {
+ "enableSecretRotation": "true",
+ "rotationPollInterval": "2m"
+ }
+ }
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "serviceMeshProfile": {
+ "mode": "Istio",
+ "istio": {
+ "components": {
+ "ingressGateways": [
+ {
+ "enabled": true,
+ "mode": "Internal"
+ }
+ ],
+ "egressGateways": [
+ {
+ "enabled": true
+ }
+ ]
+ },
+ "certificateAuthority": {
+ "plugin": {
+ "keyVaultId": "/subscriptions/854c9ddb-fe9e-4aea-8d58-99ed88282881/resourceGroups/ddama-test/providers/Microsoft.KeyVault/vaults/my-akv",
+ "certObjectName": "ca-cert",
+ "keyObjectName": "ca-key",
+ "rootCertObjectName": "root-cert",
+ "certChainObjectName": "cert-chain"
+ }
+ },
+ "revisions": [
+ "asm-1-17"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_DedicatedHostGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_DedicatedHostGroup.json
new file mode 100644
index 000000000000..1c7bba73e0dc
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_DedicatedHostGroup.json
@@ -0,0 +1,251 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": false,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "hostGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": false,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_DisableRunCommand.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_DisableRunCommand.json
new file mode 100644
index 000000000000..48848f7978cb
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_DisableRunCommand.json
@@ -0,0 +1,265 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "apiServerAccessProfile": {
+ "disableRunCommand": true
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "apiServerAccessProfile": {
+ "disableRunCommand": true
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io",
+ "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "supportPlan": "KubernetesOfficial"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "apiServerAccessProfile": {
+ "disableRunCommand": true
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io",
+ "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "supportPlan": "KubernetesOfficial"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_DualStackNetworking.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_DualStackNetworking.json
new file mode 100644
index 000000000000..a35a8456d8f6
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_DualStackNetworking.json
@@ -0,0 +1,321 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "scaleDownMode": "Deallocate",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ },
+ "ipFamilies": [
+ "IPv4",
+ "IPv6"
+ ]
+ },
+ "autoScalerProfile": {
+ "balance-similar-node-groups": "true",
+ "expander": "priority",
+ "max-node-provision-time": "15m",
+ "new-pod-scale-up-delay": "1m",
+ "scale-down-delay-after-add": "15m",
+ "scan-interval": "20s",
+ "skip-nodes-with-system-pods": "false"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "scaleDownMode": "Deallocate",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16",
+ "fd11:1234::/64"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16",
+ "fd00:1234::/108"
+ ],
+ "ipFamilies": [
+ "IPv4",
+ "IPv6"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2,
+ "countIPv6": 1
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "balance-similar-node-groups": "true",
+ "expander": "priority",
+ "max-node-provision-time": "15m",
+ "new-pod-scale-up-delay": "1m",
+ "scale-down-delay-after-add": "15m",
+ "scan-interval": "20s",
+ "skip-nodes-with-system-pods": "false"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "scaleDownMode": "Deallocate",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16",
+ "fd11:1234::/64"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16",
+ "fd00:1234::/108"
+ ],
+ "ipFamilies": [
+ "IPv4",
+ "IPv6"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2,
+ "countIPv6": 1
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_EnableAIToolchainOperator.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_EnableAIToolchainOperator.json
new file mode 100644
index 000000000000..e7f4e578ed2a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_EnableAIToolchainOperator.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "networkPlugin": "azure",
+ "networkPluginMode": "overlay",
+ "networkDataplane": "cilium",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "aiToolchainOperatorProfile": {
+ "enabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "networkPlugin": "azure",
+ "networkPluginMode": "overlay",
+ "networkDataplane": "cilium",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "aiToolchainOperatorProfile": {
+ "enabled": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "networkPlugin": "azure",
+ "networkPluginMode": "overlay",
+ "networkDataplane": "cilium",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "aiToolchainOperatorProfile": {
+ "enabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_EnableCustomCATrust.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_EnableCustomCATrust.json
new file mode 100644
index 000000000000..abd560006bce
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_EnableCustomCATrust.json
@@ -0,0 +1,269 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableCustomCATrust": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "securityProfile": {
+ "customCATrustCertificates": [
+ "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ="
+ ]
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableCustomCATrust": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "securityProfile": {
+ "customCATrustCertificates": [
+ "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ="
+ ]
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableCustomCATrust": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "securityProfile": {
+ "customCATrustCertificates": [
+ "ZHVtbXlFeGFtcGxlVGVzdFZhbHVlRm9yQ2VydGlmaWNhdGVUb0JlQWRkZWQ="
+ ]
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_EnableEncryptionAtHost.json
new file mode 100644
index 000000000000..5e5532e35e12
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_EnableEncryptionAtHost.json
@@ -0,0 +1,254 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_EnableUltraSSD.json
new file mode 100644
index 000000000000..5ffa3a6c5779
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_EnableUltraSSD.json
@@ -0,0 +1,254 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableUltraSSD": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableUltraSSD": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableUltraSSD": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_EnabledFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_EnabledFIPS.json
new file mode 100644
index 000000000000..e4d3dd00a21d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_EnabledFIPS.json
@@ -0,0 +1,254 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableFIPS": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableFIPS": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": false,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableFIPS": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": false,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_GPUMIG.json
new file mode 100644
index 000000000000..ad045345bb09
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_GPUMIG.json
@@ -0,0 +1,281 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_ND96asr_v4",
+ "osType": "Linux",
+ "gpuInstanceProfile": "MIG3g",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_ND96asr_v4",
+ "maxPods": 110,
+ "osType": "Linux",
+ "gpuInstanceProfile": "MIG3g",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_ND96asr_v4",
+ "maxPods": 110,
+ "osType": "Linux",
+ "gpuInstanceProfile": "MIG3g",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_HTTPProxy.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_HTTPProxy.json
new file mode 100644
index 000000000000..07ffe559bea7
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_HTTPProxy.json
@@ -0,0 +1,278 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json
new file mode 100644
index 000000000000..12038eed0736
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json
@@ -0,0 +1,249 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "ingressProfile": {
+ "webAppRouting": {
+ "enabled": true,
+ "dnsZoneResourceIds": [
+ "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "ingressProfile": {
+ "webAppRouting": {
+ "enabled": true,
+ "dnsZoneResourceIds": [
+ "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "ingressProfile": {
+ "webAppRouting": {
+ "enabled": true,
+ "dnsZoneResourceIds": [
+ "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_MCSnapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_MCSnapshot.json
new file mode 100644
index 000000000000..65abf93a3e4a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_MCSnapshot.json
@@ -0,0 +1,222 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1"
+ },
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableFIPS": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1"
+ },
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableFIPS": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1"
+ },
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableFIPS": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_ManagedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_ManagedNATGateway.json
new file mode 100644
index 000000000000..6a1848d35d2b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_ManagedNATGateway.json
@@ -0,0 +1,231 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": false,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "managedNATGateway",
+ "natGatewayProfile": {
+ "managedOutboundIPProfile": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": false,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "managedNATGateway",
+ "natGatewayProfile": {
+ "idleTimeoutInMinutes": 4,
+ "managedOutboundIPProfile": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": false,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "managedNATGateway",
+ "natGatewayProfile": {
+ "idleTimeoutInMinutes": 4,
+ "managedOutboundIPProfile": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_NodeAutoProvisioning.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_NodeAutoProvisioning.json
new file mode 100644
index 000000000000..6799bde4958c
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_NodeAutoProvisioning.json
@@ -0,0 +1,229 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "networkPlugin": "azure",
+ "networkPluginMode": "overlay",
+ "networkDataplane": "cilium",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "networkPlugin": "azure",
+ "networkPluginMode": "overlay",
+ "networkDataplane": "cilium",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "networkPlugin": "azure",
+ "networkPluginMode": "overlay",
+ "networkDataplane": "cilium",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_NodePublicIPPrefix.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_NodePublicIPPrefix.json
new file mode 100644
index 000000000000..04c12807bb27
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_NodePublicIPPrefix.json
@@ -0,0 +1,254 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodePublicIPPrefixID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_OSSKU.json
new file mode 100644
index 000000000000..beb0e9626f71
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_OSSKU.json
@@ -0,0 +1,281 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "osSKU": "AzureLinux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osSKU": "AzureLinux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osSKU": "AzureLinux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_PPG.json
new file mode 100644
index 000000000000..23509c3f911b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_PPG.json
@@ -0,0 +1,254 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "proximityPlacementGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_PodIdentity.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_PodIdentity.json
new file mode 100644
index 000000000000..0e8409ccca18
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_PodIdentity.json
@@ -0,0 +1,263 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "podIdentityProfile": {
+ "enabled": true,
+ "allowNetworkPluginKubenet": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "podIdentityProfile": {
+ "enabled": true,
+ "allowNetworkPluginKubenet": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "podIdentityProfile": {
+ "enabled": true,
+ "allowNetworkPluginKubenet": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_Premium.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_Premium.json
new file mode 100644
index 000000000000..edb56d09a508
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_Premium.json
@@ -0,0 +1,270 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Base",
+ "tier": "Premium"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "apiServerAccessProfile": {
+ "disableRunCommand": true
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true,
+ "supportPlan": "AKSLongTermSupport"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "sku": {
+ "name": "Base",
+ "tier": "Premium"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "apiServerAccessProfile": {
+ "disableRunCommand": true
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io",
+ "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "supportPlan": "AKSLongTermSupport"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "apiServerAccessProfile": {
+ "disableRunCommand": true
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io",
+ "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "supportPlan": "AKSLongTermSupport"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json
new file mode 100644
index 000000000000..34424a0b54c7
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json
@@ -0,0 +1,264 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "fqdnSubdomain": "domain1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "apiServerAccessProfile": {
+ "enablePrivateCluster": true,
+ "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "fqdnSubdomain": "domain1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "apiServerAccessProfile": {
+ "enablePrivateCluster": true,
+ "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true,
+ "privateFQDN": "domain1.privatelink.location1.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "fqdnSubdomain": "domain1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "apiServerAccessProfile": {
+ "enablePrivateCluster": true,
+ "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "privateFQDN": "domain1.privatelink.location1.azmk8s.io",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json
new file mode 100644
index 000000000000..4f74ed2262db
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json
@@ -0,0 +1,268 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "apiServerAccessProfile": {
+ "enablePrivateCluster": true,
+ "enablePrivateClusterPublicFQDN": true
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "apiServerAccessProfile": {
+ "enablePrivateCluster": true,
+ "enablePrivateClusterPublicFQDN": true,
+ "privateDNSZone": "system"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io",
+ "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "apiServerAccessProfile": {
+ "enablePrivateCluster": true,
+ "enablePrivateClusterPublicFQDN": true,
+ "privateDNSZone": "system"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io",
+ "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_SecurityProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_SecurityProfile.json
new file mode 100644
index 000000000000..8f4cda5dd003
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_SecurityProfile.json
@@ -0,0 +1,251 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "securityProfile": {
+ "defender": {
+ "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME",
+ "securityMonitoring": {
+ "enabled": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "securityProfile": {
+ "defender": {
+ "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME",
+ "securityMonitoring": {
+ "enabled": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "securityProfile": {
+ "defender": {
+ "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME",
+ "securityMonitoring": {
+ "enabled": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_Snapshot.json
new file mode 100644
index 000000000000..9a18674cee8f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_Snapshot.json
@@ -0,0 +1,263 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableFIPS": true,
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1"
+ }
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableFIPS": true,
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1"
+ }
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": false,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableFIPS": true,
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1"
+ }
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": false,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_Update.json
new file mode 100644
index 000000000000..f96cf9dfe308
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_Update.json
@@ -0,0 +1,315 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "scaleDownMode": "Deallocate",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "upgradeSettings": {
+ "overrideSettings": {
+ "forceUpgrade": true,
+ "until": "2022-11-01T13:00:00Z"
+ }
+ },
+ "autoScalerProfile": {
+ "balance-similar-node-groups": "true",
+ "expander": "priority",
+ "max-node-provision-time": "15m",
+ "new-pod-scale-up-delay": "1m",
+ "scale-down-delay-after-add": "15m",
+ "scan-interval": "20s",
+ "skip-nodes-with-system-pods": "false"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "scaleDownMode": "Deallocate",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "upgradeSettings": {
+ "overrideSettings": {
+ "forceUpgrade": false,
+ "until": "2022-11-01T13:00:00Z"
+ }
+ },
+ "autoScalerProfile": {
+ "balance-similar-node-groups": "true",
+ "expander": "priority",
+ "max-node-provision-time": "15m",
+ "new-pod-scale-up-delay": "1m",
+ "scale-down-delay-after-add": "15m",
+ "scan-interval": "20s",
+ "skip-nodes-with-system-pods": "false"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "scaleDownMode": "Deallocate",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_UpdateWindowsGmsa.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_UpdateWindowsGmsa.json
new file mode 100644
index 000000000000..637215730ffb
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_UpdateWindowsGmsa.json
@@ -0,0 +1,299 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$",
+ "gmsaProfile": {
+ "enabled": true
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "gmsaProfile": {
+ "enabled": true
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "gmsaProfile": {
+ "enabled": true
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_UpdateWithAHUB.json
new file mode 100644
index 000000000000..9aade68a95d1
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_UpdateWithAHUB.json
@@ -0,0 +1,293 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$",
+ "licenseType": "Windows_Server"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "licenseType": "Windows_Server"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "licenseType": "Windows_Server"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
new file mode 100644
index 000000000000..92fd821be1b9
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
@@ -0,0 +1,282 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "aadProfile": {
+ "managed": true,
+ "enableAzureRBAC": true
+ },
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "aadProfile": {
+ "managed": true,
+ "adminGroupObjectIDs": null,
+ "enableAzureRBAC": true,
+ "tenantID": "tenantID"
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "aadProfile": {
+ "managed": true,
+ "adminGroupObjectIDs": null,
+ "enableAzureRBAC": true,
+ "tenantID": "tenantID"
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json
new file mode 100644
index 000000000000..67fb4a9b6b9a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json
@@ -0,0 +1,269 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "enableNamespaceResources": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "enableNamespaceResources": true
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "enableNamespaceResources": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_UserAssignedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_UserAssignedNATGateway.json
new file mode 100644
index 000000000000..303bb65d1c1c
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_UserAssignedNATGateway.json
@@ -0,0 +1,198 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": false,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "userAssignedNATGateway"
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": false,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "userAssignedNATGateway"
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": false,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "userAssignedNATGateway"
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_VirtualMachines.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_VirtualMachines.json
new file mode 100644
index 000000000000..7f35e95f88a1
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersCreate_VirtualMachines.json
@@ -0,0 +1,229 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachines",
+ "mode": "System",
+ "enableFIPS": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachines",
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableFIPS": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": false,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "type": "VirtualMachines",
+ "mode": "System",
+ "enableFIPS": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": false,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersDelete.json
new file mode 100644
index 000000000000..4c70d33042ed
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersDelete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersGet.json
new file mode 100644
index 000000000000..5c71215a2c34
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersGet.json
@@ -0,0 +1,114 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "eTag": "beywbwei",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "azurePortalFQDN": "dnsprefix1-abcd1234.portal.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "eTag": "nvewbvoi",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "upgradeSettings": {
+ "maxSurge": "33%"
+ }
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "outboundIPs": {
+ "publicIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip2"
+ }
+ ]
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "upgradeSettings": {
+ "overrideSettings": {
+ "forceUpgrade": true,
+ "until": "2022-11-01T13:00:00Z"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersGetAccessProfile.json
new file mode 100644
index 000000000000..3ec62d351f38
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersGetAccessProfile.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "roleName": "clusterUser"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser",
+ "location": "location1",
+ "name": "clusterUser",
+ "properties": {
+ "kubeConfig": "a3ViZUNvbmZpZzE="
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersGetUpgradeProfile.json
new file mode 100644
index 000000000000..d654003181b8
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersGetUpgradeProfile.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default",
+ "name": "default",
+ "properties": {
+ "agentPoolProfiles": [
+ {
+ "kubernetesVersion": "1.7.7",
+ "name": "agent",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.7.9"
+ },
+ {
+ "kubernetesVersion": "1.7.11",
+ "isPreview": true
+ }
+ ]
+ }
+ ],
+ "controlPlaneProfile": {
+ "kubernetesVersion": "1.7.7",
+ "name": "master",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.7.9",
+ "isPreview": true
+ },
+ {
+ "kubernetesVersion": "1.7.11"
+ }
+ ]
+ }
+ },
+ "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersGet_MeshRevisionProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersGet_MeshRevisionProfile.json
new file mode 100644
index 000000000000..394ed9cdd3f1
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersGet_MeshRevisionProfile.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "location1",
+ "mode": "istio"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/meshRevisionProfiles/istio",
+ "type": "Microsoft.ContainerService/locations/meshRevisionProfiles",
+ "name": "istio",
+ "properties": {
+ "meshRevisions": [
+ {
+ "revision": "asm-1-17",
+ "upgrades": [
+ "1-18"
+ ],
+ "compatibleWith": [
+ {
+ "name": "kubernetes",
+ "versions": [
+ "1.23",
+ "1.24",
+ "1.25",
+ "1.26"
+ ]
+ }
+ ]
+ },
+ {
+ "revision": "asm-1-18",
+ "upgrades": [],
+ "compatibleWith": [
+ {
+ "name": "kubernetes",
+ "versions": [
+ "1.24",
+ "1.25",
+ "1.26",
+ "1.27"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersGet_MeshUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersGet_MeshUpgradeProfile.json
new file mode 100644
index 000000000000..ff253749e77b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersGet_MeshUpgradeProfile.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "mode": "istio"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshUpgradeProfiles/istio",
+ "type": "Microsoft.ContainerService/managedClusters/meshUpgradeProfiles",
+ "name": "istio",
+ "properties": {
+ "revision": "asm-1-17",
+ "upgrades": [
+ "1-18"
+ ],
+ "compatibleWith": [
+ {
+ "name": "kubernetes",
+ "versions": [
+ "1.23",
+ "1.24",
+ "1.25",
+ "1.26"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersList.json
new file mode 100644
index 000000000000..a0f8fc8e1a55
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersList.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "eTag": "nvweuib",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "maxAgentPools": 1,
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6",
+ "eTag": "byuefvwi"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersListByResourceGroup.json
new file mode 100644
index 000000000000..8ccc01685983
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersListByResourceGroup.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "maxAgentPools": 1,
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersListClusterCredentialResult.json
new file mode 100644
index 000000000000..55a6f629708a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersListClusterCredentialResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kubeconfigs": [
+ {
+ "name": "credentialName1",
+ "value": "Y3JlZGVudGlhbFZhbHVlMQ=="
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersList_MeshRevisionProfiles.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersList_MeshRevisionProfiles.json
new file mode 100644
index 000000000000..e9963a850c52
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersList_MeshRevisionProfiles.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "location1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/location1/meshRevisionProfiles/istio",
+ "type": "Microsoft.ContainerService/locations/meshRevisionProfiles",
+ "name": "istio",
+ "properties": {
+ "meshRevisions": [
+ {
+ "revision": "asm-1-17",
+ "upgrades": [
+ "1-18"
+ ],
+ "compatibleWith": [
+ {
+ "name": "kubernetes",
+ "versions": [
+ "1.23",
+ "1.24",
+ "1.25",
+ "1.26"
+ ]
+ }
+ ]
+ },
+ {
+ "revision": "asm-1-18",
+ "upgrades": [],
+ "compatibleWith": [
+ {
+ "name": "kubernetes",
+ "versions": [
+ "1.24",
+ "1.25",
+ "1.26",
+ "1.27"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersList_MeshUpgradeProfiles.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersList_MeshUpgradeProfiles.json
new file mode 100644
index 000000000000..0d492f8b524f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersList_MeshUpgradeProfiles.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/meshUpgradeProfiles/istio",
+ "type": "Microsoft.ContainerService/managedClusters/meshUpgradeProfiles",
+ "name": "istio",
+ "properties": {
+ "revision": "asm-1-17",
+ "upgrades": [
+ "1-18"
+ ],
+ "compatibleWith": [
+ {
+ "name": "kubernetes",
+ "versions": [
+ "1.23",
+ "1.24",
+ "1.25",
+ "1.26"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersResetAADProfile.json
new file mode 100644
index 000000000000..731f190ce69b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersResetAADProfile.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientAppID": "clientappid",
+ "serverAppID": "serverappid",
+ "serverAppSecret": "serverappsecret",
+ "tenantID": "tenantid"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersResetServicePrincipalProfile.json
new file mode 100644
index 000000000000..43aa4e3df558
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersResetServicePrincipalProfile.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientId": "clientid",
+ "secret": "secret"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersRotateClusterCertificates.json
new file mode 100644
index 000000000000..4c70d33042ed
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersRotateClusterCertificates.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersRotateServiceAccountSigningKeys.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersRotateServiceAccountSigningKeys.json
new file mode 100644
index 000000000000..4c70d33042ed
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersRotateServiceAccountSigningKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersStart.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersStart.json
new file mode 100644
index 000000000000..4c70d33042ed
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersStart.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersStop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersStop.json
new file mode 100644
index 000000000000..4c70d33042ed
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersStop.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersUpdateTags.json
new file mode 100644
index 000000000000..90e7d112a6dc
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ManagedClustersUpdateTags.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "tags": {
+ "tier": "testing",
+ "archv3": ""
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv3": "",
+ "tier": "testing"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "currentOrchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/OperationStatusResultGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/OperationStatusResultGet.json
new file mode 100644
index 000000000000..b5cfd8c65559
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/OperationStatusResultGet.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "operationId": "00000000-0000-0000-0000-000000000001"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/operations/00000000-0000-0000-0000-000000000001",
+ "name": "00000000-0000-0000-0000-000000000001",
+ "status": "InProgress",
+ "percentComplete": 40,
+ "startTime": "2023-07-26T12:14:26.3179428Z"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/OperationStatusResultGetByAgentPool.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/OperationStatusResultGetByAgentPool.json
new file mode 100644
index 000000000000..3fbd1de1c9e2
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/OperationStatusResultGetByAgentPool.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "operationId": "00000000-0000-0000-0000-000000000001"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/operations/00000000-0000-0000-0000-000000000001",
+ "name": "00000000-0000-0000-0000-000000000001",
+ "status": "InProgress",
+ "percentComplete": 40,
+ "startTime": "2023-07-26T12:14:26.3179428Z"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/OperationStatusResultList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/OperationStatusResultList.json
new file mode 100644
index 000000000000..70ee2d8e48e0
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/OperationStatusResultList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/operations/d11edb09-6e27-429f-9fe5-17baf773bc4a",
+ "name": "d11edb09-6e27-429f-9fe5-17baf773bc4a",
+ "status": "InProgress",
+ "percentComplete": 40,
+ "startTime": "2023-07-26T12:14:26.3179428Z"
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/operations/d11edb09-6e27-429f-9fe5-17baf773bc4b",
+ "name": "d11edb09-6e27-429f-9fe5-17baf773bc4b",
+ "status": "Failed",
+ "startTime": "2023-07-26T12:14:26.3179428Z",
+ "endTime": "2023-07-26T12:14:50.3179428Z",
+ "error": {
+ "code": "ReconcileAgentPoolIdentityError",
+ "message": "Reconcile agent pool nodepool1 identity failed"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/Operation_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/Operation_List.json
new file mode 100644
index 000000000000..f905ed721dbc
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/Operation_List.json
@@ -0,0 +1,3583 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "display": {
+ "description": "Gets the status of an asynchronous operation",
+ "operation": "Get Operation",
+ "provider": "Microsoft Container Service",
+ "resource": "Operation"
+ },
+ "name": "Microsoft.ContainerService/locations/operations/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Lists the supported orchestrators",
+ "operation": "List Orchestrators",
+ "provider": "Microsoft Container Service",
+ "resource": "Orchestrator"
+ },
+ "name": "Microsoft.ContainerService/locations/orchestrators/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Gets OS options",
+ "operation": "Get OS Options",
+ "provider": "Microsoft Container Service",
+ "resource": "OSOptions"
+ },
+ "name": "Microsoft.ContainerService/locations/osOptions/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Lists operations available on Microsoft.ContainerService resource provider",
+ "operation": "List Available Container Service Operations",
+ "provider": "Microsoft Container Service",
+ "resource": "Available Container Service Operations"
+ },
+ "name": "Microsoft.ContainerService/operations/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Registers Subscription with Microsoft.ContainerService resource provider",
+ "operation": "Register Subscription for Container Service",
+ "provider": "Microsoft Container Service",
+ "resource": "Container Service Register Subscription"
+ },
+ "name": "Microsoft.ContainerService/register/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Unregisters Subscription with Microsoft.ContainerService resource provider",
+ "operation": "Unregister Subscription for Container Service",
+ "provider": "Microsoft Container Service",
+ "resource": "Container Service Unregister Subscription"
+ },
+ "name": "Microsoft.ContainerService/unregister/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Gets the status of an asynchronous operation result",
+ "operation": "Get Operation Result",
+ "provider": "Microsoft Container Service",
+ "resource": "OperationResult"
+ },
+ "name": "Microsoft.ContainerService/locations/operationresults/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Get a container service",
+ "operation": "Get Container Service",
+ "provider": "Microsoft Container Service",
+ "resource": "Container Services"
+ },
+ "name": "Microsoft.ContainerService/containerServices/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Creates a new container service or updates an existing one",
+ "operation": "Create or Update Container Service",
+ "provider": "Microsoft Container Service",
+ "resource": "Container Services"
+ },
+ "name": "Microsoft.ContainerService/containerServices/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes a container service",
+ "operation": "Delete Container Service",
+ "provider": "Microsoft Container Service",
+ "resource": "Container Services"
+ },
+ "name": "Microsoft.ContainerService/containerServices/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Get a managed cluster",
+ "operation": "Get Managed Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Creates a new managed cluster or updates an existing one",
+ "operation": "Create or Update Managed Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes a managed cluster",
+ "operation": "Delete Managed Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Starts a managed cluster",
+ "operation": "Start Managed Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/start/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Stops a managed cluster",
+ "operation": "Stop Managed Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/stop/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Gets a maintenance configuration",
+ "operation": "Get a maintenance configuration",
+ "provider": "Microsoft Container Service",
+ "resource": "Maintenance Configurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Creates a new MaintenanceConfiguration or updates an existing one",
+ "operation": "Create or Update maintenance configuratio",
+ "provider": "Microsoft Container Service",
+ "resource": "Maintenance Configurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes a maintenance configuration",
+ "operation": "Delete Maintenance Configuration",
+ "provider": "Microsoft Container Service",
+ "resource": "Maintenance Configurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Gets an agent pool",
+ "operation": "Get Agent Pool",
+ "provider": "Microsoft Container Service",
+ "resource": "Agent Pools"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/agentPools/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Creates a new agent pool or updates an existing one",
+ "operation": "Create or Update Agent Pool",
+ "provider": "Microsoft Container Service",
+ "resource": "Agent Pools"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/agentPools/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes an agent pool",
+ "operation": "Delete Agent Pool",
+ "provider": "Microsoft Container Service",
+ "resource": "Agent Pools"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/agentPools/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Gets the upgrade profile of the Agent Pool",
+ "operation": "Get Agent Pool UpgradeProfile",
+ "provider": "Microsoft Container Service",
+ "resource": "Agent Pools"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Upgrade the node image version of agent pool",
+ "operation": "Upgrade agent pool node image version",
+ "provider": "Microsoft Container Service",
+ "resource": "Agent Pools"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeNodeImageVersion/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Gets the available agent pool versions of the cluster",
+ "operation": "Get Available Agent Pool Versions",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/availableAgentPoolVersions/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Get a managed cluster access profile by role name",
+ "operation": "Get Managed Cluster AccessProfile",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/accessProfiles/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Get a managed cluster access profile by role name using list credential",
+ "operation": "Get Managed Cluster AccessProfile by List Credential",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Gets the upgrade profile of the cluster",
+ "operation": "Get UpgradeProfile",
+ "provider": "Microsoft Container Service",
+ "resource": "UpgradeProfile"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/upgradeProfiles/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "List the clusterAdmin credential of a managed cluster",
+ "operation": "List clusterAdmin credential",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "List the clusterUser credential of a managed cluster",
+ "operation": "List clusterUser credential",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/listClusterUserCredential/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "List the clusterMonitoringUser credential of a managed cluster",
+ "operation": "List clusterMonitoringUser credential",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/listClusterMonitoringUserCredential/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reset the service principal profile of a managed cluster",
+ "operation": "Reset service principal profile",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/resetServicePrincipalProfile/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Resolve the private link service id of a managed cluster",
+ "operation": "Resolve private link service id",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/resolvePrivateLinkServiceId/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reset the AAD profile of a managed cluster",
+ "operation": "Reset AAD profile",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/resetAADProfile/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Rotate certificates of a managed cluster",
+ "operation": "Rotate certificates of the cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rotateClusterCertificates/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Run user issued command against managed kubernetes server.",
+ "operation": "RunCommand",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/runCommand/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Retrieve result from previous issued command.",
+ "operation": "CommandResult",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/commandResults/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Get the diagnostic setting for a managed cluster resource",
+ "operation": "Read Diagnostic Setting",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/read",
+ "origin": "system"
+ },
+ {
+ "display": {
+ "description": "Creates or updates the diagnostic setting for a managed cluster resource",
+ "operation": "Write Diagnostic Setting",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/write",
+ "origin": "system"
+ },
+ {
+ "display": {
+ "description": "Get Managed Cluster Detector",
+ "operation": "Get Managed Cluster Detector",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Cluster Detector"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/detectors/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Gets the diagnostics state of the cluster",
+ "operation": "Get Diagnostics State",
+ "provider": "Microsoft Container Service",
+ "resource": "Diagnostics State"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/diagnosticsState/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Determines if user is allowed to approve a private endpoint connection",
+ "operation": "Approve Private Endpoint Connections",
+ "provider": "Microsoft Container Service",
+ "resource": "Approve Private Endpoint Connections"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnectionsApproval/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Get private endpoint connection",
+ "operation": "Get private endpoint connection",
+ "provider": "Microsoft Container Service",
+ "resource": "Private Endpoint Connections"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Approve or Reject a private endpoint connection",
+ "operation": "Update private endpoint connection",
+ "provider": "Microsoft Container Service",
+ "resource": "Private Endpoint Connections"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Delete private endpoint connection",
+ "operation": "Delete private endpoint connection",
+ "provider": "Microsoft Container Service",
+ "resource": "Private Endpoint Connections"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Gets an extension addon",
+ "operation": "Get an extension addon",
+ "provider": "Microsoft Container Service",
+ "resource": "ExtensionAddons"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensionaddons/read",
+ "origin": "system"
+ },
+ {
+ "display": {
+ "description": "Creates a new extension addon or updates an existing one",
+ "operation": "Create or Update extension addon",
+ "provider": "Microsoft Container Service",
+ "resource": "ExtensionAddons"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensionaddons/write",
+ "origin": "system"
+ },
+ {
+ "display": {
+ "description": "Deletes an extension addon",
+ "operation": "Delete an extension addon",
+ "provider": "Microsoft Container Service",
+ "resource": "ExtensionAddons"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensionaddons/delete",
+ "origin": "system"
+ },
+ {
+ "display": {
+ "description": "Get a snapshot",
+ "operation": "Get Snapshot",
+ "provider": "Microsoft Container Service",
+ "resource": "Snapshots"
+ },
+ "name": "Microsoft.ContainerService/snapshots/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Creates a new snapshot",
+ "operation": "Create Snapshot",
+ "provider": "Microsoft Container Service",
+ "resource": "Snapshots"
+ },
+ "name": "Microsoft.ContainerService/snapshots/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes a snapshot",
+ "operation": "Delete Snapshot",
+ "provider": "Microsoft Container Service",
+ "resource": "Snapshots"
+ },
+ "name": "Microsoft.ContainerService/snapshots/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Get eventgrid filter",
+ "operation": "Get eventgrid filter",
+ "provider": "Microsoft Container Service",
+ "resource": "EventGridFilters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/read",
+ "origin": "system"
+ },
+ {
+ "display": {
+ "description": "Create or Update eventgrid filter",
+ "operation": "Create or Update eventgrid filter",
+ "provider": "Microsoft Container Service",
+ "resource": "EventGridFilters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/write",
+ "origin": "system"
+ },
+ {
+ "display": {
+ "description": "Delete an eventgrid filter",
+ "operation": "Delete an eventgrid filter",
+ "provider": "Microsoft Container Service",
+ "resource": "EventGridFilters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/delete",
+ "origin": "system"
+ },
+ {
+ "display": {
+ "description": "Reads initializerconfigurations",
+ "operation": "Gets/List initializerconfigurations resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Initializerconfigurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes initializerconfigurations",
+ "operation": "Creates/Updates initializerconfigurations resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Initializerconfigurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes/DeletesCollection initializerconfigurations resource",
+ "operation": "Initializerconfigurations",
+ "provider": "Microsoft Container Service",
+ "resource": "Initializerconfigurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads mutatingwebhookconfigurations",
+ "operation": "Gets/List mutatingwebhookconfigurations resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Mutatingwebhookconfigurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes mutatingwebhookconfigurations",
+ "operation": "Creates/Updates mutatingwebhookconfigurations resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Mutatingwebhookconfigurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes mutatingwebhookconfigurations",
+ "operation": "Deletes/DeletesCollection mutatingwebhookconfigurations resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Mutatingwebhookconfigurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads validatingwebhookconfigurations",
+ "operation": "Gets/List validatingwebhookconfigurations resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Validatingwebhookconfigurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes validatingwebhookconfigurations",
+ "operation": "Creates/Updates validatingwebhookconfigurations resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Validatingwebhookconfigurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes validatingwebhookconfigurations",
+ "operation": "Deletes/DeletesCollection validatingwebhookconfigurations resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Validatingwebhookconfigurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads customresourcedefinitions",
+ "operation": "Gets/List customresourcedefinitions resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Customresourcedefinitions"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes customresourcedefinitions",
+ "operation": "Creates/Updates customresourcedefinitions resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Customresourcedefinitions"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes customresourcedefinitions",
+ "operation": "Deletes/DeletesCollection customresourcedefinitions resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Customresourcedefinitions"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiservices",
+ "operation": "Gets/List apiservices resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apiservices"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes apiservices",
+ "operation": "Creates/Updates apiservices resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apiservices"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes apiservices",
+ "operation": "Deletes/DeletesCollection apiservices resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apiservices"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads controllerrevisions",
+ "operation": "Gets/List controllerrevisions resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Controllerrevisions"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes controllerrevisions",
+ "operation": "Creates/Updates controllerrevisions resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Controllerrevisions"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes controllerrevisions",
+ "operation": "Deletes/DeletesCollection controllerrevisions resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Controllerrevisions"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads daemonsets",
+ "operation": "Gets/List daemonsets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Daemonsets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes daemonsets",
+ "operation": "Creates/Updates daemonsets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Daemonsets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes daemonsets",
+ "operation": "Deletes/DeletesCollection daemonsets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Daemonsets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads deployments",
+ "operation": "Gets/List deployments resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Deployments"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/deployments/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes deployments",
+ "operation": "Creates/Updates deployments resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Deployments"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/deployments/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes deployments",
+ "operation": "Deletes/DeletesCollection deployments resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Deployments"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/deployments/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads replicasets",
+ "operation": "Gets/List replicasets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Replicasets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes replicasets",
+ "operation": "Creates/Updates replicasets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Replicasets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes replicasets",
+ "operation": "Deletes/DeletesCollection replicasets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Replicasets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads statefulsets",
+ "operation": "Gets/List statefulsets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Statefulsets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes statefulsets",
+ "operation": "Creates/Updates statefulsets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Statefulsets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes statefulsets",
+ "operation": "Deletes/DeletesCollection statefulsets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Statefulsets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes tokenreviews",
+ "operation": "Creates/Updates tokenreviews resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Tokenreviews"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/tokenreviews/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes localsubjectaccessreviews",
+ "operation": "Creates/Updates localsubjectaccessreviews resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Localsubjectaccessreviews"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/localsubjectaccessreviews/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes selfsubjectaccessreviews",
+ "operation": "Creates/Updates selfsubjectaccessreviews resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Selfsubjectaccessreviews"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectaccessreviews/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes selfsubjectrulesreviews",
+ "operation": "Creates/Updates selfsubjectrulesreviews resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Selfsubjectrulesreviews"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectrulesreviews/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes subjectaccessreviews",
+ "operation": "Creates/Updates subjectaccessreviews resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Subjectaccessreviews"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/subjectaccessreviews/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads horizontalpodautoscalers",
+ "operation": "Gets/List horizontalpodautoscalers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Horizontalpodautoscalers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes horizontalpodautoscalers",
+ "operation": "Creates/Updates horizontalpodautoscalers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Horizontalpodautoscalers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes horizontalpodautoscalers",
+ "operation": "Deletes/DeletesCollection horizontalpodautoscalers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Horizontalpodautoscalers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads cronjobs",
+ "operation": "Gets/List cronjobs resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Cronjobs"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes cronjobs",
+ "operation": "Creates/Updates cronjobs resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Cronjobs"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes cronjobs",
+ "operation": "Deletes/DeletesCollection cronjobs resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Cronjobs"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads jobs",
+ "operation": "Gets/List jobs resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Jobs"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/batch/jobs/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes jobs",
+ "operation": "Creates/Updates jobs resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Jobs"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/batch/jobs/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes jobs",
+ "operation": "Deletes/DeletesCollection jobs resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Jobs"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/batch/jobs/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads certificatesigningrequests",
+ "operation": "Gets/List certificatesigningrequests resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Certificatesigningrequests"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes certificatesigningrequests",
+ "operation": "Creates/Updates certificatesigningrequests resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Certificatesigningrequests"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes certificatesigningrequests",
+ "operation": "Deletes/DeletesCollection certificatesigningrequests resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Certificatesigningrequests"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads leases",
+ "operation": "Gets/List leases resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Leases"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes leases",
+ "operation": "Creates/Updates leases resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Leases"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes leases",
+ "operation": "Deletes/DeletesCollection leases resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Leases"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes bindings",
+ "operation": "Creates/Updates bindings resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Bindings"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/bindings/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads componentstatuses",
+ "operation": "Gets/List componentstatuses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Componentstatuses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/componentstatuses/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes componentstatuses",
+ "operation": "Creates/Updates componentstatuses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Componentstatuses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/componentstatuses/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes componentstatuses",
+ "operation": "Deletes/DeletesCollection componentstatuses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Componentstatuses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/componentstatuses/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads configmaps",
+ "operation": "Gets/List configmaps resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Configmaps"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/configmaps/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes configmaps",
+ "operation": "Creates/Updates configmaps resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Configmaps"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/configmaps/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes configmaps",
+ "operation": "Deletes/DeletesCollection configmaps resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Configmaps"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/configmaps/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads endpoints",
+ "operation": "Gets/List endpoints resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Endpoints"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/endpoints/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes endpoints",
+ "operation": "Creates/Updates endpoints resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Endpoints"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/endpoints/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes endpoints",
+ "operation": "Deletes/DeletesCollection endpoints resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Endpoints"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/endpoints/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads events",
+ "operation": "Gets/List events resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Events"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/events/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes events",
+ "operation": "Creates/Updates events resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Events"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/events/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes events",
+ "operation": "Deletes/DeletesCollection events resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Events"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/events/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads limitranges",
+ "operation": "Gets/List limitranges resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Limitranges"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/limitranges/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes limitranges",
+ "operation": "Creates/Updates limitranges resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Limitranges"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/limitranges/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes limitranges",
+ "operation": "Deletes/DeletesCollection limitranges resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Limitranges"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/limitranges/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads namespaces",
+ "operation": "Gets/List namespaces resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Namespaces"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/namespaces/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes namespaces",
+ "operation": "Creates/Updates namespaces resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Namespaces"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/namespaces/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes namespaces",
+ "operation": "Deletes/DeletesCollection namespaces resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Namespaces"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/namespaces/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads nodes",
+ "operation": "Gets/List nodes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Nodes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/nodes/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes nodes",
+ "operation": "Creates/Updates nodes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Nodes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/nodes/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes nodes",
+ "operation": "Deletes/DeletesCollection nodes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Nodes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/nodes/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads persistentvolumeclaims",
+ "operation": "Gets/List persistentvolumeclaims resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Persistentvolumeclaims"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes persistentvolumeclaims",
+ "operation": "Creates/Updates persistentvolumeclaims resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Persistentvolumeclaims"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes persistentvolumeclaims",
+ "operation": "Deletes/DeletesCollection persistentvolumeclaims resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Persistentvolumeclaims"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads persistentvolumes",
+ "operation": "Gets/List persistentvolumes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Persistentvolumes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes persistentvolumes",
+ "operation": "Creates/Updates persistentvolumes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Persistentvolumes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes persistentvolumes",
+ "operation": "Deletes/DeletesCollection persistentvolumes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Persistentvolumes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads pods",
+ "operation": "Gets/List pods resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Pods"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/pods/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes pods",
+ "operation": "Creates/Updates pods resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Pods"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/pods/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes pods",
+ "operation": "Deletes/DeletesCollection pods resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Pods"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/pods/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Exec into pods resource",
+ "operation": "Exec into pods resource ",
+ "provider": "Microsoft Container Service",
+ "resource": "Pods"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/pods/exec/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads podtemplates",
+ "operation": "Gets/List podtemplates resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Podtemplates"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/podtemplates/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes podtemplates",
+ "operation": "Creates/Updates podtemplates resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Podtemplates"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/podtemplates/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes podtemplates",
+ "operation": "Deletes/DeletesCollection podtemplates resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Podtemplates"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/podtemplates/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads replicationcontrollers",
+ "operation": "Gets/List replicationcontrollers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Replicationcontrollers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes replicationcontrollers",
+ "operation": "Creates/Updates replicationcontrollers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Replicationcontrollers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes replicationcontrollers",
+ "operation": "Deletes/DeletesCollection replicationcontrollers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Replicationcontrollers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads resourcequotas",
+ "operation": "Gets/List resourcequotas resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Resourcequotas"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/resourcequotas/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes resourcequotas",
+ "operation": "Creates/Updates resourcequotas resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Resourcequotas"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/resourcequotas/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes resourcequotas",
+ "operation": "Deletes/DeletesCollection resourcequotas resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Resourcequotas"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/resourcequotas/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads secrets",
+ "operation": "Gets/List secrets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Secrets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/secrets/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes secrets",
+ "operation": "Creates/Updates secrets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Secrets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/secrets/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes secrets",
+ "operation": "Deletes/DeletesCollection secrets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Secrets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/secrets/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads serviceaccounts",
+ "operation": "Gets/List serviceaccounts resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Serviceaccounts"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes serviceaccounts",
+ "operation": "Creates/Updates serviceaccounts resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Serviceaccounts"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes serviceaccounts",
+ "operation": "Deletes/DeletesCollection serviceaccounts resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Serviceaccounts"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads services",
+ "operation": "Gets/List services resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Services"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/services/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes services",
+ "operation": "Creates/Updates services resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Services"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/services/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes services",
+ "operation": "Deletes/DeletesCollection services resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Services"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/services/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads events",
+ "operation": "Gets/List events resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Events"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes events",
+ "operation": "Creates/Updates events resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Events"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes events",
+ "operation": "Deletes/DeletesCollection events resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Events"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads daemonsets",
+ "operation": "Gets/List daemonsets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Daemonsets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes daemonsets",
+ "operation": "Creates/Updates daemonsets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Daemonsets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes daemonsets",
+ "operation": "Deletes/DeletesCollection daemonsets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Daemonsets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads deployments",
+ "operation": "Gets/List deployments resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Deployments"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes deployments",
+ "operation": "Creates/Updates deployments resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Deployments"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes deployments",
+ "operation": "Deletes/DeletesCollection deployments resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Deployments"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads ingresses",
+ "operation": "Gets/List ingresses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Ingresses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes ingresses",
+ "operation": "Creates/Updates ingresses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Ingresses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes ingresses",
+ "operation": "Deletes/DeletesCollection ingresses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Ingresses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads networkpolicies",
+ "operation": "Gets/List networkpolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Networkpolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes networkpolicies",
+ "operation": "Creates/Updates networkpolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Networkpolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes networkpolicies",
+ "operation": "Deletes/DeletesCollection networkpolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Networkpolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads podsecuritypolicies",
+ "operation": "Gets/List podsecuritypolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Podsecuritypolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes podsecuritypolicies",
+ "operation": "Creates/Updates podsecuritypolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Podsecuritypolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes podsecuritypolicies",
+ "operation": "Deletes/DeletesCollection podsecuritypolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Podsecuritypolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads replicasets",
+ "operation": "Gets/List replicasets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Replicasets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes replicasets",
+ "operation": "Creates/Updates replicasets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Replicasets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes replicasets",
+ "operation": "Deletes/DeletesCollection replicasets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Replicasets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads pods",
+ "operation": "Gets/List pods resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Pods"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/pods/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads nodes",
+ "operation": "Gets/List nodes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Nodes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/nodes/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads networkpolicies",
+ "operation": "Gets/List networkpolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Networkpolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes networkpolicies",
+ "operation": "Creates/Updates networkpolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Networkpolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes networkpolicies",
+ "operation": "Deletes/DeletesCollection networkpolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Networkpolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads ingresses",
+ "operation": "Gets/List ingresses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Ingresses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes ingresses",
+ "operation": "Creates/Updates ingresses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Ingresses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes ingresses",
+ "operation": "Deletes/DeletesCollection ingresses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Ingresses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads runtimeclasses",
+ "operation": "Gets/List runtimeclasses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Runtimeclasses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes runtimeclasses",
+ "operation": "Creates/Updates runtimeclasses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Runtimeclasses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes runtimeclasses",
+ "operation": "Deletes/DeletesCollection runtimeclasses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Runtimeclasses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads api",
+ "operation": "Gets/List api resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Api"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/api/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads api/v1",
+ "operation": "Gets/List api/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Api/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/api/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apis",
+ "operation": "Gets/List apis resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apis"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads admissionregistration.k8s.io",
+ "operation": "Gets/List admissionregistration.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Admissionregistration.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads admissionregistration.k8s.io/v1",
+ "operation": "Gets/List admissionregistration.k8s.io/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Admissionregistration.K8s.Io/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads admissionregistration.k8s.io/v1beta1",
+ "operation": "Gets/List admissionregistration.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Admissionregistration.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiextensions.k8s.io",
+ "operation": "Gets/List apiextensions.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apiextensions.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiextensions.k8s.io/v1",
+ "operation": "Gets/List apiextensions.k8s.io/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apiextensions.K8s.Io/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiextensions.k8s.io/v1beta1",
+ "operation": "Gets/List apiextensions.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apiextensions.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiregistration.k8s.io",
+ "operation": "Gets/List apiregistration.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apiregistration.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiregistration.k8s.io/v1",
+ "operation": "Gets/List apiregistration.k8s.io/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apiregistration.K8s.Io/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiregistration.k8s.io/v1beta1",
+ "operation": "Gets/List apiregistration.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apiregistration.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apps",
+ "operation": "Gets/List apps resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apps"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/apps/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apps/v1",
+ "operation": "Gets/List apps/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apps/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apps/v1beta1",
+ "operation": "Gets/List apps/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apps/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apps/v1beta2",
+ "operation": "Gets/List apps/v1beta2 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apps/V1beta2"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta2/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads authentication.k8s.io",
+ "operation": "Gets/List authentication.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Authentication.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads authentication.k8s.io/v1",
+ "operation": "Gets/List authentication.k8s.io/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Authentication.K8s.Io/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads authentication.k8s.io/v1beta1",
+ "operation": "Gets/List authentication.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Authentication.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads authorization.k8s.io",
+ "operation": "Gets/List authorization.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Authorization.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads authorization.k8s.io/v1",
+ "operation": "Gets/List authorization.k8s.io/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Authorization.K8s.Io/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads authorization.k8s.io/v1beta1",
+ "operation": "Gets/List authorization.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Authorization.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads autoscaling",
+ "operation": "Gets/List autoscaling resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Autoscaling"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads autoscaling/v1",
+ "operation": "Gets/List autoscaling/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Autoscaling/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads autoscaling/v2beta1",
+ "operation": "Gets/List autoscaling/v2beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Autoscaling/V2beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads autoscaling/v2beta2",
+ "operation": "Gets/List autoscaling/v2beta2 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Autoscaling/V2beta2"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta2/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads batch",
+ "operation": "Gets/List batch resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Batch"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/batch/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads batch/v1",
+ "operation": "Gets/List batch/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Batch/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads batch/v1beta1",
+ "operation": "Gets/List batch/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Batch/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads certificates.k8s.io",
+ "operation": "Gets/List certificates.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Certificates.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads certificates.k8s.io/v1beta1",
+ "operation": "Gets/List certificates.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Certificates.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads coordination.k8s.io",
+ "operation": "Gets/List coordination.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Coordination.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads coordination/v1",
+ "operation": "Gets/List coordination/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Coordination.K8s.Io/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads coordination.k8s.io/v1beta1",
+ "operation": "Gets/List coordination.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Coordination.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads events.k8s.io",
+ "operation": "Gets/List events.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Events.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads events.k8s.io/v1beta1",
+ "operation": "Gets/List events.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Events.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads extensions",
+ "operation": "Gets/List extensions resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Extensions"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/extensions/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads extensions/v1beta1",
+ "operation": "Gets/List extensions/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Extensions/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/extensions/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads metrics.k8s.io",
+ "operation": "Gets/List metrics.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Metrics.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads metrics.k8s.io/v1beta1",
+ "operation": "Gets/List metrics.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Metrics.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads networking.k8s.io",
+ "operation": "Gets/List networking.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Networking.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads networking/v1",
+ "operation": "Gets/List networking/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Networking.K8s.Io/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads networking.k8s.io/v1beta1",
+ "operation": "Gets/List networking.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Networking.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads node.k8s.io",
+ "operation": "Gets/List node.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Node.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads node.k8s.io/v1beta1",
+ "operation": "Gets/List node.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Node.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads policy",
+ "operation": "Gets/List policy resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Policy"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/policy/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads policy/v1beta1",
+ "operation": "Gets/List policy/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Policy/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/policy/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads rbac.authorization.k8s.io",
+ "operation": "Gets/List rbac.authorization.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Rbac.Authorization.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads rbac.authorization/v1",
+ "operation": "Gets/List rbac.authorization/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Rbac.Authorization.K8s.Io/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads rbac.authorization.k8s.io/v1beta1",
+ "operation": "Gets/List rbac.authorization.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Rbac.Authorization.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads scheduling.k8s.io",
+ "operation": "Gets/List scheduling.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Scheduling.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads scheduling/v1",
+ "operation": "Gets/List scheduling/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Scheduling.K8s.Io/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads scheduling.k8s.io/v1beta1",
+ "operation": "Gets/List scheduling.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Scheduling.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads storage.k8s.io",
+ "operation": "Gets/List storage.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Storage.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads storage/v1",
+ "operation": "Gets/List storage/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Storage.K8s.Io/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads storage.k8s.io/v1beta1",
+ "operation": "Gets/List storage.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Storage.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads healthz",
+ "operation": "Gets/List healthz resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads autoregister-completion",
+ "operation": "Gets/List autoregister-completion resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Autoregister-Completion"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/autoregister-completion/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads etcd",
+ "operation": "Gets/List etcd resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Etcd"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/etcd/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads log",
+ "operation": "Gets/List log resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Log"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/log/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads ping",
+ "operation": "Gets/List ping resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Ping"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/ping/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiservice-openapi-controller",
+ "operation": "Gets/List apiservice-openapi-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Apiservice-Openapi-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-openapi-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiservice-registration-controller",
+ "operation": "Gets/List apiservice-registration-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Apiservice-Registration-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-registration-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiservice-status-available-controller",
+ "operation": "Gets/List apiservice-status-available-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Apiservice-Status-Available-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-status-available-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads bootstrap-controller",
+ "operation": "Gets/List bootstrap-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Bootstrap-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/bootstrap-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads ca-registration",
+ "operation": "Gets/List ca-registration resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Ca-Registration"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/ca-registration/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads crd-informer-synced",
+ "operation": "Gets/List crd-informer-synced resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Crd-Informer-Synced"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/crd-informer-synced/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads generic-apiserver-start-informers",
+ "operation": "Gets/List generic-apiserver-start-informers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Generic-Apiserver-Start-Informers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/generic-apiserver-start-informers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads kube-apiserver-autoregistration",
+ "operation": "Gets/List kube-apiserver-autoregistration resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Kube-Apiserver-Autoregistration"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/kube-apiserver-autoregistration/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads bootstrap-roles",
+ "operation": "Gets/List bootstrap-roles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Bootstrap-Roles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/rbac/bootstrap-roles/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads bootstrap-system-priority-classes",
+ "operation": "Gets/List bootstrap-system-priority-classes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Bootstrap-System-Priority-Classes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/scheduling/bootstrap-system-priority-classes/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-apiextensions-controllers",
+ "operation": "Gets/List start-apiextensions-controllers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Start-Apiextensions-Controllers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-controllers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-apiextensions-informers",
+ "operation": "Gets/List start-apiextensions-informers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Start-Apiextensions-Informers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-informers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-kube-aggregator-informers",
+ "operation": "Gets/List start-kube-aggregator-informers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Start-Kube-Aggregator-Informers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-aggregator-informers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-kube-apiserver-admission-initializer",
+ "operation": "Gets/List start-kube-apiserver-admission-initializer resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-apiserver-admission-initializer/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads livez",
+ "operation": "Gets/List livez resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads autoregister-completion",
+ "operation": "Gets/List autoregister-completion resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Autoregister-Completion"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/autoregister-completion/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads etcd",
+ "operation": "Gets/List etcd resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Etcd"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/etcd/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads log",
+ "operation": "Gets/List log resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Log"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/log/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads ping",
+ "operation": "Gets/List ping resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Ping"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/ping/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiservice-openapi-controller",
+ "operation": "Gets/List apiservice-openapi-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Apiservice-Openapi-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-openapi-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiservice-registration-controller",
+ "operation": "Gets/List apiservice-registration-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Apiservice-Registration-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-registration-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiservice-status-available-controller",
+ "operation": "Gets/List apiservice-status-available-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Apiservice-Status-Available-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-status-available-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads bootstrap-controller",
+ "operation": "Gets/List bootstrap-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Bootstrap-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/bootstrap-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads ca-registration",
+ "operation": "Gets/List ca-registration resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Ca-Registration"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/ca-registration/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads crd-informer-synced",
+ "operation": "Gets/List crd-informer-synced resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Crd-Informer-Synced"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/crd-informer-synced/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads generic-apiserver-start-informers",
+ "operation": "Gets/List generic-apiserver-start-informers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Generic-Apiserver-Start-Informers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/generic-apiserver-start-informers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads kube-apiserver-autoregistration",
+ "operation": "Gets/List kube-apiserver-autoregistration resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Kube-Apiserver-Autoregistration"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/kube-apiserver-autoregistration/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads bootstrap-roles",
+ "operation": "Gets/List bootstrap-roles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Bootstrap-Roles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/rbac/bootstrap-roles/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads bootstrap-system-priority-classes",
+ "operation": "Gets/List bootstrap-system-priority-classes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Bootstrap-System-Priority-Classes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/scheduling/bootstrap-system-priority-classes/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-apiextensions-controllers",
+ "operation": "Gets/List start-apiextensions-controllers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Start-Apiextensions-Controllers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-controllers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-apiextensions-informers",
+ "operation": "Gets/List start-apiextensions-informers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Start-Apiextensions-Informers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-informers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-kube-aggregator-informers",
+ "operation": "Gets/List start-kube-aggregator-informers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Start-Kube-Aggregator-Informers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-aggregator-informers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-kube-apiserver-admission-initializer",
+ "operation": "Gets/List start-kube-apiserver-admission-initializer resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Start-Kube-Apiserver-Admission-Initializer"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-apiserver-admission-initializer/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads logs",
+ "operation": "Gets/List logs resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Logs"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/logs/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads metrics",
+ "operation": "Gets/List metrics resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Metrics"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/metrics/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads v2",
+ "operation": "Gets/List v2 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Openapi/V2"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/openapi/v2/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads readyz",
+ "operation": "Gets/List readyz resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads autoregister-completion",
+ "operation": "Gets/List autoregister-completion resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Autoregister-Completion"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/autoregister-completion/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads etcd",
+ "operation": "Gets/List etcd resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Etcd"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/etcd/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads log",
+ "operation": "Gets/List log resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Log"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/log/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads ping",
+ "operation": "Gets/List ping resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Ping"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/ping/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiservice-openapi-controller",
+ "operation": "Gets/List apiservice-openapi-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Apiservice-Openapi-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-openapi-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiservice-registration-controller",
+ "operation": "Gets/List apiservice-registration-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Apiservice-Registration-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-registration-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiservice-status-available-controller",
+ "operation": "Gets/List apiservice-status-available-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Apiservice-Status-Available-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-status-available-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads bootstrap-controller",
+ "operation": "Gets/List bootstrap-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Bootstrap-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/bootstrap-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads ca-registration",
+ "operation": "Gets/List ca-registration resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Ca-Registration"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/ca-registration/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads crd-informer-synced",
+ "operation": "Gets/List crd-informer-synced resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Crd-Informer-Synced"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/crd-informer-synced/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads generic-apiserver-start-informers",
+ "operation": "Gets/List generic-apiserver-start-informers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Generic-Apiserver-Start-Informers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/generic-apiserver-start-informers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads kube-apiserver-autoregistration",
+ "operation": "Gets/List kube-apiserver-autoregistration resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Kube-Apiserver-Autoregistration"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/kube-apiserver-autoregistration/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads bootstrap-roles",
+ "operation": "Gets/List bootstrap-roles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Bootstrap-Roles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/rbac/bootstrap-roles/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads bootstrap-system-priority-classes",
+ "operation": "Gets/List bootstrap-system-priority-classes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Bootstrap-System-Priority-Classes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/scheduling/bootstrap-system-priority-classes/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-apiextensions-controllers",
+ "operation": "Gets/List start-apiextensions-controllers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Start-Apiextensions-Controllers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-controllers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-apiextensions-informers",
+ "operation": "Gets/List start-apiextensions-informers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Start-Apiextensions-Informers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-informers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-kube-aggregator-informers",
+ "operation": "Gets/List start-kube-aggregator-informers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Start-Kube-Aggregator-Informers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-aggregator-informers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-kube-apiserver-admission-initializer",
+ "operation": "Gets/List start-kube-apiserver-admission-initializer resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-apiserver-admission-initializer/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads shutdown",
+ "operation": "Gets/List shutdown resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Shutdown"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/shutdown/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads resetMetrics",
+ "operation": "Gets/List resetMetrics resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Resetmetrics"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/resetMetrics/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads swagger-ui",
+ "operation": "Gets/List swagger-ui resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Swagger-Ui"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/swagger-ui/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads swagger-api",
+ "operation": "Gets/List swagger-api resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Swagger-Api"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/swagger-api/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads ui",
+ "operation": "Gets/List ui resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Ui"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/ui/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads version",
+ "operation": "Gets/List version resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Version"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/version/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads poddisruptionbudgets",
+ "operation": "Gets/List poddisruptionbudgets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Poddisruptionbudgets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes poddisruptionbudgets",
+ "operation": "Creates/Updates poddisruptionbudgets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Poddisruptionbudgets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes poddisruptionbudgets",
+ "operation": "Deletes/DeletesCollection poddisruptionbudgets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Poddisruptionbudgets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads podsecuritypolicies",
+ "operation": "Gets/List podsecuritypolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Podsecuritypolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes podsecuritypolicies",
+ "operation": "Creates/Updates podsecuritypolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Podsecuritypolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes podsecuritypolicies",
+ "operation": "Deletes/DeletesCollection podsecuritypolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Podsecuritypolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads clusterrolebindings",
+ "operation": "Gets/List clusterrolebindings resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Clusterrolebindings"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes clusterrolebindings",
+ "operation": "Creates/Updates clusterrolebindings resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Clusterrolebindings"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes clusterrolebindings",
+ "operation": "Deletes/DeletesCollection clusterrolebindings resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Clusterrolebindings"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads clusterroles",
+ "operation": "Gets/List clusterroles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Clusterroles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes clusterroles",
+ "operation": "Creates/Updates clusterroles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Clusterroles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes clusterroles",
+ "operation": "Deletes/DeletesCollection clusterroles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Clusterroles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads rolebindings",
+ "operation": "Gets/List rolebindings resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Rolebindings"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes rolebindings",
+ "operation": "Creates/Updates rolebindings resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Rolebindings"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes rolebindings",
+ "operation": "Deletes/DeletesCollection rolebindings resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Rolebindings"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads roles",
+ "operation": "Gets/List roles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Roles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes roles",
+ "operation": "Creates/Updates roles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Roles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes roles",
+ "operation": "Deletes/DeletesCollection roles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Roles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads priorityclasses",
+ "operation": "Gets/List priorityclasses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Priorityclasses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes priorityclasses",
+ "operation": "Creates/Updates priorityclasses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Priorityclasses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes priorityclasses",
+ "operation": "Deletes/DeletesCollection priorityclasses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Priorityclasses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Use action on podsecuritypolicies",
+ "operation": "Use podsecuritypolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Podsecuritypolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/use/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Binds clusterroles",
+ "operation": "Bind clusterroles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Clusterroles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/bind/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Escalates",
+ "operation": "Escalate clusterroles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Clusterroles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/escalate/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Binds roles",
+ "operation": "Bind roles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Roles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/bind/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Escalates roles",
+ "operation": "Escalate roles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Roles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/escalate/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Impersonate serviceaccounts",
+ "operation": "Impersonate serviceaccounts resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Serviceaccounts"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/impersonate/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Impersonate users",
+ "operation": "Impersonate users resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Users"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/users/impersonate/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Impersonate groups",
+ "operation": "Impersonate groups resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Groups"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/groups/impersonate/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Impersonate userextras",
+ "operation": "Impersonate userextras resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Userextras"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/userextras/impersonate/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads storageclasses",
+ "operation": "Gets/List storageclasses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Storageclasses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes storageclasses",
+ "operation": "Creates/Updates storageclasses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Storageclasses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes storageclasses",
+ "operation": "Deletes/DeletesCollection storageclasses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Storageclasses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads volumeattachments",
+ "operation": "Gets/List volumeattachments resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Volumeattachments"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes volumeattachments",
+ "operation": "Creates/Updates volumeattachments resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Volumeattachments"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes volumeattachments",
+ "operation": "Deletes/DeletesCollection volumeattachments resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Volumeattachments"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads csidrivers",
+ "operation": "Gets/List csidrivers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Csidrivers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes csidrivers",
+ "operation": "Creates/Updates csidrivers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Csidrivers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes csidrivers",
+ "operation": "Deletes/DeletesCollection csidrivers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Csidrivers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads csinodes",
+ "operation": "Gets/List csinodes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Csinodes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes csinodes",
+ "operation": "Creates/Updates csinodes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Csinodes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes csinodes",
+ "operation": "Deletes/DeletesCollection csinodes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Csinodes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Gets the available metrics for Managed Cluster",
+ "operation": "Read Managed Cluster metric definitions",
+ "provider": "Microsoft Container Service",
+ "resource": "The metric definition of Managed Cluster"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/metricDefinitions/read",
+ "origin": "system"
+ },
+ {
+ "display": {
+ "description": "Gets the available logs for Managed Cluster",
+ "operation": "Read Managed Cluster log definitions",
+ "provider": "Microsoft Container Service",
+ "resource": "The log definition of Managed Cluster"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/logDefinitions/read",
+ "origin": "system"
+ },
+ {
+ "display": {
+ "description": "Get a Open Shift Managed Cluster",
+ "operation": "Get Open Shift Managed Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Open Shift Managed Cluster"
+ },
+ "name": "Microsoft.ContainerService/openShiftManagedClusters/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Creates a new Open Shift Managed Cluster or updates an existing one",
+ "operation": "Create or Update Open Shift Managed Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Open Shift Managed Cluster"
+ },
+ "name": "Microsoft.ContainerService/openShiftManagedClusters/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Delete a Open Shift Managed Cluster",
+ "operation": "Delete Open Shift Managed Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Open Shift Managed Cluster"
+ },
+ "name": "Microsoft.ContainerService/openShiftManagedClusters/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Get a Open Shift Cluster",
+ "operation": "Get Open Shift Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Open Shift Cluster"
+ },
+ "name": "Microsoft.ContainerService/openShiftClusters/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Creates a new Open Shift Cluster or updates an existing one",
+ "operation": "Create or Update Open Shift Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Open Shift Cluster"
+ },
+ "name": "Microsoft.ContainerService/openShiftClusters/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Delete a Open Shift Cluster",
+ "operation": "Delete Open Shift Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Open Shift Cluster"
+ },
+ "name": "Microsoft.ContainerService/openShiftClusters/delete",
+ "origin": "user,system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/OutboundNetworkDependenciesEndpointsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/OutboundNetworkDependenciesEndpointsList.json
new file mode 100644
index 000000000000..6a5e30a3b3d3
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/OutboundNetworkDependenciesEndpointsList.json
@@ -0,0 +1,242 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "category": "azure-resource-management",
+ "endpoints": [
+ {
+ "domainName": "management.azure.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "login.microsoftonline.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "images",
+ "endpoints": [
+ {
+ "domainName": "mcr.microsoft.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "*.data.mcr.microsoft.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https",
+ "description": "mcr cdn"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "artifacts",
+ "endpoints": [
+ {
+ "domainName": "packages.microsoft.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "acs-mirror.azureedge.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "time-sync",
+ "endpoints": [
+ {
+ "domainName": "ntp.ubuntu.com",
+ "endpointDetails": [
+ {
+ "port": 123,
+ "protocol": "UDP"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "ubuntu-optional",
+ "endpoints": [
+ {
+ "domainName": "security.ubuntu.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "protocol": "Http"
+ }
+ ]
+ },
+ {
+ "domainName": "azure.archive.ubuntu.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "protocol": "Http"
+ }
+ ]
+ },
+ {
+ "domainName": "changelogs.ubuntu.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "protocol": "Http"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "gpu",
+ "endpoints": [
+ {
+ "domainName": "nvidia.github.io",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "us.download.nvidia.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "apt.dockerproject.org",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "windows",
+ "endpoints": [
+ {
+ "domainName": "onegetcdn.azureedge.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "go.microsoft.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "*.mp.microsoft.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "protocol": "Http"
+ }
+ ]
+ },
+ {
+ "domainName": "www.msftconnecttest.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "protocol": "Http"
+ }
+ ]
+ },
+ {
+ "domainName": "ctldl.windowsupdate.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "protocol": "Http"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "apiserver",
+ "endpoints": [
+ {
+ "domainName": "*.azmk8s.io",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "tunnel-classic",
+ "endpoints": [
+ {
+ "domainName": "*.azmk8s.io",
+ "endpointDetails": [
+ {
+ "port": 9000,
+ "protocol": "TCP"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/PrivateEndpointConnectionsDelete.json
new file mode 100644
index 000000000000..eb528467e996
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/PrivateEndpointConnectionsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "privateEndpointConnectionName": "privateendpointconnection1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/PrivateEndpointConnectionsGet.json
new file mode 100644
index 000000000000..7b97441e5e29
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/PrivateEndpointConnectionsGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "privateEndpointConnectionName": "privateendpointconnection1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1",
+ "name": "privateendpointconnection1",
+ "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/PrivateEndpointConnectionsList.json
new file mode 100644
index 000000000000..ae9c981d2dbf
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/PrivateEndpointConnectionsList.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1",
+ "name": "privateendpointconnection1",
+ "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/PrivateEndpointConnectionsUpdate.json
new file mode 100644
index 000000000000..c45af313971a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/PrivateEndpointConnectionsUpdate.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "privateEndpointConnectionName": "privateendpointconnection1",
+ "parameters": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1",
+ "name": "privateendpointconnection1",
+ "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedCluster/clustername1/privateEndpointConnections/privateendpointconnection1",
+ "name": "privateendpointconnection1",
+ "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/PrivateLinkResourcesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/PrivateLinkResourcesList.json
new file mode 100644
index 000000000000..1375b78a20f6
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/PrivateLinkResourcesList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "management",
+ "type": "Microsoft.ContainerService/managedClusters/privateLinkResources",
+ "groupId": "management",
+ "requiredMembers": [
+ "management"
+ ],
+ "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ResolvePrivateLinkServiceId.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ResolvePrivateLinkServiceId.json
new file mode 100644
index 000000000000..f16026fc49df
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/ResolvePrivateLinkServiceId.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "name": "management"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/RunCommandRequest.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/RunCommandRequest.json
new file mode 100644
index 000000000000..424d6e64abd7
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/RunCommandRequest.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "requestPayload": {
+ "command": "kubectl apply -f ns.yaml",
+ "context": "",
+ "clusterToken": ""
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2024-04-02-preview"
+ }
+ },
+ "200": {
+ "description": "to mitigate RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE",
+ "body": {
+ "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9",
+ "properties": {
+ "provisioningState": "succeeded",
+ "exitCode": 0,
+ "startedAt": "2021-02-17T00:28:20Z",
+ "finishedAt": "2021-02-17T00:28:33Z",
+ "logs": "namespace dummy created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/RunCommandResultFailed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/RunCommandResultFailed.json
new file mode 100644
index 000000000000..c31aecd1c6e1
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/RunCommandResultFailed.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2024-04-02-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9",
+ "properties": {
+ "provisioningState": "failed",
+ "reason": "ImagePullBackoff"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/RunCommandResultSucceed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/RunCommandResultSucceed.json
new file mode 100644
index 000000000000..7fe9cb6f6fae
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/RunCommandResultSucceed.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2024-04-02-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9",
+ "properties": {
+ "provisioningState": "succeeded",
+ "exitCode": 0,
+ "startedAt": "2021-02-17T00:28:20Z",
+ "finishedAt": "2021-02-17T00:28:33Z",
+ "logs": "namespace dummy created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsCreate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsCreate.json
new file mode 100644
index 000000000000..d77be77026bc
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsCreate.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "snapshot1",
+ "parameters": {
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "snapshot1",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1",
+ "type": "Microsoft.ContainerService/Snapshots",
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-08-09T20:13:23.298420761Z"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0"
+ },
+ "snapshotType": "NodePool",
+ "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11",
+ "kubernetesVersion": "1.20.5",
+ "osType": "Linux",
+ "osSku": "Ubuntu",
+ "vmSize": "Standard_D2s_v3",
+ "enableFIPS": false
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "snapshot1",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1",
+ "type": "Microsoft.ContainerService/Snapshots",
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-08-09T20:13:23.298420761Z"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0"
+ },
+ "snapshotType": "NodePool",
+ "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11",
+ "kubernetesVersion": "1.20.5",
+ "osType": "Linux",
+ "osSku": "Ubuntu",
+ "vmSize": "Standard_D2s_v3",
+ "enableFIPS": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsDelete.json
new file mode 100644
index 000000000000..a4bd15832e82
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "snapshot1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsGet.json
new file mode 100644
index 000000000000..be16101bd3ce
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsGet.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "snapshot1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "snapshot1",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1",
+ "type": "Microsoft.ContainerService/Snapshots",
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-08-09T20:13:23.298420761Z"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0"
+ },
+ "snapshotType": "NodePool",
+ "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11",
+ "kubernetesVersion": "1.20.5",
+ "osType": "Linux",
+ "osSku": "Ubuntu",
+ "vmSize": "Standard_D2s_v3",
+ "enableFIPS": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsList.json
new file mode 100644
index 000000000000..ebaca77c63eb
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "snapshot1",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1",
+ "type": "Microsoft.ContainerService/Snapshots",
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-08-09T20:13:23.298420761Z"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0"
+ },
+ "snapshotType": "NodePool",
+ "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11",
+ "kubernetesVersion": "1.20.5",
+ "osType": "Linux",
+ "osSku": "Ubuntu",
+ "vmSize": "Standard_D2s_v3",
+ "enableFIPS": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsListByResourceGroup.json
new file mode 100644
index 000000000000..14c7446e4ce9
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsListByResourceGroup.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "snapshot1",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1",
+ "type": "Microsoft.ContainerService/Snapshots",
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-08-09T20:13:23.298420761Z"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0"
+ },
+ "snapshotType": "NodePool",
+ "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11",
+ "kubernetesVersion": "1.20.5",
+ "osType": "Linux",
+ "osSku": "Ubuntu",
+ "vmSize": "Standard_D2s_v3",
+ "enableFIPS": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsUpdateTags.json
new file mode 100644
index 000000000000..ba1147adfa78
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/SnapshotsUpdateTags.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "snapshot1",
+ "parameters": {
+ "tags": {
+ "key2": "new-val2",
+ "key3": "val3"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "snapshot1",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1",
+ "type": "Microsoft.ContainerService/Snapshots",
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-08-09T20:13:23.298420761Z"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0"
+ },
+ "snapshotType": "NodePool",
+ "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11",
+ "kubernetesVersion": "1.20.5",
+ "osType": "Linux",
+ "osSku": "Ubuntu",
+ "vmSize": "Standard_D2s_v3",
+ "enableFIPS": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/TrustedAccessRoleBindings_CreateOrUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/TrustedAccessRoleBindings_CreateOrUpdate.json
new file mode 100644
index 000000000000..7ba278bde849
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/TrustedAccessRoleBindings_CreateOrUpdate.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "trustedAccessRoleBindingName": "binding1",
+ "trustedAccessRoleBinding": {
+ "properties": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c",
+ "roles": [
+ "Microsoft.MachineLearningServices/workspaces/reader",
+ "Microsoft.MachineLearningServices/workspaces/writer"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1",
+ "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings",
+ "name": "binding1",
+ "properties": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c",
+ "roles": [
+ "Microsoft.MachineLearningServices/workspaces/reader",
+ "Microsoft.MachineLearningServices/workspaces/writer"
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1",
+ "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings",
+ "name": "binding1",
+ "properties": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c",
+ "roles": [
+ "Microsoft.MachineLearningServices/workspaces/reader",
+ "Microsoft.MachineLearningServices/workspaces/writer"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/TrustedAccessRoleBindings_Delete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/TrustedAccessRoleBindings_Delete.json
new file mode 100644
index 000000000000..fbbd340c40c5
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/TrustedAccessRoleBindings_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "trustedAccessRoleBindingName": "binding1"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/00000000-0000-0000-0000-000000000000?api-version=2017-08-31"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/TrustedAccessRoleBindings_Get.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/TrustedAccessRoleBindings_Get.json
new file mode 100644
index 000000000000..38f5f16dfea4
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/TrustedAccessRoleBindings_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "trustedAccessRoleBindingName": "binding1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1",
+ "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings",
+ "name": "binding1",
+ "properties": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c",
+ "roles": [
+ "Microsoft.MachineLearningServices/workspaces/reader",
+ "Microsoft.MachineLearningServices/workspaces/writer"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/TrustedAccessRoleBindings_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/TrustedAccessRoleBindings_List.json
new file mode 100644
index 000000000000..ba71b2d3e324
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/TrustedAccessRoleBindings_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/trustedAccessRoleBindings/binding1",
+ "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings",
+ "name": "binding1",
+ "properties": {
+ "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/b/providers/Microsoft.MachineLearningServices/workspaces/c",
+ "roles": [
+ "Microsoft.MachineLearningServices/workspaces/reader",
+ "Microsoft.MachineLearningServices/workspaces/writer"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/TrustedAccessRoles_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/TrustedAccessRoles_List.json
new file mode 100644
index 000000000000..ce8d035e14ab
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/examples/TrustedAccessRoles_List.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2024-04-02-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "westus2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sourceResourceType": "Microsoft.MachineLearningServices/workspaces",
+ "name": "reader",
+ "rules": [
+ {
+ "verbs": [
+ "get"
+ ],
+ "apiGroups": [
+ ""
+ ],
+ "resources": [
+ "pods"
+ ],
+ "resourceNames": [],
+ "nonResourceURLs": []
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json
new file mode 100644
index 000000000000..6543f78e4a2c
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json
@@ -0,0 +1,10224 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerServiceClient",
+ "description": "The Container Service Client.",
+ "version": "2024-04-02-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.ContainerService/operations": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "Operations_List",
+ "summary": "Gets a list of operations.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "List available operations for the container service resource provider": {
+ "$ref": "./examples/Operation_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/osOptions/default": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetOSOptions",
+ "summary": "Gets supported OS options in the specified subscription.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceTypeParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OSOptionProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Container Service OS Options": {
+ "$ref": "./examples/ContainerServiceGetOSOptions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/kubernetesVersions": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListKubernetesVersions",
+ "summary": "Gets a list of supported Kubernetes versions in the specified subscription.",
+ "description": "Contains extra metadata on the version, including supported patch versions, capabilities, available upgrades, and details on preview status of the version",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/KubernetesVersionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Kubernetes Versions": {
+ "$ref": "./examples/KubernetesVersions_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_List",
+ "summary": "Gets a list of managed clusters in the specified subscription.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Managed Clusters": {
+ "$ref": "./examples/ManagedClustersList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListByResourceGroup",
+ "summary": "Lists managed clusters in the specified subscription and resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Managed Clusters by Resource Group": {
+ "$ref": "./examples/ManagedClustersListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetUpgradeProfile",
+ "summary": "Gets the upgrade profile of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": {
+ "post": {
+ "deprecated": true,
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetAccessProfile",
+ "summary": "Gets an access profile of a managed cluster.",
+ "description": "**WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials) .",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the role for managed cluster accessProfile resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAccessProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetAccessProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterAdminCredentials",
+ "summary": "Lists the admin credentials of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerFqdnParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterUserCredentials",
+ "summary": "Lists the user credentials of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerFqdnParameter"
+ },
+ {
+ "$ref": "#/parameters/CredentialFormatParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials",
+ "summary": "Lists the cluster monitoring user credentials of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerFqdnParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Get",
+ "summary": "Gets a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_CreateOrUpdate",
+ "summary": "Creates or updates a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "The managed cluster to create or update."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "description": "The request should only proceed if an entity matches this string.",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "ifMatch"
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "description": "The request should only proceed if no entity matches this string.",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "ifNoneMatch"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing managed cluster was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "201": {
+ "description": "The new managed cluster was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Managed Cluster": {
+ "$ref": "./examples/ManagedClustersCreate_Update.json"
+ },
+ "Create/Update AAD Managed Cluster with EnableAzureRBAC": {
+ "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json"
+ },
+ "Create/Update Managed Cluster with EnableNamespaceResources": {
+ "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json"
+ },
+ "Create Managed Cluster with PPG": {
+ "$ref": "./examples/ManagedClustersCreate_PPG.json"
+ },
+ "Create Managed Cluster with OSSKU": {
+ "$ref": "./examples/ManagedClustersCreate_OSSKU.json"
+ },
+ "Create Managed Cluster with GPUMIG": {
+ "$ref": "./examples/ManagedClustersCreate_GPUMIG.json"
+ },
+ "Create/Update Managed Cluster with EnableAHUB": {
+ "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json"
+ },
+ "Create Managed Cluster with EncryptionAtHost enabled": {
+ "$ref": "./examples/ManagedClustersCreate_EnableEncryptionAtHost.json"
+ },
+ "Create Managed Cluster with UltraSSD enabled": {
+ "$ref": "./examples/ManagedClustersCreate_EnableUltraSSD.json"
+ },
+ "Create Managed Cluster with PodIdentity enabled": {
+ "$ref": "./examples/ManagedClustersCreate_PodIdentity.json"
+ },
+ "Create Managed Private Cluster with fqdn subdomain specified": {
+ "$ref": "./examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json"
+ },
+ "Create Managed Private Cluster with Public FQDN specified": {
+ "$ref": "./examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json"
+ },
+ "Create Managed Cluster with RunCommand disabled": {
+ "$ref": "./examples/ManagedClustersCreate_DisableRunCommand.json"
+ },
+ "Create Managed Cluster with LongTermSupport": {
+ "$ref": "./examples/ManagedClustersCreate_Premium.json"
+ },
+ "Create Managed Cluster with Node Public IP Prefix": {
+ "$ref": "./examples/ManagedClustersCreate_NodePublicIPPrefix.json"
+ },
+ "Create Managed Cluster with Azure Key Vault Secrets Provider Addon": {
+ "$ref": "./examples/ManagedClustersCreate_AzureKeyvaultSecretsProvider.json"
+ },
+ "Create/Update Managed Cluster with Azure Service Mesh": {
+ "$ref": "./examples/ManagedClustersCreate_AzureServiceMesh.json"
+ },
+ "Create Managed Cluster with FIPS enabled OS": {
+ "$ref": "./examples/ManagedClustersCreate_EnabledFIPS.json"
+ },
+ "Create Managed Cluster with HTTP proxy configured": {
+ "$ref": "./examples/ManagedClustersCreate_HTTPProxy.json"
+ },
+ "Create Managed Cluster with Security Profile configured": {
+ "$ref": "./examples/ManagedClustersCreate_SecurityProfile.json"
+ },
+ "Create Managed Cluster with Web App Routing Ingress Profile configured": {
+ "$ref": "./examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json"
+ },
+ "Create Managed Cluster with AKS-managed NAT gateway as outbound type": {
+ "$ref": "./examples/ManagedClustersCreate_ManagedNATGateway.json"
+ },
+ "Create Managed Cluster with user-assigned NAT gateway as outbound type": {
+ "$ref": "./examples/ManagedClustersCreate_UserAssignedNATGateway.json"
+ },
+ "Create Managed Cluster using an agent pool snapshot": {
+ "$ref": "./examples/ManagedClustersCreate_Snapshot.json"
+ },
+ "Create Managed Cluster using a managed cluster snapshot": {
+ "$ref": "./examples/ManagedClustersCreate_MCSnapshot.json"
+ },
+ "Create/Update Managed Cluster with Windows gMSA enabled": {
+ "$ref": "./examples/ManagedClustersCreate_UpdateWindowsGmsa.json"
+ },
+ "Create/Update Managed Cluster with dual-stack networking": {
+ "$ref": "./examples/ManagedClustersCreate_DualStackNetworking.json"
+ },
+ "Associate Managed Cluster with Capacity Reservation Group": {
+ "$ref": "./examples/ManagedClustersAssociate_CRG.json"
+ },
+ "Create Managed Cluster with Dedicated Host Group": {
+ "$ref": "./examples/ManagedClustersCreate_DedicatedHostGroup.json"
+ },
+ "Create Managed Cluster with CustomCATrustCertificates populated and CustomCATrust enabled": {
+ "$ref": "./examples/ManagedClustersCreate_EnableCustomCATrust.json"
+ },
+ "Create Managed Cluster with VirtualMachines pool type": {
+ "$ref": "./examples/ManagedClustersCreate_VirtualMachines.json"
+ },
+ "Create Managed Cluster with AI Toolchain Operator enabled": {
+ "$ref": "./examples/ManagedClustersCreate_EnableAIToolchainOperator.json"
+ },
+ "Create Managed Cluster with Node Auto Provisioning": {
+ "$ref": "./examples/ManagedClustersCreate_NodeAutoProvisioning.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_UpdateTags",
+ "summary": "Updates tags on a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the Update Managed Cluster Tags operation."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "description": "The request should only proceed if an entity matches this string.",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "ifMatch"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update Managed Cluster Tags": {
+ "$ref": "./examples/ManagedClustersUpdateTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Delete",
+ "summary": "Deletes a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/IgnorePodDisruptionBudgetParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "description": "The request should only proceed if an entity matches this string.",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "ifMatch"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Managed Cluster": {
+ "$ref": "./examples/ManagedClustersDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations": {
+ "get": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "operationId": "MaintenanceConfigurations_ListByManagedCluster",
+ "summary": "Gets a list of maintenance configurations in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfigurationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List maintenance configurations by Managed Cluster": {
+ "$ref": "./examples/MaintenanceConfigurationsList.json"
+ },
+ "List maintenance configurations configured with maintenance window by Managed Cluster": {
+ "$ref": "./examples/MaintenanceConfigurationsList_MaintenanceWindow.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}": {
+ "get": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "operationId": "MaintenanceConfigurations_Get",
+ "summary": "Gets the specified maintenance configuration of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "configName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the maintenance configuration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Maintenance Configuration": {
+ "$ref": "./examples/MaintenanceConfigurationsGet.json"
+ },
+ "Get Maintenance Configuration Configured With Maintenance Window": {
+ "$ref": "./examples/MaintenanceConfigurationsGet_MaintenanceWindow.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "operationId": "MaintenanceConfigurations_CreateOrUpdate",
+ "summary": "Creates or updates a maintenance configuration in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "configName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the maintenance configuration."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ },
+ "description": "The maintenance configuration to create or update."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing maintenance configuration was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ }
+ },
+ "201": {
+ "description": "The new maintenance configuration was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "Create/Update Maintenance Configuration": {
+ "$ref": "./examples/MaintenanceConfigurationsCreate_Update.json"
+ },
+ "Create/Update Maintenance Configuration with Maintenance Window": {
+ "$ref": "./examples/MaintenanceConfigurationsCreate_Update_MaintenanceWindow.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "operationId": "MaintenanceConfigurations_Delete",
+ "summary": "Deletes a maintenance configuration.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "configName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the maintenance configuration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "Delete Maintenance Configuration": {
+ "$ref": "./examples/MaintenanceConfigurationsDelete.json"
+ },
+ "Delete Maintenance Configuration For Node OS Upgrade": {
+ "$ref": "./examples/MaintenanceConfigurationsDelete_MaintenanceWindow.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclusters/{resourceName}/agentPools/{agentPoolName}/abort": {
+ "post": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_AbortLatestOperation",
+ "summary": "Aborts last operation running on agent pool.",
+ "description": "Aborts the currently running operation on the agent pool. The Agent Pool will be moved to a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation completes before cancellation can take place, an error is returned.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AgentPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Abort operation on agent pool": {
+ "$ref": "./examples/AgentPoolsAbortOperation.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_List",
+ "summary": "Gets a list of agent pools in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Agent Pools by Managed Cluster": {
+ "$ref": "./examples/AgentPoolsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Get",
+ "summary": "Gets the specified managed cluster agent pool.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AgentPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Agent Pool": {
+ "$ref": "./examples/AgentPoolsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_CreateOrUpdate",
+ "summary": "Creates or updates an agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AgentPoolNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "The agent pool to create or update."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "description": "The request should only proceed if an entity matches this string.",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "ifMatch"
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "description": "The request should only proceed if no entity matches this string.",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "ifNoneMatch"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing agent pool was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "201": {
+ "description": "The new agent pool was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Agent Pool": {
+ "$ref": "./examples/AgentPoolsCreate_Update.json"
+ },
+ "Update Agent Pool": {
+ "$ref": "./examples/AgentPools_Update.json"
+ },
+ "Create Spot Agent Pool": {
+ "$ref": "./examples/AgentPoolsCreate_Spot.json"
+ },
+ "Create Agent Pool with PPG": {
+ "$ref": "./examples/AgentPoolsCreate_PPG.json"
+ },
+ "Create Agent Pool with OSSKU": {
+ "$ref": "./examples/AgentPoolsCreate_OSSKU.json"
+ },
+ "Create Agent Pool with Windows OSSKU": {
+ "$ref": "./examples/AgentPoolsCreate_WindowsOSSKU.json"
+ },
+ "Create Windows Agent Pool with disabling OutboundNAT": {
+ "$ref": "./examples/AgentPoolsCreate_WindowsDisableOutboundNAT.json"
+ },
+ "Create Agent Pool with GPUMIG": {
+ "$ref": "./examples/AgentPoolsCreate_GPUMIG.json"
+ },
+ "Create Agent Pool with Ephemeral OS Disk": {
+ "$ref": "./examples/AgentPoolsCreate_Ephemeral.json"
+ },
+ "Create Agent Pool with KubeletConfig and LinuxOSConfig": {
+ "$ref": "./examples/AgentPoolsCreate_CustomNodeConfig.json"
+ },
+ "Create Agent Pool with EncryptionAtHost enabled": {
+ "$ref": "./examples/AgentPoolsCreate_EnableEncryptionAtHost.json"
+ },
+ "Create Agent Pool with UltraSSD enabled": {
+ "$ref": "./examples/AgentPoolsCreate_EnableUltraSSD.json"
+ },
+ "Create Agent Pool with FIPS enabled OS": {
+ "$ref": "./examples/AgentPoolsCreate_EnableFIPS.json"
+ },
+ "Create Agent Pool using an agent pool snapshot": {
+ "$ref": "./examples/AgentPoolsCreate_Snapshot.json"
+ },
+ "Create Agent Pool with Krustlet and the WASI runtime": {
+ "$ref": "./examples/AgentPoolsCreate_WasmWasi.json"
+ },
+ "Create Agent Pool with Message of the Day": {
+ "$ref": "./examples/AgentPoolsCreate_MessageOfTheDay.json"
+ },
+ "Stop Agent Pool": {
+ "$ref": "./examples/AgentPools_Stop.json"
+ },
+ "Start Agent Pool": {
+ "$ref": "./examples/AgentPools_Start.json"
+ },
+ "Associate Agent Pool with Capacity Reservation Group": {
+ "$ref": "./examples/AgentPoolsAssociate_CRG.json"
+ },
+ "Create Agent Pool with Dedicated Host Group": {
+ "$ref": "./examples/AgentPoolsCreate_DedicatedHostGroup.json"
+ },
+ "Create Agent Pool with CustomCATrust enabled": {
+ "$ref": "./examples/AgentPoolsCreate_EnableCustomCATrust.json"
+ },
+ "Create Agent Pool with VirtualMachines pool type": {
+ "$ref": "./examples/AgentPoolsCreate_TypeVirtualMachines.json"
+ },
+ "Create Agent Pool with VirtualMachines pool type with autoscaling enabled": {
+ "$ref": "./examples/AgentPoolsCreate_TypeVirtualMachines_Autoscale.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Delete",
+ "summary": "Deletes an agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AgentPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/IgnorePodDisruptionBudgetParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "description": "The request should only proceed if an entity matches this string.",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "ifMatch"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Agent Pool": {
+ "$ref": "./examples/AgentPoolsDelete.json"
+ },
+ "Delete Agent Pool by ignoring PodDisruptionBudget": {
+ "$ref": "./examples/AgentPoolsDelete_IgnorePodDisruptionBudget.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetUpgradeProfile",
+ "summary": "Gets the upgrade profile for an agent pool.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AgentPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Agent Pool": {
+ "$ref": "./examples/AgentPoolsGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/deleteMachines": {
+ "post": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_DeleteMachines",
+ "summary": "Deletes specific machines in an agent pool.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AgentPoolNameParameter"
+ },
+ {
+ "name": "machines",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AgentPoolDeleteMachinesParameter"
+ },
+ "description": "A list of machines from the agent pool to be deleted."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Specific Machines in an Agent Pool": {
+ "$ref": "./examples/AgentPoolsDeleteMachines.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/machines": {
+ "get": {
+ "tags": [
+ "Machines"
+ ],
+ "operationId": "Machines_List",
+ "summary": "Gets a list of machines in the specified agent pool.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AgentPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Machines in an Agentpool by Managed Cluster": {
+ "$ref": "./examples/MachineList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/machines/{machineName}": {
+ "get": {
+ "tags": [
+ "Machines"
+ ],
+ "operationId": "Machines_Get",
+ "summary": "Get a specific machine in the specified agent pool.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AgentPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MachineNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Machine"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a Machine in an Agent Pools by Managed Cluster": {
+ "$ref": "./examples/MachineGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetAvailableAgentPoolVersions",
+ "summary": "Gets a list of supported Kubernetes versions for the specified agent pool.",
+ "description": "See [supported Kubernetes versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for more details about the version lifecycle.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolAvailableVersions"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available versions for agent pool": {
+ "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetServicePrincipalProfile",
+ "summary": "Reset the Service Principal Profile of a managed cluster.",
+ "description": "This action cannot be performed on a cluster that is not using a service principal",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile"
+ },
+ "description": "The service principal profile to set on the managed cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Reset Service Principal Profile": {
+ "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": {
+ "post": {
+ "deprecated": true,
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetAADProfile",
+ "summary": "Reset the AAD Profile of a managed cluster.",
+ "description": "**WARNING**: This API will be deprecated. Please see [AKS-managed Azure Active Directory integration](https://aka.ms/aks-managed-aad) to update your cluster with AKS-managed Azure AD.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAADProfile"
+ },
+ "description": "The AAD profile to set on the Managed Cluster"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Reset AAD Profile": {
+ "$ref": "./examples/ManagedClustersResetAADProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclusters/{resourceName}/abort": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_AbortLatestOperation",
+ "summary": "Aborts last operation running on managed cluster.",
+ "description": "Aborts the currently running operation on the managed cluster. The Managed Cluster will be moved to a Canceling state and eventually to a Canceled state when cancellation finishes. If the operation completes before cancellation can take place, an error is returned.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Abort operation on managed cluster": {
+ "$ref": "./examples/ManagedClustersAbortOperation.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_RotateClusterCertificates",
+ "summary": "Rotates the certificates of a managed cluster.",
+ "description": "See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about rotating managed cluster certificates.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Rotate Cluster Certificates": {
+ "$ref": "./examples/ManagedClustersRotateClusterCertificates.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateServiceAccountSigningKeys": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_RotateServiceAccountSigningKeys",
+ "summary": "Rotates the service account signing keys of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Rotate Cluster Service Account Signing Keys": {
+ "$ref": "./examples/ManagedClustersRotateServiceAccountSigningKeys.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Stop",
+ "summary": "Stops a Managed Cluster",
+ "description": "This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about stopping a cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Stop Managed Cluster": {
+ "$ref": "./examples/ManagedClustersStop.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Start",
+ "summary": "Starts a previously stopped Managed Cluster",
+ "description": "See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about starting a cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Start Managed Cluster": {
+ "$ref": "./examples/ManagedClustersStart.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_List",
+ "summary": "Gets a list of private endpoint connections in the specified managed cluster.",
+ "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Private Endpoint Connections by Managed Cluster": {
+ "$ref": "./examples/PrivateEndpointConnectionsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Get",
+ "summary": "Gets the specified private endpoint connection.",
+ "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Private Endpoint Connection": {
+ "$ref": "./examples/PrivateEndpointConnectionsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Update",
+ "summary": "Updates a private endpoint connection.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "The updated private endpoint connection."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing private endpoint connection was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "201": {
+ "description": "The new private endpoint connection was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Private Endpoint Connection": {
+ "$ref": "./examples/PrivateEndpointConnectionsUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Delete",
+ "summary": "Deletes a private endpoint connection.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content -- The private endpoint connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Private Endpoint Connection": {
+ "$ref": "./examples/PrivateEndpointConnectionsDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion": {
+ "post": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_UpgradeNodeImageVersion",
+ "summary": "Upgrades the node image version of an agent pool to the latest.",
+ "description": "Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS provides one new image per week with the latest updates. For more details on node image versions, see: https://docs.microsoft.com/azure/aks/node-image-upgrade",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AgentPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Azure-AsyncOperation": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Upgrade Agent Pool Node Image Version": {
+ "$ref": "./examples/AgentPoolsUpgradeNodeImageVersion.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "privateLinkResources"
+ ],
+ "operationId": "PrivateLinkResources_List",
+ "summary": "Gets a list of private link resources in the specified managed cluster.",
+ "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourcesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Private Link Resources by Managed Cluster": {
+ "$ref": "./examples/PrivateLinkResourcesList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId": {
+ "post": {
+ "tags": [
+ "resolvePrivateLinkServiceId"
+ ],
+ "operationId": "ResolvePrivateLinkServiceId_POST",
+ "summary": "Gets the private link service ID for the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ },
+ "description": "Parameters required in order to resolve a private link service ID."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Resolve the Private Link Service ID for Managed Cluster": {
+ "$ref": "./examples/ResolvePrivateLinkServiceId.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_RunCommand",
+ "summary": "Submits a command to run against the Managed Cluster.",
+ "description": "AKS will create a pod to run the command. This is primarily useful for private clusters. For more information see [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "requestPayload",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RunCommandRequest"
+ },
+ "description": "The run command request"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "command finished with async pattern, tracking by location header. !!! this is for autorest only, you never get 200 from this api !!!",
+ "schema": {
+ "$ref": "#/definitions/RunCommandResult"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "submitNewCommand": {
+ "$ref": "./examples/RunCommandRequest.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetCommandResult",
+ "summary": "Gets the results of a command which has been run on the Managed Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "commandId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Id of the command."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "command finished",
+ "schema": {
+ "$ref": "#/definitions/RunCommandResult"
+ }
+ },
+ "202": {
+ "description": "command running in progress",
+ "headers": {
+ "Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "commandSucceedResult": {
+ "$ref": "./examples/RunCommandResultSucceed.json"
+ },
+ "commandFailedResult": {
+ "$ref": "./examples/RunCommandResultFailed.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListOutboundNetworkDependenciesEndpoints",
+ "summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster.",
+ "description": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster. The operation returns properties of each egress endpoint.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OutboundEnvironmentEndpointCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List OutboundNetworkDependenciesEndpoints by Managed Cluster": {
+ "$ref": "./examples/OutboundNetworkDependenciesEndpointsList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/operations": {
+ "get": {
+ "tags": [
+ "OperationStatusResult"
+ ],
+ "operationId": "OperationStatusResult_List",
+ "summary": "Gets a list of operations in the specified managedCluster",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationStatusResultList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List of OperationStatusResult": {
+ "$ref": "./examples/OperationStatusResultList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "OperationStatusResult"
+ ],
+ "operationId": "OperationStatusResult_Get",
+ "summary": "Get the status of a specific operation in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/OperationIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get OperationStatusResult": {
+ "$ref": "./examples/OperationStatusResultGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "OperationStatusResult"
+ ],
+ "operationId": "OperationStatusResult_GetByAgentPool",
+ "summary": "Get the status of a specific operation in the specified agent pool.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AgentPoolNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/OperationIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get OperationStatusResult": {
+ "$ref": "./examples/OperationStatusResultGetByAgentPool.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/snapshots": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_List",
+ "summary": "Gets a list of snapshots in the specified subscription.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SnapshotListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Snapshots": {
+ "$ref": "./examples/SnapshotsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_ListByResourceGroup",
+ "summary": "Lists snapshots in the specified subscription and resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SnapshotListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Snapshots by Resource Group": {
+ "$ref": "./examples/SnapshotsListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Get",
+ "summary": "Gets a snapshot.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Snapshot": {
+ "$ref": "./examples/SnapshotsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_CreateOrUpdate",
+ "summary": "Creates or updates a snapshot.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ },
+ "description": "The snapshot to create or update."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing snapshot was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "201": {
+ "description": "The new snapshot was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create/Update Snapshot": {
+ "$ref": "./examples/SnapshotsCreate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_UpdateTags",
+ "summary": "Updates tags on a snapshot.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the Update snapshot Tags operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Snapshot Tags": {
+ "$ref": "./examples/SnapshotsUpdateTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Delete",
+ "summary": "Deletes a snapshot.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Snapshot": {
+ "$ref": "./examples/SnapshotsDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedclustersnapshots": {
+ "get": {
+ "tags": [
+ "ManagedClusterSnapshots"
+ ],
+ "operationId": "ManagedClusterSnapshots_List",
+ "summary": "Gets a list of managed cluster snapshots in the specified subscription.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterSnapshotListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Managed Cluster Snapshots": {
+ "$ref": "./examples/ManagedClusterSnapshotsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclustersnapshots": {
+ "get": {
+ "tags": [
+ "ManagedClusterSnapshots"
+ ],
+ "operationId": "ManagedClusterSnapshots_ListByResourceGroup",
+ "summary": "Lists managed cluster snapshots in the specified subscription and resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterSnapshotListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Managed Cluster Snapshots by Resource Group": {
+ "$ref": "./examples/ManagedClusterSnapshotsListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclustersnapshots/{resourceName}": {
+ "get": {
+ "tags": [
+ "ManagedClusterSnapshots"
+ ],
+ "operationId": "ManagedClusterSnapshots_Get",
+ "summary": "Gets a managed cluster snapshot.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterSnapshot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster Snapshot": {
+ "$ref": "./examples/ManagedClusterSnapshotsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagedClusterSnapshots"
+ ],
+ "operationId": "ManagedClusterSnapshots_CreateOrUpdate",
+ "summary": "Creates or updates a managed cluster snapshot.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterSnapshot"
+ },
+ "description": "The managed cluster snapshot to create or update."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing managed cluster snapshot was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterSnapshot"
+ }
+ },
+ "201": {
+ "description": "The new managed cluster snapshot was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterSnapshot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create/Update Managed Cluster Snapshot": {
+ "$ref": "./examples/ManagedClusterSnapshotsCreate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ManagedClusterSnapshots"
+ ],
+ "operationId": "ManagedClusterSnapshots_UpdateTags",
+ "summary": "Updates tags on a managed cluster snapshot.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the Update managed cluster snapshot Tags operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterSnapshot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Managed Cluster Snapshot Tags": {
+ "$ref": "./examples/ManagedClusterSnapshotsUpdateTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagedClusterSnapshots"
+ ],
+ "operationId": "ManagedClusterSnapshots_Delete",
+ "summary": "Deletes a managed cluster snapshot.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Managed Cluster Snapshot": {
+ "$ref": "./examples/ManagedClusterSnapshotsDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/trustedAccessRoles": {
+ "get": {
+ "tags": [
+ "TrustedAccess"
+ ],
+ "operationId": "TrustedAccessRoles_List",
+ "summary": "List supported trusted access roles.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TrustedAccessRoleListResult"
+ }
+ },
+ "default": {
+ "description": "Error details",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List trusted access roles": {
+ "$ref": "./examples/TrustedAccessRoles_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings": {
+ "get": {
+ "tags": [
+ "TrustedAccess"
+ ],
+ "operationId": "TrustedAccessRoleBindings_List",
+ "summary": "List trusted access role bindings.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TrustedAccessRoleBindingListResult"
+ }
+ },
+ "default": {
+ "description": "Error details",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List trusted access role bindings": {
+ "$ref": "./examples/TrustedAccessRoleBindings_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName}": {
+ "get": {
+ "tags": [
+ "TrustedAccess"
+ ],
+ "operationId": "TrustedAccessRoleBindings_Get",
+ "summary": "Get a trusted access role binding.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TrustedAccessRoleBindingNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TrustedAccessRoleBinding"
+ }
+ },
+ "default": {
+ "description": "Error details",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a trusted access role binding": {
+ "$ref": "./examples/TrustedAccessRoleBindings_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "TrustedAccess"
+ ],
+ "operationId": "TrustedAccessRoleBindings_CreateOrUpdate",
+ "summary": "Create or update a trusted access role binding",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TrustedAccessRoleBindingNameParameter"
+ },
+ {
+ "name": "trustedAccessRoleBinding",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TrustedAccessRoleBinding"
+ },
+ "description": "A trusted access role binding"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing trusted access role binding was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/TrustedAccessRoleBinding"
+ }
+ },
+ "201": {
+ "description": "The new trusted access role binding was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/TrustedAccessRoleBinding"
+ }
+ },
+ "default": {
+ "description": "Error details",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a trusted access role binding": {
+ "$ref": "./examples/TrustedAccessRoleBindings_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "TrustedAccess"
+ ],
+ "operationId": "TrustedAccessRoleBindings_Delete",
+ "summary": "Delete a trusted access role binding.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TrustedAccessRoleBindingNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error details",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a trusted access role binding": {
+ "$ref": "./examples/TrustedAccessRoleBindings_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/guardrailsVersions/{version}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetGuardrailsVersions",
+ "summary": "Gets supported Guardrails version in the specified subscription and location.",
+ "description": "Contains Guardrails version along with its support info and whether it is a default version.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/VersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GuardrailsAvailableVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get guardrails available versions": {
+ "$ref": "./examples/GetGuardrailsVersions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/guardrailsVersions": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListGuardrailsVersions",
+ "summary": "Gets a list of supported Guardrails versions in the specified subscription and location.",
+ "description": "Contains list of Guardrails version along with its support info and whether it is a default version.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GuardrailsAvailableVersionsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Guardrails Versions": {
+ "$ref": "./examples/ListGuardrailsVersions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/safeguardsVersions/{version}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetSafeguardsVersions",
+ "summary": "Gets supported Safeguards version in the specified subscription and location.",
+ "description": "Contains Safeguards version along with its support info and whether it is a default version.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/VersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SafeguardsAvailableVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Safeguards available versions": {
+ "$ref": "./examples/GetSafeguardsVersions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/safeguardsVersions": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListSafeguardsVersions",
+ "summary": "Gets a list of supported Safeguards versions in the specified subscription and location.",
+ "description": "Contains list of Safeguards version along with its support info and whether it is a default version.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SafeguardsAvailableVersionsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Safeguards Versions": {
+ "$ref": "./examples/ListSafeguardsVersions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/meshRevisionProfiles": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListMeshRevisionProfiles",
+ "summary": "Lists mesh revision profiles for all meshes in the specified location.",
+ "description": "Contains extra metadata on each revision, including supported revisions, cluster compatibility and available upgrades",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MeshRevisionProfileList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List mesh revision profiles in a location": {
+ "$ref": "./examples/ManagedClustersList_MeshRevisionProfiles.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/meshRevisionProfiles/{mode}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetMeshRevisionProfile",
+ "summary": "Gets a mesh revision profile for a specified mesh in the specified location.",
+ "description": "Contains extra metadata on the revision, including supported revisions, cluster compatibility and available upgrades",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/MeshModeParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MeshRevisionProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a mesh revision profile for a mesh mode": {
+ "$ref": "./examples/ManagedClustersGet_MeshRevisionProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/meshUpgradeProfiles": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListMeshUpgradeProfiles",
+ "summary": "Lists available upgrades for all service meshes in a specific cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MeshUpgradeProfileList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Lists version compatibility and upgrade profile for all service meshes in a cluster": {
+ "$ref": "./examples/ManagedClustersList_MeshUpgradeProfiles.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/meshUpgradeProfiles/{mode}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetMeshUpgradeProfile",
+ "summary": "Gets available upgrades for a service mesh in a cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MeshModeParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MeshUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets version compatibility and upgrade profile for a service mesh in a cluster": {
+ "$ref": "./examples/ManagedClustersGet_MeshUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/loadBalancers": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancers_ListByManagedCluster",
+ "summary": "Gets a list of load balancers in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancerListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Load Balancers by Managed Cluster": {
+ "$ref": "./examples/LoadBalancers_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rebalanceLoadBalancers": {
+ "post": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "ManagedClusters_RebalanceLoadBalancers",
+ "summary": "Rebalance nodes across specific load balancers.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RebalanceLoadBalancersRequestBody"
+ },
+ "description": "The names of the load balancers to be rebalanced. If set to empty, all load balancers will be rebalanced."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "List Agent Pools by Managed Cluster": {
+ "$ref": "./examples/LoadBalancers_Rebalance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/loadBalancers/{loadBalancerName}": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancers_Get",
+ "summary": "Gets the specified load balancer.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LoadBalancerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancer"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Load Balancer": {
+ "$ref": "./examples/LoadBalancers_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancers_CreateOrUpdate",
+ "summary": "Creates or updates a load balancer in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LoadBalancerNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/LoadBalancer"
+ },
+ "description": "The load balancer to create or update."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing load balancer has been successfully updated",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancer"
+ }
+ },
+ "201": {
+ "description": "The new load balancer has been successfully created",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancer"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "Create or update a Load Balancer": {
+ "$ref": "./examples/LoadBalancers_Create_Or_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancers_Delete",
+ "summary": "Deletes a load balancer in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LoadBalancerNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a Load Balancer": {
+ "$ref": "./examples/LoadBalancers_Delete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OperationValue"
+ },
+ "x-ms-identifiers": [],
+ "description": "The list of operations"
+ }
+ },
+ "description": "The List Operation response."
+ },
+ "OperationValue": {
+ "type": "object",
+ "properties": {
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The origin of the operation."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the operation."
+ },
+ "display": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationValueDisplay",
+ "description": "Describes the properties of a Operation Value Display."
+ }
+ },
+ "description": "Describes the properties of a Operation value."
+ },
+ "OperationValueDisplay": {
+ "type": "object",
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the resource the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource provider for the operation."
+ }
+ },
+ "description": "Describes the properties of a Operation Value Display."
+ },
+ "SubResource": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ }
+ },
+ "description": "Reference to another subresource.",
+ "x-ms-azure-resource": true
+ },
+ "TagsObject": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Tags object for patch operations."
+ },
+ "ContainerServiceOSDisk": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 2048,
+ "minimum": 0,
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "ManagedClusterServicePrincipalProfile": {
+ "type": "object",
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "The ID for the service principal."
+ },
+ "secret": {
+ "type": "string",
+ "description": "The secret password associated with the service principal in plain text."
+ }
+ },
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
+ "required": [
+ "clientId"
+ ]
+ },
+ "VirtualMachinesProfile": {
+ "type": "object",
+ "properties": {
+ "scale": {
+ "$ref": "#/definitions/ScaleProfile",
+ "description": "Specifications on how to scale a VirtualMachines agent pool."
+ }
+ },
+ "description": "Specifications on VirtualMachines agent pool."
+ },
+ "ScaleProfile": {
+ "type": "object",
+ "properties": {
+ "manual": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManualScaleProfile"
+ },
+ "x-ms-identifiers": [],
+ "description": "Specifications on how to scale the VirtualMachines agent pool to a fixed size. Currently, at most one ManualScaleProfile is allowed."
+ },
+ "autoscale": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AutoScaleProfile"
+ },
+ "x-ms-identifiers": [],
+ "description": "Specifications on how to auto-scale the VirtualMachines agent pool within a predefined size range. Currently, at most one AutoScaleProfile is allowed."
+ }
+ },
+ "description": "Specifications on how to scale a VirtualMachines agent pool."
+ },
+ "ManualScaleProfile": {
+ "type": "object",
+ "properties": {
+ "sizes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the first available one when scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS will use the next size."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of nodes."
+ }
+ },
+ "description": "Specifications on number of machines."
+ },
+ "AutoScaleProfile": {
+ "type": "object",
+ "properties": {
+ "sizes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the first available one when auto scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS will use the next size."
+ },
+ "minCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The minimum number of nodes of the specified sizes."
+ },
+ "maxCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of nodes of the specified sizes."
+ }
+ },
+ "description": "Specifications on auto-scaling."
+ },
+ "VirtualMachineNodesStatus": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineNodes"
+ },
+ "x-ms-identifiers": [],
+ "description": "The status of nodes in a VirtualMachines agent pool."
+ },
+ "VirtualMachineNodes": {
+ "type": "object",
+ "properties": {
+ "size": {
+ "type": "string",
+ "description": "The VM size of the agents used to host this group of nodes."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of nodes."
+ }
+ },
+ "description": "Current status on a group of nodes of the same vm size."
+ },
+ "ManagedClusterAgentPoolProfileProperties": {
+ "type": "object",
+ "properties": {
+ "eTag": {
+ "type": "string",
+ "description": "Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal etag convention.",
+ "readOnly": true
+ },
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1."
+ },
+ "vmSize": {
+ "type": "string",
+ "title": "The size of the agent pool VMs.",
+ "description": "VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions"
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk"
+ },
+ "osDiskType": {
+ "$ref": "#/definitions/OSDiskType"
+ },
+ "kubeletDiskType": {
+ "$ref": "#/definitions/KubeletDiskType"
+ },
+ "workloadRuntime": {
+ "$ref": "#/definitions/WorkloadRuntime"
+ },
+ "messageOfTheDay": {
+ "type": "string",
+ "title": "Message of the day for Linux nodes, base64-encoded.",
+ "description": "A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script)."
+ },
+ "vnetSubnetID": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ }
+ ]
+ },
+ "title": "The ID of the subnet which agent pool nodes and optionally pods will join on startup.",
+ "description": "If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}"
+ },
+ "podSubnetID": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ }
+ ]
+ },
+ "title": "The ID of the subnet which pods will join when launched.",
+ "description": "If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}"
+ },
+ "podIPAllocationMode": {
+ "$ref": "#/definitions/PodIPAllocationMode"
+ },
+ "maxPods": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of pods that can run on a node."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType"
+ },
+ "osSKU": {
+ "$ref": "#/definitions/OSSKU"
+ },
+ "maxCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of nodes for auto-scaling"
+ },
+ "minCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The minimum number of nodes for auto-scaling"
+ },
+ "enableAutoScaling": {
+ "type": "boolean",
+ "description": "Whether to enable auto-scaler"
+ },
+ "scaleDownMode": {
+ "$ref": "#/definitions/ScaleDownMode",
+ "title": "The scale down mode to use when scaling the Agent Pool.",
+ "description": "This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete."
+ },
+ "type": {
+ "$ref": "#/definitions/AgentPoolType"
+ },
+ "mode": {
+ "$ref": "#/definitions/AgentPoolMode"
+ },
+ "orchestratorVersion": {
+ "type": "string",
+ "title": "The version of Kubernetes specified by the user.",
+ "description": "Both patch version and are supported. When is specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same once it has been created will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool)."
+ },
+ "currentOrchestratorVersion": {
+ "readOnly": true,
+ "type": "string",
+ "title": "The version of Kubernetes running on the Agent Pool.",
+ "description": "If orchestratorVersion was a fully specified version , this field will be exactly equal to it. If orchestratorVersion was , this field will contain the full version being used."
+ },
+ "nodeImageVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The version of node image"
+ },
+ "upgradeSettings": {
+ "$ref": "#/definitions/AgentPoolUpgradeSettings",
+ "description": "Settings for upgrading the agentpool"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state."
+ },
+ "powerState": {
+ "title": "Whether the Agent Pool is running or stopped.",
+ "description": "When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded",
+ "$ref": "#/definitions/PowerState"
+ },
+ "availabilityZones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'."
+ },
+ "enableNodePublicIP": {
+ "type": "boolean",
+ "title": "Whether each node is allocated its own public IP.",
+ "description": "Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false."
+ },
+ "enableCustomCATrust": {
+ "type": "boolean",
+ "title": "Whether to enable Custom CA Trust feature.",
+ "description": "When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded certificates into node trust stores. Defaults to false."
+ },
+ "nodePublicIPPrefixID": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Network/publicIPPrefixes"
+ }
+ ]
+ },
+ "title": "The public IP prefix ID which VM nodes should use IPs from.",
+ "description": "This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}"
+ },
+ "scaleSetPriority": {
+ "$ref": "#/definitions/ScaleSetPriority",
+ "description": "The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'."
+ },
+ "scaleSetEvictionPolicy": {
+ "$ref": "#/definitions/ScaleSetEvictionPolicy",
+ "title": "The Virtual Machine Scale Set eviction policy to use.",
+ "description": "This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'."
+ },
+ "spotMaxPrice": {
+ "$ref": "#/definitions/SpotMaxPrice",
+ "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.",
+ "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The tags to be persisted on the agent pool virtual machine scale set."
+ },
+ "nodeLabels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The node labels to be persisted across all nodes in agent pool."
+ },
+ "nodeTaints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule."
+ },
+ "nodeInitializationTaints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "Taints added on the nodes during creation that will not be reconciled by AKS.",
+ "description": "These taints will not be reconciled by AKS and can be removed with a kubectl call. This field can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint nodes node1 key1=value1:NoSchedule-`"
+ },
+ "proximityPlacementGroupID": {
+ "$ref": "#/definitions/ProximityPlacementGroupID",
+ "description": "The ID for Proximity Placement Group."
+ },
+ "kubeletConfig": {
+ "$ref": "#/definitions/KubeletConfig",
+ "description": "The Kubelet configuration on the agent pool nodes."
+ },
+ "linuxOSConfig": {
+ "$ref": "#/definitions/LinuxOSConfig",
+ "description": "The OS configuration of Linux agent nodes."
+ },
+ "enableEncryptionAtHost": {
+ "type": "boolean",
+ "title": "Whether to enable host based OS and data drive encryption.",
+ "description": "This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption"
+ },
+ "enableUltraSSD": {
+ "type": "boolean",
+ "description": "Whether to enable UltraSSD"
+ },
+ "enableFIPS": {
+ "type": "boolean",
+ "title": "Whether to use a FIPS-enabled OS.",
+ "description": "See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details."
+ },
+ "gpuInstanceProfile": {
+ "$ref": "#/definitions/GPUInstanceProfile",
+ "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU."
+ },
+ "creationData": {
+ "$ref": "#/definitions/CreationData",
+ "description": "CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot."
+ },
+ "capacityReservationGroupID": {
+ "$ref": "#/definitions/CapacityReservationGroupID",
+ "description": "AKS will associate the specified agent pool with the Capacity Reservation Group."
+ },
+ "hostGroupID": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Compute/hostGroups"
+ }
+ ]
+ },
+ "title": "The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set.",
+ "description": "This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts)."
+ },
+ "windowsProfile": {
+ "$ref": "#/definitions/AgentPoolWindowsProfile",
+ "description": "The Windows agent pool's specific profile."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/AgentPoolNetworkProfile",
+ "description": "Network-related settings of an agent pool."
+ },
+ "securityProfile": {
+ "$ref": "#/definitions/AgentPoolSecurityProfile",
+ "description": "The security settings of an agent pool."
+ },
+ "gpuProfile": {
+ "$ref": "#/definitions/AgentPoolGPUProfile",
+ "description": "The GPU settings of an agent pool."
+ },
+ "artifactStreamingProfile": {
+ "$ref": "#/definitions/AgentPoolArtifactStreamingProfile",
+ "description": "Configuration for using artifact streaming on AKS."
+ },
+ "virtualMachinesProfile": {
+ "$ref": "#/definitions/VirtualMachinesProfile"
+ },
+ "virtualMachineNodesStatus": {
+ "$ref": "#/definitions/VirtualMachineNodesStatus"
+ },
+ "gatewayProfile": {
+ "$ref": "#/definitions/AgentPoolGatewayProfile",
+ "description": "Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is not Gateway."
+ }
+ },
+ "description": "Properties for the container service agent pool profile."
+ },
+ "AgentPoolNetworkProfile": {
+ "type": "object",
+ "properties": {
+ "nodePublicIPTags": {
+ "$ref": "#/definitions/NodePublicIPTags",
+ "description": "IPTags of instance-level public IPs."
+ },
+ "allowedHostPorts": {
+ "type": "array",
+ "description": "The port ranges that are allowed to access. The specified ranges are allowed to overlap.",
+ "items": {
+ "$ref": "#/definitions/PortRange"
+ },
+ "x-ms-identifiers": []
+ },
+ "applicationSecurityGroups": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Network/applicationSecurityGroups"
+ }
+ ]
+ }
+ },
+ "description": "The IDs of the application security groups which agent pool will associate when created."
+ }
+ },
+ "description": "Network settings of an agent pool."
+ },
+ "NodePublicIPTags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPTag"
+ },
+ "x-ms-identifiers": [],
+ "description": "The list of tags associated with the node public IP address."
+ },
+ "IPTag": {
+ "type": "object",
+ "properties": {
+ "ipTagType": {
+ "type": "string",
+ "description": "The IP tag type. Example: RoutingPreference."
+ },
+ "tag": {
+ "type": "string",
+ "description": "The value of the IP tag associated with the public IP. Example: Internet."
+ }
+ },
+ "description": "Contains the IPTag associated with the object."
+ },
+ "PortRange": {
+ "type": "object",
+ "description": "The port range.",
+ "properties": {
+ "portStart": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 65535,
+ "description": "The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or equal to portEnd."
+ },
+ "portEnd": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 65535,
+ "description": "The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or equal to portStart."
+ },
+ "protocol": {
+ "type": "string",
+ "description": "The network protocol of the port.",
+ "enum": [
+ "TCP",
+ "UDP"
+ ],
+ "x-ms-enum": {
+ "name": "Protocol",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "TCP",
+ "description": "TCP protocol."
+ },
+ {
+ "value": "UDP",
+ "description": "UDP protocol."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "ManagedClusterAgentPoolProfile": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties"
+ }
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "Unique name of the agent pool profile in the context of the subscription and resource group.",
+ "description": "Windows agent pool names must be 6 characters or less.",
+ "pattern": "^[a-z][a-z0-9]{0,11}$"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Profile for the container service agent pool."
+ },
+ "AgentPoolType": {
+ "type": "string",
+ "enum": [
+ "VirtualMachineScaleSets",
+ "AvailabilitySet",
+ "VirtualMachines"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "VirtualMachineScaleSets",
+ "description": "Create an Agent Pool backed by a Virtual Machine Scale Set."
+ },
+ {
+ "value": "AvailabilitySet",
+ "description": "Use of this is strongly discouraged."
+ },
+ {
+ "value": "VirtualMachines",
+ "description": "Create an Agent Pool backed by a Single Instance VM orchestration mode."
+ }
+ ]
+ },
+ "description": "The type of Agent Pool."
+ },
+ "AgentPoolMode": {
+ "type": "string",
+ "enum": [
+ "System",
+ "User",
+ "Gateway"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "System",
+ "description": "System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory."
+ },
+ {
+ "value": "User",
+ "description": "User agent pools are primarily for hosting your application pods."
+ },
+ {
+ "value": "Gateway",
+ "description": "Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see https://aka.ms/aks/static-egress-gateway."
+ }
+ ]
+ },
+ "title": "The mode of an agent pool.",
+ "description": "A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools"
+ },
+ "AgentPoolListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "The list of agent pools."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of agent pool results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Agent Pools operation."
+ },
+ "AgentPoolUpgradeSettings": {
+ "type": "object",
+ "properties": {
+ "maxSurge": {
+ "type": "string",
+ "title": "The maximum number or percentage of nodes that are surged during upgrade.",
+ "description": "This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade"
+ },
+ "drainTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 1440,
+ "minimum": 1,
+ "title": "The drain timeout for a node",
+ "description": "The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes."
+ },
+ "nodeSoakDurationInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 30,
+ "minimum": 0,
+ "title": "The soak duration for a node",
+ "description": "The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes."
+ },
+ "undrainableNodeBehavior": {
+ "type": "string",
+ "description": "Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes.",
+ "enum": [
+ "Schedule",
+ "Cordon"
+ ],
+ "x-ms-enum": {
+ "name": "UndrainableNodeBehavior",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Cordon",
+ "description": "AKS will cordon the blocked nodes and replace them with surge nodes during upgrade. The blocked nodes will be cordoned and replaced by surge nodes. The blocked nodes will have label 'kubernetes.azure.com/upgrade-status:Quarantined'. A surge node will be retained for each blocked node. A best-effort attempt will be made to delete all other surge nodes. If there are enough surge nodes to replace blocked nodes, then the upgrade operation and the managed cluster will be in failed state. Otherwise, the upgrade operation and the managed cluster will be in canceled state."
+ },
+ {
+ "value": "Schedule",
+ "description": "AKS will mark the blocked nodes schedulable, but the blocked nodes are not upgraded. A best-effort attempt will be made to delete all surge nodes. The upgrade operation and the managed cluster will be in failed state if there are any blocked nodes."
+ }
+ ]
+ }
+ }
+ },
+ "description": "Settings for upgrading an agentpool"
+ },
+ "AgentPool": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Properties of an agent pool.",
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "description": "Agent Pool."
+ },
+ "MachineListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "x-ms-identifiers": [
+ "id"
+ ],
+ "items": {
+ "$ref": "#/definitions/Machine"
+ },
+ "description": "The list of Machines in cluster."
+ },
+ "nextLink": {
+ "type": "string",
+ "format": "uri",
+ "description": "The URL to get the next set of machine results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Machines operation."
+ },
+ "Machine": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MachineProperties",
+ "description": "The properties of the machine"
+ }
+ },
+ "description": "A machine. Contains details about the underlying virtual machine. A machine may be visible here but not in kubectl get nodes; if so it may be because the machine has not been registered with the Kubernetes API Server yet."
+ },
+ "MachineProperties": {
+ "type": "object",
+ "readOnly": true,
+ "description": "The properties of the machine",
+ "properties": {
+ "network": {
+ "$ref": "#/definitions/MachineNetworkProperties"
+ },
+ "resourceId": {
+ "readOnly": true,
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Compute/virtualMachines"
+ }
+ ]
+ },
+ "description": "Arm resource id of the machine. It can be used to GET underlying VM Instance"
+ }
+ }
+ },
+ "MachineNetworkProperties": {
+ "type": "object",
+ "readOnly": true,
+ "description": "network properties of the machine",
+ "properties": {
+ "ipAddresses": {
+ "type": "array",
+ "x-ms-identifiers": [],
+ "readOnly": true,
+ "description": "IPv4, IPv6 addresses of the machine",
+ "items": {
+ "$ref": "#/definitions/MachineIpAddress"
+ }
+ }
+ }
+ },
+ "MachineIpAddress": {
+ "type": "object",
+ "readOnly": true,
+ "description": "The machine IP address details.",
+ "properties": {
+ "ip": {
+ "type": "string",
+ "readOnly": true,
+ "description": "IPv4 or IPv6 address of the machine"
+ },
+ "family": {
+ "$ref": "#/definitions/ipFamily",
+ "readOnly": true,
+ "description": "To determine if address belongs IPv4 or IPv6 family."
+ }
+ }
+ },
+ "ipFamily": {
+ "type": "string",
+ "description": "To determine if address belongs IPv4 or IPv6 family.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "ipFamily",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "IPv4",
+ "description": "IPv4 family"
+ },
+ {
+ "value": "IPv6",
+ "description": "IPv6 family"
+ }
+ ]
+ }
+ },
+ "PodLinkLocalAccess": {
+ "type": "string",
+ "description": "Defines access to special link local addresses (Azure Instance Metadata Service, aka IMDS) for pods with hostNetwork=false. If not specified, the default is 'IMDS'.",
+ "enum": [
+ "IMDS",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "PodLinkLocalAccess",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "IMDS",
+ "description": "Pods with hostNetwork=false can access Azure Instance Metadata Service (IMDS) without restriction."
+ },
+ {
+ "value": "None",
+ "description": "Pods with hostNetwork=false cannot access Azure Instance Metadata Service (IMDS)."
+ }
+ ]
+ }
+ },
+ "ManagedClusterWindowsProfile": {
+ "type": "object",
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "Specifies the name of the administrator account.
**Restriction:** Cannot end in \".\"
**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".
**Minimum-length:** 1 character
**Max-length:** 20 characters"
+ },
+ "adminPassword": {
+ "type": "string",
+ "description": "Specifies the password of the administrator account.
**Minimum-length:** 8 characters
**Max-length:** 123 characters
**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])
**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\""
+ },
+ "licenseType": {
+ "type": "string",
+ "enum": [
+ "None",
+ "Windows_Server"
+ ],
+ "x-ms-enum": {
+ "name": "licenseType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No additional licensing is applied."
+ },
+ {
+ "value": "Windows_Server",
+ "description": "Enables Azure Hybrid User Benefits for Windows VMs."
+ }
+ ]
+ },
+ "description": "The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details."
+ },
+ "enableCSIProxy": {
+ "type": "boolean",
+ "title": "Whether to enable CSI proxy.",
+ "description": "For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy)."
+ },
+ "gmsaProfile": {
+ "$ref": "#/definitions/WindowsGmsaProfile",
+ "description": "The Windows gMSA Profile in the Managed Cluster."
+ }
+ },
+ "required": [
+ "adminUsername"
+ ],
+ "description": "Profile for Windows VMs in the managed cluster."
+ },
+ "WindowsGmsaProfile": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "title": "Whether to enable Windows gMSA.",
+ "description": "Specifies whether to enable Windows gMSA in the managed cluster."
+ },
+ "dnsServer": {
+ "type": "string",
+ "description": "Specifies the DNS server for Windows gMSA.
Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster."
+ },
+ "rootDomainName": {
+ "type": "string",
+ "description": "Specifies the root domain name for Windows gMSA.
Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster."
+ }
+ },
+ "description": "Windows gMSA Profile in the managed cluster."
+ },
+ "ContainerServiceLinuxProfile": {
+ "type": "object",
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "The administrator username to use for Linux VMs.",
+ "pattern": "^[A-Za-z][-A-Za-z0-9_]*$"
+ },
+ "ssh": {
+ "$ref": "#/definitions/ContainerServiceSshConfiguration",
+ "description": "The SSH configuration for Linux-based VMs running on Azure."
+ }
+ },
+ "required": [
+ "adminUsername",
+ "ssh"
+ ],
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "ManagedClusterNodeResourceGroupProfile": {
+ "type": "object",
+ "properties": {
+ "restrictionLevel": {
+ "type": "string",
+ "enum": [
+ "Unrestricted",
+ "ReadOnly"
+ ],
+ "x-ms-enum": {
+ "name": "RestrictionLevel",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unrestricted",
+ "description": "All RBAC permissions are allowed on the managed node resource group"
+ },
+ {
+ "value": "ReadOnly",
+ "description": "Only */read RBAC permissions allowed on the managed node resource group"
+ }
+ ]
+ },
+ "description": "The restriction level applied to the cluster's node resource group"
+ }
+ },
+ "description": "Node resource group lockdown profile for a managed cluster."
+ },
+ "ContainerServiceNetworkProfile": {
+ "type": "object",
+ "properties": {
+ "networkPlugin": {
+ "$ref": "#/definitions/NetworkPlugin",
+ "description": "Network plugin used for building the Kubernetes network."
+ },
+ "networkPluginMode": {
+ "$ref": "#/definitions/NetworkPluginMode",
+ "description": "Network plugin mode used for building the Kubernetes network."
+ },
+ "networkPolicy": {
+ "$ref": "#/definitions/NetworkPolicy",
+ "description": "Network policy used for building the Kubernetes network."
+ },
+ "networkMode": {
+ "$ref": "#/definitions/NetworkMode",
+ "title": "The network mode Azure CNI is configured with.",
+ "description": "This cannot be specified if networkPlugin is anything other than 'azure'."
+ },
+ "networkDataplane": {
+ "$ref": "#/definitions/NetworkDataplane",
+ "description": "Network dataplane used in the Kubernetes cluster."
+ },
+ "podCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.244.0.0/16",
+ "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used."
+ },
+ "serviceCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.0.0.0/16",
+ "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges."
+ },
+ "dnsServiceIP": {
+ "type": "string",
+ "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
+ "default": "10.0.0.10",
+ "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr."
+ },
+ "outboundType": {
+ "type": "string",
+ "enum": [
+ "loadBalancer",
+ "userDefinedRouting",
+ "managedNATGateway",
+ "userAssignedNATGateway",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "outboundType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "loadBalancer",
+ "description": "The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer)."
+ },
+ {
+ "value": "userDefinedRouting",
+ "description": "Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting)."
+ },
+ {
+ "value": "managedNATGateway",
+ "description": "The AKS-managed NAT gateway is used for egress."
+ },
+ {
+ "value": "userAssignedNATGateway",
+ "description": "The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration."
+ },
+ {
+ "value": "none",
+ "description": "The AKS cluster is not set with any outbound-type. All AKS nodes follows Azure VM default outbound behavior. Please refer to https://azure.microsoft.com/en-us/updates/default-outbound-access-for-vms-in-azure-will-be-retired-transition-to-a-new-method-of-internet-access/"
+ }
+ ]
+ },
+ "default": "loadBalancer",
+ "title": "The outbound (egress) routing method.",
+ "description": "This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype)."
+ },
+ "loadBalancerSku": {
+ "$ref": "#/definitions/LoadBalancerSku",
+ "title": "The load balancer sku for the managed cluster.",
+ "description": "The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs."
+ },
+ "loadBalancerProfile": {
+ "$ref": "#/definitions/ManagedClusterLoadBalancerProfile",
+ "description": "Profile of the cluster load balancer."
+ },
+ "natGatewayProfile": {
+ "$ref": "#/definitions/ManagedClusterNATGatewayProfile",
+ "description": "Profile of the cluster NAT gateway."
+ },
+ "staticEgressGatewayProfile": {
+ "$ref": "#/definitions/ManagedClusterStaticEgressGatewayProfile",
+ "description": "The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, see https://aka.ms/aks/static-egress-gateway."
+ },
+ "podCidrs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The CIDR notation IP ranges from which to assign pod IPs.",
+ "description": "One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking."
+ },
+ "serviceCidrs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The CIDR notation IP ranges from which to assign service cluster IPs.",
+ "description": "One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges."
+ },
+ "ipFamilies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ipFamily",
+ "description": "The IP version to use for cluster networking and IP assignment."
+ },
+ "title": "The IP families used to specify IP versions available to the cluster.",
+ "description": "IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6."
+ },
+ "podLinkLocalAccess": {
+ "$ref": "#/definitions/PodLinkLocalAccess",
+ "description": "Defines access to special link local addresses (Azure Instance Metadata Service, aka IMDS) for pods with hostNetwork=false. if not specified, the default is 'IMDS'."
+ },
+ "kubeProxyConfig": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by default without these customizations)."
+ },
+ "mode": {
+ "type": "string",
+ "enum": [
+ "IPTABLES",
+ "IPVS"
+ ],
+ "x-ms-enum": {
+ "name": "mode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "IPTABLES",
+ "description": "IPTables proxy mode"
+ },
+ {
+ "value": "IPVS",
+ "description": "IPVS proxy mode. Must be using Kubernetes version >= 1.22."
+ }
+ ]
+ },
+ "description": "Specify which proxy mode to use ('IPTABLES' or 'IPVS')"
+ },
+ "ipvsConfig": {
+ "type": "object",
+ "properties": {
+ "scheduler": {
+ "type": "string",
+ "enum": [
+ "RoundRobin",
+ "LeastConnection"
+ ],
+ "x-ms-enum": {
+ "name": "ipvsScheduler",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "RoundRobin",
+ "description": "Round Robin"
+ },
+ {
+ "value": "LeastConnection",
+ "description": "Least Connection"
+ }
+ ]
+ },
+ "description": "IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html."
+ },
+ "tcpTimeoutSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value."
+ },
+ "tcpFinTimeoutSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive integer value."
+ },
+ "udpTimeoutSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value."
+ }
+ },
+ "description": "Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'."
+ }
+ },
+ "description": "Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ where is represented by a - string. Kubernetes version 1.23 would be '1-23'."
+ },
+ "advancedNetworking": {
+ "$ref": "#/definitions/AdvancedNetworking"
+ }
+ },
+ "description": "Profile of network configuration."
+ },
+ "MaintenanceConfigurationListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ },
+ "description": "The list of maintenance configurations."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of maintenance configuration results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List maintenance configurations operation."
+ },
+ "MaintenanceConfiguration": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/systemData",
+ "readOnly": true,
+ "description": "The system metadata relating to this resource."
+ },
+ "properties": {
+ "description": "Properties of a default maintenance configuration.",
+ "$ref": "#/definitions/MaintenanceConfigurationProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "title": "Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster.",
+ "description": "See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance."
+ },
+ "MaintenanceConfigurationProperties": {
+ "type": "object",
+ "properties": {
+ "timeInWeek": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeInWeek"
+ },
+ "title": "Time slots during the week when planned maintenance is allowed to proceed.",
+ "x-ms-identifiers": [],
+ "description": "If two array entries specify the same day of the week, the applied configuration is the union of times in both entries."
+ },
+ "notAllowedTime": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSpan"
+ },
+ "x-ms-identifiers": [],
+ "description": "Time slots on which upgrade is not allowed."
+ },
+ "maintenanceWindow": {
+ "type": "object",
+ "$ref": "#/definitions/MaintenanceWindow",
+ "description": "Maintenance window for the maintenance configuration."
+ }
+ },
+ "description": "Properties used to configure planned maintenance for a Managed Cluster."
+ },
+ "MaintenanceWindow": {
+ "type": "object",
+ "properties": {
+ "schedule": {
+ "$ref": "#/definitions/Schedule",
+ "description": "Recurrence schedule for the maintenance window."
+ },
+ "durationHours": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 4,
+ "maximum": 24,
+ "default": 24,
+ "description": "Length of maintenance window range from 4 to 24 hours."
+ },
+ "utcOffset": {
+ "type": "string",
+ "pattern": "^(-|\\+)[0-9]{2}:[0-9]{2}$",
+ "description": "The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the default is '+00:00'."
+ },
+ "startDate": {
+ "type": "string",
+ "format": "date",
+ "description": "The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away."
+ },
+ "startTime": {
+ "type": "string",
+ "pattern": "^\\d{2}:\\d{2}$",
+ "description": "The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'."
+ },
+ "notAllowedDates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DateSpan"
+ },
+ "x-ms-identifiers": [],
+ "description": "Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 22:00' to '2023-01-03 22:00' in UTC time."
+ }
+ },
+ "description": "Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster.",
+ "required": [
+ "schedule",
+ "durationHours",
+ "startTime"
+ ]
+ },
+ "Schedule": {
+ "type": "object",
+ "properties": {
+ "daily": {
+ "$ref": "#/definitions/DailySchedule"
+ },
+ "weekly": {
+ "$ref": "#/definitions/WeeklySchedule"
+ },
+ "absoluteMonthly": {
+ "$ref": "#/definitions/AbsoluteMonthlySchedule"
+ },
+ "relativeMonthly": {
+ "$ref": "#/definitions/RelativeMonthlySchedule"
+ }
+ },
+ "description": "One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or 'relativeMonthly' for your maintenance schedule."
+ },
+ "DailySchedule": {
+ "type": "object",
+ "properties": {
+ "intervalDays": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 7,
+ "description": "Specifies the number of days between each set of occurrences."
+ }
+ },
+ "description": "For schedules like: 'recur every day' or 'recur every 3 days'.",
+ "required": [
+ "intervalDays"
+ ]
+ },
+ "WeeklySchedule": {
+ "type": "object",
+ "properties": {
+ "intervalWeeks": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 4,
+ "description": "Specifies the number of weeks between each set of occurrences."
+ },
+ "dayOfWeek": {
+ "$ref": "#/definitions/WeekDay",
+ "description": "Specifies on which day of the week the maintenance occurs."
+ }
+ },
+ "description": "For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'.",
+ "required": [
+ "intervalWeeks",
+ "dayOfWeek"
+ ]
+ },
+ "AbsoluteMonthlySchedule": {
+ "type": "object",
+ "properties": {
+ "intervalMonths": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 6,
+ "description": "Specifies the number of months between each set of occurrences."
+ },
+ "dayOfMonth": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 31,
+ "description": "The date of the month."
+ }
+ },
+ "description": "For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'.",
+ "required": [
+ "intervalMonths",
+ "dayOfMonth"
+ ]
+ },
+ "RelativeMonthlySchedule": {
+ "type": "object",
+ "properties": {
+ "intervalMonths": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 6,
+ "description": "Specifies the number of months between each set of occurrences."
+ },
+ "weekIndex": {
+ "type": "string",
+ "enum": [
+ "First",
+ "Second",
+ "Third",
+ "Fourth",
+ "Last"
+ ],
+ "x-ms-enum": {
+ "name": "type",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "First",
+ "description": "First."
+ },
+ {
+ "value": "Second",
+ "description": "Second."
+ },
+ {
+ "value": "Third",
+ "description": "Third."
+ },
+ {
+ "value": "Fourth",
+ "description": "Fourth."
+ },
+ {
+ "value": "Last",
+ "description": "Last."
+ }
+ ]
+ },
+ "title": "The week index.",
+ "description": "Specifies on which instance of the allowed days specified in daysOfWeek the maintenance occurs."
+ },
+ "dayOfWeek": {
+ "$ref": "#/definitions/WeekDay",
+ "description": "Specifies on which day of the week the maintenance occurs."
+ }
+ },
+ "description": "For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'.",
+ "required": [
+ "intervalMonths",
+ "weekIndex",
+ "dayOfWeek"
+ ]
+ },
+ "DateSpan": {
+ "type": "object",
+ "properties": {
+ "start": {
+ "type": "string",
+ "format": "date",
+ "description": "The start date of the date span."
+ },
+ "end": {
+ "type": "string",
+ "format": "date",
+ "description": "The end date of the date span."
+ }
+ },
+ "title": "A date range.",
+ "description": "For example, between '2022-12-23' and '2023-01-05'.",
+ "required": [
+ "start",
+ "end"
+ ]
+ },
+ "TimeInWeek": {
+ "type": "object",
+ "properties": {
+ "day": {
+ "$ref": "#/definitions/WeekDay",
+ "description": "The day of the week."
+ },
+ "hourSlots": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HourInDay"
+ },
+ "title": "A list of hours in the day used to identify a time range.",
+ "description": "Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range."
+ }
+ },
+ "description": "Time in a week."
+ },
+ "WeekDay": {
+ "type": "string",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "x-ms-enum": {
+ "name": "WeekDay",
+ "modelAsString": true
+ },
+ "description": "The weekday enum."
+ },
+ "HourInDay": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 23,
+ "minimum": 0,
+ "description": "Hour in a day."
+ },
+ "TimeSpan": {
+ "type": "object",
+ "properties": {
+ "start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start of a time span"
+ },
+ "end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end of a time span"
+ }
+ },
+ "title": "A time range.",
+ "description": "For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z."
+ },
+ "RunCommandRequest": {
+ "type": "object",
+ "properties": {
+ "command": {
+ "type": "string",
+ "description": "The command to run."
+ },
+ "context": {
+ "type": "string",
+ "description": "A base64 encoded zip file containing the files required by the command."
+ },
+ "clusterToken": {
+ "type": "string",
+ "description": "AuthToken issued for AKS AAD Server App."
+ }
+ },
+ "description": "A run command request",
+ "required": [
+ "command"
+ ]
+ },
+ "RunCommandResult": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The command id.",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Properties of command result.",
+ "$ref": "#/definitions/CommandResultProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "description": "run command result."
+ },
+ "CommandResultProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "provisioning State"
+ },
+ "exitCode": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "The exit code of the command"
+ },
+ "startedAt": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The time when the command started."
+ },
+ "finishedAt": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The time when the command finished."
+ },
+ "logs": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The command output."
+ },
+ "reason": {
+ "type": "string",
+ "readOnly": true,
+ "description": "An explanation of why provisioningState is set to failed (if so)."
+ }
+ },
+ "description": "The results of a run command"
+ },
+ "ManagedClusterNATGatewayProfile": {
+ "type": "object",
+ "properties": {
+ "managedOutboundIPProfile": {
+ "$ref": "#/definitions/ManagedClusterManagedOutboundIPProfile",
+ "description": "Profile of the managed outbound IP resources of the cluster NAT gateway."
+ },
+ "effectiveOutboundIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "The effective outbound IP resources of the cluster NAT gateway."
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 120,
+ "minimum": 4,
+ "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.",
+ "default": 4
+ }
+ },
+ "description": "Profile of the managed cluster NAT gateway."
+ },
+ "ManagedClusterManagedOutboundIPProfile": {
+ "type": "object",
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 16,
+ "minimum": 1,
+ "description": "The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. ",
+ "default": 1
+ }
+ },
+ "description": "Profile of the managed outbound IP resources of the managed cluster."
+ },
+ "ManagedClusterLoadBalancerProfile": {
+ "type": "object",
+ "properties": {
+ "managedOutboundIPs": {
+ "type": "object",
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 1,
+ "description": "The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
+ "default": 1
+ },
+ "countIPv6": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 0,
+ "description": "The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. ",
+ "default": 0
+ }
+ },
+ "description": "Desired managed outbound IPs for the cluster load balancer."
+ },
+ "outboundIPPrefixes": {
+ "type": "object",
+ "properties": {
+ "publicIPPrefixes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP prefix resources."
+ }
+ },
+ "description": "Desired outbound IP Prefix resources for the cluster load balancer."
+ },
+ "outboundIPs": {
+ "type": "object",
+ "properties": {
+ "publicIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP resources."
+ }
+ },
+ "description": "Desired outbound IP resources for the cluster load balancer."
+ },
+ "effectiveOutboundIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "The effective outbound IP resources of the cluster load balancer."
+ },
+ "allocatedOutboundPorts": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 64000,
+ "minimum": 0,
+ "description": "The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.",
+ "default": 0
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 120,
+ "minimum": 4,
+ "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.",
+ "default": 30
+ },
+ "enableMultipleStandardLoadBalancers": {
+ "type": "boolean",
+ "description": "Enable multiple standard load balancers per AKS cluster or not."
+ },
+ "backendPoolType": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BackendPoolType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "NodeIPConfiguration",
+ "description": "The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend."
+ },
+ {
+ "value": "NodeIP",
+ "description": "The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend."
+ }
+ ]
+ },
+ "enum": [
+ "NodeIPConfiguration",
+ "NodeIP"
+ ],
+ "description": "The type of the managed inbound Load Balancer BackendPool.",
+ "default": "NodeIPConfiguration"
+ },
+ "clusterServiceLoadBalancerHealthProbeMode": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ClusterServiceLoadBalancerHealthProbeMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "ServiceNodePort",
+ "description": "Each External Traffic Policy Cluster service will have its own health probe targeting service nodePort."
+ },
+ {
+ "value": "Shared",
+ "description": "All External Traffic Policy Cluster services in a Standard Load Balancer will have a dedicated health probe targeting the backend nodes' kube-proxy health check port 10256."
+ }
+ ]
+ },
+ "enum": [
+ "ServiceNodePort",
+ "Shared"
+ ],
+ "description": "The health probing behavior for External Traffic Policy Cluster services.",
+ "default": "ServiceNodePort"
+ }
+ },
+ "description": "Profile of the managed cluster load balancer."
+ },
+ "ManagedClusterStaticEgressGatewayProfile": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "title": "Enable Static Egress Gateway addon",
+ "description": "Indicates if Static Egress Gateway addon is enabled or not."
+ }
+ },
+ "description": "The Static Egress Gateway addon configuration for the cluster."
+ },
+ "ResourceReference": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "arm-id",
+ "description": "The fully qualified Azure resource id."
+ }
+ },
+ "description": "A reference to an Azure resource."
+ },
+ "ContainerServiceSshConfiguration": {
+ "type": "object",
+ "properties": {
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerServiceSshPublicKey"
+ },
+ "x-ms-identifiers": [],
+ "description": "The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified."
+ }
+ },
+ "description": "SSH configuration for Linux-based VMs running on Azure.",
+ "required": [
+ "publicKeys"
+ ]
+ },
+ "ContainerServiceSshPublicKey": {
+ "type": "object",
+ "properties": {
+ "keyData": {
+ "type": "string",
+ "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers."
+ }
+ },
+ "required": [
+ "keyData"
+ ],
+ "description": "Contains information about SSH certificate public key data."
+ },
+ "ManagedClusterListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "The list of managed clusters."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of managed cluster results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Managed Clusters operation."
+ },
+ "ManagedCluster": {
+ "type": "object",
+ "properties": {
+ "eTag": {
+ "type": "string",
+ "description": "Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal etag convention.",
+ "readOnly": true
+ },
+ "sku": {
+ "$ref": "#/definitions/ManagedClusterSKU",
+ "description": "The managed cluster SKU."
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extended location of the Virtual Machine."
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedClusterIdentity",
+ "description": "The identity of the managed cluster, if configured."
+ },
+ "properties": {
+ "description": "Properties of a managed cluster.",
+ "$ref": "#/definitions/ManagedClusterProperties",
+ "x-ms-client-flatten": true
+ },
+ "kind": {
+ "type": "string",
+ "description": "This is primarily used to expose different UI experiences in the portal for different kinds"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Managed cluster."
+ },
+ "ManagedClusterProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current provisioning state."
+ },
+ "powerState": {
+ "$ref": "#/definitions/PowerState",
+ "description": "The Power State of the cluster.",
+ "readOnly": true
+ },
+ "creationData": {
+ "$ref": "#/definitions/CreationData",
+ "description": "CreationData to be used to specify the source Snapshot ID if the cluster will be created/upgraded using a snapshot."
+ },
+ "maxAgentPools": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The max number of agent pools for the managed cluster."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "title": "The version of Kubernetes the Managed Cluster is requested to run.",
+ "description": "When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details."
+ },
+ "currentKubernetesVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The version of Kubernetes the Managed Cluster is running."
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "title": "The DNS prefix of the Managed Cluster.",
+ "description": "This cannot be updated once the Managed Cluster has been created."
+ },
+ "fqdnSubdomain": {
+ "type": "string",
+ "title": "The FQDN subdomain of the private cluster with custom private dns zone.",
+ "description": "This cannot be updated once the Managed Cluster has been created."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The FQDN of the master pool."
+ },
+ "privateFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The FQDN of private cluster."
+ },
+ "azurePortalFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "title": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients.",
+ "description": "The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfile"
+ },
+ "x-ms-identifiers": [],
+ "description": "The agent pool properties."
+ },
+ "linuxProfile": {
+ "$ref": "#/definitions/ContainerServiceLinuxProfile",
+ "description": "The profile for Linux VMs in the Managed Cluster."
+ },
+ "windowsProfile": {
+ "$ref": "#/definitions/ManagedClusterWindowsProfile",
+ "description": "The profile for Windows VMs in the Managed Cluster."
+ },
+ "servicePrincipalProfile": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile",
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs."
+ },
+ "addonProfiles": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/ManagedClusterAddonProfile"
+ },
+ "description": "The profile of managed cluster add-on."
+ },
+ "podIdentityProfile": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProfile",
+ "title": "The pod identity profile of the Managed Cluster.",
+ "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration."
+ },
+ "oidcIssuerProfile": {
+ "$ref": "#/definitions/ManagedClusterOIDCIssuerProfile",
+ "description": "The OIDC issuer profile of the Managed Cluster."
+ },
+ "nodeResourceGroup": {
+ "type": "string",
+ "description": "The name of the resource group containing agent pool nodes."
+ },
+ "nodeResourceGroupProfile": {
+ "$ref": "#/definitions/ManagedClusterNodeResourceGroupProfile",
+ "description": "The node resource group configuration profile."
+ },
+ "enableRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Kubernetes Role-Based Access Control."
+ },
+ "supportPlan": {
+ "$ref": "#/definitions/KubernetesSupportPlan",
+ "description": "The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'."
+ },
+ "enablePodSecurityPolicy": {
+ "type": "boolean",
+ "description": "(DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp."
+ },
+ "enableNamespaceResources": {
+ "type": "boolean",
+ "title": "Enable namespace as Azure resource.",
+ "description": "The default value is false. It can be enabled/disabled on creation and updating of the managed cluster. See [https://aka.ms/NamespaceARMResource](https://aka.ms/NamespaceARMResource) for more details on Namespace as a ARM Resource."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/ContainerServiceNetworkProfile",
+ "description": "The network configuration profile."
+ },
+ "aadProfile": {
+ "$ref": "#/definitions/ManagedClusterAADProfile",
+ "description": "The Azure Active Directory configuration."
+ },
+ "autoUpgradeProfile": {
+ "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile",
+ "description": "The auto upgrade configuration."
+ },
+ "upgradeSettings": {
+ "$ref": "#/definitions/ClusterUpgradeSettings",
+ "description": "Settings for upgrading a cluster."
+ },
+ "autoScalerProfile": {
+ "type": "object",
+ "properties": {
+ "balance-similar-node-groups": {
+ "type": "string",
+ "title": "Detects similar node pools and balances the number of nodes between them.",
+ "description": "Valid values are 'true' and 'false'"
+ },
+ "daemonset-eviction-for-empty-nodes": {
+ "type": "boolean",
+ "title": "DaemonSet pods will be gracefully terminated from empty nodes",
+ "description": "If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted."
+ },
+ "daemonset-eviction-for-occupied-nodes": {
+ "type": "boolean",
+ "title": "DaemonSet pods will be gracefully terminated from non-empty nodes",
+ "description": "If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted."
+ },
+ "ignore-daemonsets-utilization": {
+ "type": "boolean",
+ "title": "Should CA ignore DaemonSet pods when calculating resource utilization for scaling down",
+ "description": "If set to true, the resources used by daemonset will be taken into account when making scaling down decisions."
+ },
+ "expander": {
+ "type": "string",
+ "title": "Type of node group expander to be used in scale up. Set to be deprecated, please use 'expanders' flag in the future.",
+ "description": "Available values are: 'least-waste', 'most-pods', 'priority', 'random'.",
+ "$ref": "#/definitions/expander"
+ },
+ "max-empty-bulk-delete": {
+ "type": "string",
+ "title": "The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer.",
+ "description": "The default is 10."
+ },
+ "max-graceful-termination-sec": {
+ "type": "string",
+ "title": "The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node.",
+ "description": "The default is 600."
+ },
+ "max-node-provision-time": {
+ "type": "string",
+ "title": "The maximum time the autoscaler waits for a node to be provisioned.",
+ "description": "The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "max-total-unready-percentage": {
+ "type": "string",
+ "title": "The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations.",
+ "description": "The default is 45. The maximum is 100 and the minimum is 0."
+ },
+ "new-pod-scale-up-delay": {
+ "type": "string",
+ "title": "Ignore unscheduled pods before they're a certain age.",
+ "description": "For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc)."
+ },
+ "ok-total-unready-count": {
+ "type": "string",
+ "title": "The number of allowed unready nodes, irrespective of max-total-unready-percentage.",
+ "description": "This must be an integer. The default is 3."
+ },
+ "scan-interval": {
+ "type": "string",
+ "title": "How often cluster is reevaluated for scale up or down.",
+ "description": "The default is '10'. Values must be an integer number of seconds."
+ },
+ "scale-down-delay-after-add": {
+ "type": "string",
+ "title": "How long after scale up that scale down evaluation resumes",
+ "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-delay-after-delete": {
+ "type": "string",
+ "title": "How long after node deletion that scale down evaluation resumes.",
+ "description": "The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-delay-after-failure": {
+ "type": "string",
+ "title": "How long after scale down failure that scale down evaluation resumes.",
+ "description": "The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-unneeded-time": {
+ "type": "string",
+ "title": "How long a node should be unneeded before it is eligible for scale down.",
+ "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-unready-time": {
+ "type": "string",
+ "title": "How long an unready node should be unneeded before it is eligible for scale down",
+ "description": "The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-utilization-threshold": {
+ "type": "string",
+ "title": "Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down.",
+ "description": "The default is '0.5'."
+ },
+ "skip-nodes-with-local-storage": {
+ "type": "string",
+ "title": "If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath.",
+ "description": "The default is true."
+ },
+ "skip-nodes-with-system-pods": {
+ "type": "string",
+ "title": "If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods)",
+ "description": "The default is true."
+ }
+ },
+ "description": "Parameters to be applied to the cluster-autoscaler when enabled"
+ },
+ "apiServerAccessProfile": {
+ "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile",
+ "description": "The access profile for managed cluster API server."
+ },
+ "diskEncryptionSetID": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Compute/diskEncryptionSets"
+ }
+ ]
+ },
+ "title": "The Resource ID of the disk encryption set to use for enabling encryption at rest.",
+ "description": "This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'"
+ },
+ "identityProfile": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ },
+ "description": "Identities associated with the cluster."
+ },
+ "privateLinkResources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ },
+ "description": "Private link resources associated with the cluster."
+ },
+ "disableLocalAccounts": {
+ "type": "boolean",
+ "title": "If local accounts should be disabled on the Managed Cluster.",
+ "description": "If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview)."
+ },
+ "httpProxyConfig": {
+ "$ref": "#/definitions/ManagedClusterHTTPProxyConfig",
+ "description": "Configurations for provisioning the cluster with HTTP proxy servers."
+ },
+ "securityProfile": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfile",
+ "description": "Security profile for the managed cluster."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/ManagedClusterStorageProfile",
+ "description": "Storage profile for the managed cluster."
+ },
+ "ingressProfile": {
+ "$ref": "#/definitions/ManagedClusterIngressProfile",
+ "description": "Ingress profile for the managed cluster."
+ },
+ "publicNetworkAccess": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled",
+ "SecuredByPerimeter"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Enabled",
+ "description": "Inbound/Outbound to the managedCluster is allowed."
+ },
+ {
+ "value": "Disabled",
+ "description": "Inbound traffic to managedCluster is disabled, traffic from managedCluster is allowed."
+ },
+ {
+ "value": "SecuredByPerimeter",
+ "description": "Inbound/Outbound traffic is managed by Microsoft.Network/NetworkSecurityPerimeters."
+ }
+ ]
+ },
+ "title": "PublicNetworkAccess of the managedCluster",
+ "description": "Allow or deny public network access for AKS"
+ },
+ "workloadAutoScalerProfile": {
+ "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfile"
+ },
+ "azureMonitorProfile": {
+ "$ref": "#/definitions/ManagedClusterAzureMonitorProfile"
+ },
+ "safeguardsProfile": {
+ "$ref": "#/definitions/SafeguardsProfile",
+ "description": "The Safeguards profile holds all the safeguards information for a given cluster"
+ },
+ "serviceMeshProfile": {
+ "$ref": "#/definitions/ServiceMeshProfile"
+ },
+ "resourceUID": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence)"
+ },
+ "metricsProfile": {
+ "$ref": "#/definitions/ManagedClusterMetricsProfile",
+ "description": "Optional cluster metrics configuration."
+ },
+ "aiToolchainOperatorProfile": {
+ "$ref": "#/definitions/ManagedClusterAIToolchainOperatorProfile",
+ "description": "AI toolchain operator settings that apply to the whole cluster."
+ },
+ "nodeProvisioningProfile": {
+ "$ref": "#/definitions/ManagedClusterNodeProvisioningProfile",
+ "description": "Node provisioning settings that apply to the whole cluster."
+ },
+ "bootstrapProfile": {
+ "$ref": "#/definitions/ManagedClusterBootstrapProfile",
+ "description": "Profile of the cluster bootstrap configuration."
+ }
+ },
+ "description": "Properties of the managed cluster."
+ },
+ "PowerState": {
+ "type": "object",
+ "description": "Describes the Power State of the cluster",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Tells whether the cluster is Running or Stopped",
+ "enum": [
+ "Running",
+ "Stopped"
+ ],
+ "x-ms-enum": {
+ "name": "code",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Running",
+ "description": "The cluster is running."
+ },
+ {
+ "value": "Stopped",
+ "description": "The cluster is stopped."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "expander": {
+ "type": "string",
+ "enum": [
+ "least-waste",
+ "most-pods",
+ "priority",
+ "random"
+ ],
+ "x-ms-enum": {
+ "name": "expander",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "least-waste",
+ "description": "Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources."
+ },
+ {
+ "value": "most-pods",
+ "description": "Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once."
+ },
+ {
+ "value": "priority",
+ "description": "Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md)."
+ },
+ {
+ "value": "random",
+ "description": "Used when you don't have a particular need for the node groups to scale differently."
+ }
+ ]
+ },
+ "title": "The expander to use when scaling up",
+ "description": "If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information."
+ },
+ "ManagedClusterAPIServerAccessProfile": {
+ "type": "object",
+ "properties": {
+ "authorizedIPRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The IP ranges authorized to access the Kubernetes API server.",
+ "description": "IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges)."
+ },
+ "enablePrivateCluster": {
+ "type": "boolean",
+ "title": "Whether to create the cluster as a private cluster or not.",
+ "description": "For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters)."
+ },
+ "privateDNSZone": {
+ "type": "string",
+ "title": "The private DNS zone mode for the cluster.",
+ "description": "The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'."
+ },
+ "enablePrivateClusterPublicFQDN": {
+ "type": "boolean",
+ "description": "Whether to create additional public FQDN for private cluster or not."
+ },
+ "disableRunCommand": {
+ "type": "boolean",
+ "description": "Whether to disable run command for the cluster or not."
+ },
+ "enableVnetIntegration": {
+ "type": "boolean",
+ "description": "Whether to enable apiserver vnet integration for the cluster or not."
+ },
+ "subnetId": {
+ "type": "string",
+ "title": "The subnet to be used when apiserver vnet integration is enabled.",
+ "description": "It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable apiserver vnet integration."
+ }
+ },
+ "description": "Access profile for managed cluster API server."
+ },
+ "ManagedClusterIdentity": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity which is used by master components."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity which is used by master components."
+ },
+ "type": {
+ "type": "string",
+ "title": "The type of identity used for the managed cluster.",
+ "description": "For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity).",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "SystemAssigned",
+ "description": "Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources."
+ },
+ {
+ "value": "UserAssigned",
+ "description": "Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources."
+ },
+ {
+ "value": "None",
+ "description": "Do not use a managed identity for the Managed Cluster, service principal will be used instead."
+ }
+ ]
+ }
+ },
+ "delegatedResources": {
+ "$ref": "../../../../../../common-types/resource-management/v4/managedidentitywithdelegation.json#/definitions/DelegatedResources",
+ "description": "The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only."
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "x-ms-client-name": "ManagedServiceIdentityUserAssignedIdentitiesValue",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "title": "The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed.",
+ "description": "The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "description": "Identity for the managed cluster."
+ },
+ "UserAssignedIdentity": {
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.ManagedIdentity/userAssignedIdentities"
+ }
+ ]
+ },
+ "description": "The resource ID of the user assigned identity."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "The client ID of the user assigned identity."
+ },
+ "objectId": {
+ "type": "string",
+ "description": "The object ID of the user assigned identity."
+ }
+ },
+ "description": "Details about a user assigned identity."
+ },
+ "ManagedClusterAccessProfile": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "AccessProfile of a managed cluster.",
+ "$ref": "#/definitions/AccessProfile",
+ "x-ms-client-flatten": true
+ }
+ },
+ "description": "Managed cluster Access Profile.",
+ "x-ms-azure-resource": false
+ },
+ "AccessProfile": {
+ "type": "object",
+ "properties": {
+ "kubeConfig": {
+ "type": "string",
+ "format": "byte",
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "Profile for enabling a user to access a managed cluster."
+ },
+ "ManagedClusterPoolUpgradeProfile": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "name": {
+ "type": "string",
+ "description": "The Agent Pool name."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType"
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether the Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "x-ms-identifiers": [],
+ "description": "List of orchestrator types and versions available for upgrade."
+ },
+ "componentsByReleases": {
+ "$ref": "#/definitions/ComponentsByReleases"
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "ManagedClusterUpgradeProfileProperties": {
+ "type": "object",
+ "properties": {
+ "controlPlaneProfile": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile",
+ "description": "The list of available upgrade versions for the control plane."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile"
+ },
+ "x-ms-identifiers": [],
+ "description": "The list of available upgrade versions for agent pools."
+ }
+ },
+ "required": [
+ "controlPlaneProfile",
+ "agentPoolProfiles"
+ ],
+ "description": "Control plane and agent pool upgrade profiles."
+ },
+ "ManagedClusterAutoUpgradeProfile": {
+ "type": "object",
+ "properties": {
+ "upgradeChannel": {
+ "type": "string",
+ "enum": [
+ "rapid",
+ "stable",
+ "patch",
+ "node-image",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "upgradeChannel",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "rapid",
+ "description": "Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1."
+ },
+ {
+ "value": "stable",
+ "description": "Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6."
+ },
+ {
+ "value": "patch",
+ "description": "Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9."
+ },
+ {
+ "value": "node-image",
+ "description": "Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel instead as that allows you to configure node OS patching separate from Kubernetes version patching"
+ },
+ {
+ "value": "none",
+ "description": "Disables auto-upgrades and keeps the cluster at its current version of Kubernetes."
+ }
+ ]
+ },
+ "title": "The upgrade channel for auto upgrade. The default is 'none'.",
+ "description": "For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel)."
+ },
+ "nodeOSUpgradeChannel": {
+ "type": "string",
+ "enum": [
+ "Unmanaged",
+ "None",
+ "SecurityPatch",
+ "NodeImage"
+ ],
+ "x-ms-enum": {
+ "name": "nodeOSUpgradeChannel",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means you are responsible for your security updates"
+ },
+ {
+ "value": "Unmanaged",
+ "description": "OS updates will be applied automatically through the OS built-in patching infrastructure. Newly scaled in machines will be unpatched initially, and will be patched at some later time by the OS's infrastructure. Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option is equivalent to None till further notice"
+ },
+ {
+ "value": "SecurityPatch",
+ "description": "AKS will update the nodes VHD with patches from the image maintainer labelled \"security only\" on a regular basis. Where possible, patches will also be applied without reimaging to existing nodes. Some patches, such as kernel patches, cannot be applied to existing nodes without disruption. For such patches, the VHD will be updated, and machines will be rolling reimaged to that VHD following maintenance windows and surge settings. This option incurs the extra cost of hosting the VHDs in your node resource group."
+ },
+ {
+ "value": "NodeImage",
+ "description": "AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images."
+ }
+ ]
+ },
+ "title": "Manner in which the OS on your nodes is updated",
+ "description": "The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA."
+ }
+ },
+ "description": "Auto upgrade profile for a managed cluster."
+ },
+ "UpgradeOverrideSettings": {
+ "type": "object",
+ "properties": {
+ "forceUpgrade": {
+ "type": "boolean",
+ "description": "Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade protections such as checking for deprecated API usage. Enable this option only with caution."
+ },
+ "until": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect."
+ }
+ },
+ "description": "Settings for overrides when upgrading a cluster."
+ },
+ "ClusterUpgradeSettings": {
+ "type": "object",
+ "properties": {
+ "overrideSettings": {
+ "$ref": "#/definitions/UpgradeOverrideSettings",
+ "description": "Settings for overrides."
+ }
+ },
+ "description": "Settings for upgrading a cluster."
+ },
+ "ManagedClusterAADProfile": {
+ "type": "object",
+ "properties": {
+ "managed": {
+ "type": "boolean",
+ "description": "Whether to enable managed AAD."
+ },
+ "enableAzureRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Azure RBAC for Kubernetes authorization."
+ },
+ "adminGroupObjectIDs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of AAD group object IDs that will have admin role of the cluster."
+ },
+ "clientAppID": {
+ "type": "string",
+ "description": "(DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy."
+ },
+ "serverAppID": {
+ "type": "string",
+ "description": "(DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy."
+ },
+ "serverAppSecret": {
+ "type": "string",
+ "description": "(DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy."
+ },
+ "tenantID": {
+ "type": "string",
+ "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription."
+ }
+ },
+ "title": "AADProfile specifies attributes for Azure Active Directory integration.",
+ "description": "For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad)."
+ },
+ "ManagedClusterAddonProfile": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the add-on is enabled or not."
+ },
+ "config": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Key-value pairs for configuring an add-on."
+ },
+ "identity": {
+ "readOnly": true,
+ "description": "Information of user assigned identity used by this add-on.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "A Kubernetes add-on profile for a managed cluster."
+ },
+ "ManagedClusterPodIdentity": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the pod identity."
+ },
+ "namespace": {
+ "type": "string",
+ "description": "The namespace of the pod identity."
+ },
+ "bindingSelector": {
+ "type": "string",
+ "description": "The binding selector to use for the AzureIdentityBinding resource."
+ },
+ "identity": {
+ "$ref": "#/definitions/UserAssignedIdentity",
+ "description": "The user assigned identity details."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state of the pod identity.",
+ "enum": [
+ "Assigned",
+ "Canceled",
+ "Deleting",
+ "Failed",
+ "Succeeded",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterPodIdentityProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "provisioningInfo": {
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningError",
+ "description": "Pod identity assignment error (if any)."
+ }
+ }
+ }
+ },
+ "required": [
+ "name",
+ "namespace",
+ "identity"
+ ],
+ "description": "Details about the pod identity assigned to the Managed Cluster."
+ },
+ "ManagedClusterPodIdentityProvisioningError": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the pod identity provisioning."
+ },
+ "ManagedClusterPodIdentityProvisioningErrorBody": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody"
+ },
+ "x-ms-identifiers": [],
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the pod identity provisioning."
+ },
+ "ManagedClusterPodIdentityException": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the pod identity exception."
+ },
+ "namespace": {
+ "type": "string",
+ "description": "The namespace of the pod identity exception."
+ },
+ "podLabels": {
+ "type": "object",
+ "description": "The pod labels to match.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "namespace",
+ "podLabels"
+ ],
+ "title": "A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server.",
+ "description": "See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details."
+ },
+ "ManagedClusterPodIdentityProfile": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the pod identity addon is enabled."
+ },
+ "allowNetworkPluginKubenet": {
+ "type": "boolean",
+ "title": "Whether pod identity is allowed to run on clusters with Kubenet networking.",
+ "description": "Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information."
+ },
+ "userAssignedIdentities": {
+ "description": "The pod identities to use in the cluster.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentity"
+ },
+ "x-ms-identifiers": []
+ },
+ "userAssignedIdentityExceptions": {
+ "description": "The pod identity exceptions to allow.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityException"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "title": "The pod identity profile of the Managed Cluster.",
+ "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration."
+ },
+ "ManagedClusterOIDCIssuerProfile": {
+ "type": "object",
+ "properties": {
+ "issuerURL": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The OIDC issuer url of the Managed Cluster."
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the OIDC issuer is enabled."
+ }
+ },
+ "description": "The OIDC issuer profile of the Managed Cluster."
+ },
+ "ManagedClusterUpgradeProfile": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties",
+ "description": "The properties of the upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for compute pools."
+ },
+ "AgentPoolUpgradeProfile": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the agent pool upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the agent pool upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the agent pool upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfileProperties",
+ "description": "The properties of the agent pool upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for an agent pool."
+ },
+ "AgentPoolUpgradeProfileProperties": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType"
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether the Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "x-ms-identifiers": [],
+ "description": "List of orchestrator types and versions available for upgrade."
+ },
+ "componentsByReleases": {
+ "$ref": "#/definitions/ComponentsByReleases"
+ },
+ "latestNodeImageVersion": {
+ "type": "string",
+ "description": "The latest AKS supported node image version."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "AgentPoolAvailableVersions": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the agent pool version list."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the agent pool version list."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool version list."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolAvailableVersionsProperties",
+ "description": "Properties of agent pool available versions.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available versions for an agent pool."
+ },
+ "AgentPoolAvailableVersionsProperties": {
+ "type": "object",
+ "properties": {
+ "agentPoolVersions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "default": {
+ "type": "boolean",
+ "description": "Whether this version is the default agent pool version."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "x-ms-identifiers": [],
+ "description": "List of versions available for agent pool."
+ }
+ },
+ "description": "The list of available agent pool versions."
+ },
+ "PodIPAllocationMode": {
+ "type": "string",
+ "enum": [
+ "DynamicIndividual",
+ "StaticBlock"
+ ],
+ "x-ms-enum": {
+ "name": "PodIPAllocationMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "DynamicIndividual",
+ "description": "Each pod gets a single IP address assigned. This is better for maximizing a small to medium subnet of size /16 or smaller. The Azure CNI cluster with dynamic IP allocation defaults to this mode if the customer does not explicitly specify a podIPAllocationMode"
+ },
+ {
+ "value": "StaticBlock",
+ "description": "Each node is statically allocated CIDR block(s) of size /28 = 16 IPs per block to satisfy the maxPods per node. Number of CIDR blocks >= (maxPods / 16). The block, rather than a single IP, counts against the Azure Vnet Private IP limit of 65K. Therefore block mode is suitable for running larger workloads with more than the current limit of 65K pods in a cluster. This mode is better suited to scale with larger subnets of /15 or bigger"
+ }
+ ]
+ },
+ "title": "Pod IP Allocation Mode",
+ "description": "The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is 'DynamicIndividual'."
+ },
+ "OSType": {
+ "type": "string",
+ "default": "Linux",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "OSType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Linux",
+ "description": "Use Linux."
+ },
+ {
+ "value": "Windows",
+ "description": "Use Windows."
+ }
+ ]
+ },
+ "description": "The operating system type. The default is Linux."
+ },
+ "OSSKU": {
+ "type": "string",
+ "enum": [
+ "Ubuntu",
+ "CBLMariner",
+ "Mariner",
+ "AzureLinux",
+ "Windows2019",
+ "Windows2022",
+ "WindowsAnnual"
+ ],
+ "x-ms-enum": {
+ "name": "OSSKU",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Ubuntu",
+ "description": "Use Ubuntu as the OS for node images."
+ },
+ {
+ "value": "Mariner",
+ "description": "Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead."
+ },
+ {
+ "value": "AzureLinux",
+ "description": "Use AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by Microsoft, visit https://aka.ms/azurelinux for more information."
+ },
+ {
+ "value": "CBLMariner",
+ "description": "Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead."
+ },
+ {
+ "value": "Windows2019",
+ "description": "Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports Windows2019 containers; it cannot run Windows2022 containers and vice versa."
+ },
+ {
+ "value": "Windows2022",
+ "description": "Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports Windows2022 containers; it cannot run Windows2019 containers and vice versa."
+ },
+ {
+ "value": "WindowsAnnual",
+ "description": "Use Windows Annual Channel version as the OS for node images. Unsupported for system node pools. Details about supported container images and kubernetes versions under different AKS Annual Channel versions could be seen in https://aka.ms/aks/windows-annual-channel-details."
+ }
+ ]
+ },
+ "description": "Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated."
+ },
+ "ScaleSetPriority": {
+ "type": "string",
+ "default": "Regular",
+ "enum": [
+ "Spot",
+ "Regular"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetPriority",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Spot",
+ "description": "Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information."
+ },
+ {
+ "value": "Regular",
+ "description": "Regular VMs will be used."
+ }
+ ]
+ },
+ "description": "The Virtual Machine Scale Set priority."
+ },
+ "ScaleSetEvictionPolicy": {
+ "type": "string",
+ "default": "Delete",
+ "enum": [
+ "Delete",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetEvictionPolicy",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Delete",
+ "description": "Nodes in the underlying Scale Set of the node pool are deleted when they're evicted."
+ },
+ {
+ "value": "Deallocate",
+ "description": "Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading."
+ }
+ ]
+ },
+ "title": "The Virtual Machine Scale Set eviction policy.",
+ "description": "The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms)"
+ },
+ "SpotMaxPrice": {
+ "type": "number",
+ "default": -1,
+ "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.",
+ "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)"
+ },
+ "ScaleDownMode": {
+ "type": "string",
+ "enum": [
+ "Delete",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleDownMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Delete",
+ "description": "Create new instances during scale up and remove instances during scale down."
+ },
+ {
+ "value": "Deallocate",
+ "description": "Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down."
+ }
+ ]
+ },
+ "description": "Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing)."
+ },
+ "ProximityPlacementGroupID": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Compute/proximityPlacementGroups"
+ }
+ ]
+ },
+ "description": "The ID for Proximity Placement Group."
+ },
+ "CredentialResults": {
+ "type": "object",
+ "properties": {
+ "kubeconfigs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/CredentialResult"
+ },
+ "x-ms-identifiers": [],
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The list credential result response."
+ },
+ "CredentialResult": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the credential."
+ },
+ "value": {
+ "type": "string",
+ "format": "byte",
+ "readOnly": true,
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The credential result response."
+ },
+ "CloudError": {
+ "type": "object",
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "CloudErrorBody": {
+ "type": "object",
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "x-ms-identifiers": [],
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "ManagedClusterSKU": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of a managed cluster SKU.",
+ "enum": [
+ "Base",
+ "Automatic"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUName",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Base",
+ "description": "Base option for the AKS control plane."
+ },
+ {
+ "value": "Automatic",
+ "description": "Automatic clusters are optimized to run most production workloads with configuration that follows AKS best practices and recommendations for cluster and workload setup, scalability, and security. For more details about Automatic clusters see aka.ms/aks/automatic."
+ }
+ ]
+ }
+ },
+ "tier": {
+ "type": "string",
+ "title": "The tier of a managed cluster SKU.",
+ "description": "If not specified, the default is 'Free'. See [AKS Pricing Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details.",
+ "enum": [
+ "Premium",
+ "Standard",
+ "Free"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUTier",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Premium",
+ "description": "Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions."
+ },
+ {
+ "value": "Standard",
+ "description": "Recommended for mission-critical and production workloads. Includes Kubernetes control plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones."
+ },
+ {
+ "value": "Free",
+ "description": "The cluster management is free, but charged for VM, storage, and networking usage. Best for experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases."
+ }
+ ]
+ }
+ }
+ },
+ "description": "The SKU of a Managed Cluster."
+ },
+ "PrivateEndpointConnectionListResult": {
+ "type": "object",
+ "description": "A list of private endpoint connections",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "A private endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the private endpoint connection."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-naming-rules"
+ }
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "The properties of a private endpoint connection.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateEndpointConnectionProperties": {
+ "type": "object",
+ "description": "Properties of a private endpoint connection.",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Canceled",
+ "Creating",
+ "Deleting",
+ "Failed",
+ "Succeeded"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The resource of private endpoint."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ]
+ },
+ "PrivateEndpoint": {
+ "type": "object",
+ "description": "Private endpoint which a connection belongs to.",
+ "properties": {
+ "id": {
+ "description": "The resource ID of the private endpoint",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The state of a private link service connection.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "description": "The private link service connection status.",
+ "x-ms-enum": {
+ "name": "ConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The private link service connection description."
+ }
+ }
+ },
+ "PrivateLinkResourcesListResult": {
+ "type": "object",
+ "description": "A list of private link resources",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "A private link resource",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the private link resource."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the private link resource.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-naming-rules"
+ }
+ },
+ "type": {
+ "type": "string",
+ "description": "The resource type."
+ },
+ "groupId": {
+ "type": "string",
+ "description": "The group ID of the resource."
+ },
+ "requiredMembers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The RequiredMembers of the resource"
+ },
+ "privateLinkServiceID": {
+ "readOnly": true,
+ "type": "string",
+ "format": "arm-id",
+ "description": "The private link service ID of the resource, this field is exposed only to NRP internally."
+ }
+ }
+ },
+ "OSDiskType": {
+ "type": "string",
+ "enum": [
+ "Managed",
+ "Ephemeral"
+ ],
+ "x-ms-enum": {
+ "name": "OSDiskType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Managed",
+ "description": "Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency."
+ },
+ {
+ "value": "Ephemeral",
+ "description": "Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades."
+ }
+ ]
+ },
+ "title": "The OS disk type to be used for machines in the agent pool.",
+ "description": "The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os)."
+ },
+ "KubeletDiskType": {
+ "type": "string",
+ "enum": [
+ "OS",
+ "Temporary"
+ ],
+ "x-ms-enum": {
+ "name": "KubeletDiskType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "OS",
+ "description": "Kubelet will use the OS disk for its data."
+ },
+ {
+ "value": "Temporary",
+ "description": "Kubelet will use the temporary disk for its data."
+ }
+ ]
+ },
+ "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage."
+ },
+ "WorkloadRuntime": {
+ "type": "string",
+ "enum": [
+ "OCIContainer",
+ "WasmWasi",
+ "KataMshvVmIsolation"
+ ],
+ "x-ms-enum": {
+ "name": "WorkloadRuntime",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "OCIContainer",
+ "description": "Nodes will use Kubelet to run standard OCI container workloads."
+ },
+ {
+ "value": "WasmWasi",
+ "description": "Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview)."
+ },
+ {
+ "value": "KataMshvVmIsolation",
+ "description": "Nodes can use (Kata + Cloud Hypervisor + Hyper-V) to enable Nested VM-based pods (Preview). Due to the use Hyper-V, AKS node OS itself is a nested VM (the root OS) of Hyper-V. Thus it can only be used with VM series that support Nested Virtualization such as Dv3 series."
+ }
+ ]
+ },
+ "description": "Determines the type of workload a node can run."
+ },
+ "KubeletConfig": {
+ "title": "Kubelet configurations of agent nodes.",
+ "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.",
+ "type": "object",
+ "properties": {
+ "cpuManagerPolicy": {
+ "type": "string",
+ "title": "The CPU Manager policy to use.",
+ "description": "The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'."
+ },
+ "cpuCfsQuota": {
+ "type": "boolean",
+ "title": "If CPU CFS quota enforcement is enabled for containers that specify CPU limits.",
+ "description": "The default is true."
+ },
+ "cpuCfsQuotaPeriod": {
+ "type": "string",
+ "title": "The CPU CFS quota period value.",
+ "description": "The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'."
+ },
+ "imageGcHighThreshold": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The percent of disk usage after which image garbage collection is always run.",
+ "description": "To disable image garbage collection, set to 100. The default is 85%"
+ },
+ "imageGcLowThreshold": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The percent of disk usage before which image garbage collection is never run.",
+ "description": "This cannot be set higher than imageGcHighThreshold. The default is 80%"
+ },
+ "topologyManagerPolicy": {
+ "type": "string",
+ "title": "The Topology Manager policy to use.",
+ "description": "For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'."
+ },
+ "allowedUnsafeSysctls": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`)."
+ },
+ "failSwapOn": {
+ "type": "boolean",
+ "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node."
+ },
+ "containerLogMaxSizeMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated."
+ },
+ "containerLogMaxFiles": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of container log files that can be present for a container. The number must be ≥ 2.",
+ "minimum": 2
+ },
+ "podMaxPids": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of processes per pod."
+ }
+ }
+ },
+ "LinuxOSConfig": {
+ "title": "OS configurations of Linux agent nodes.",
+ "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.",
+ "type": "object",
+ "properties": {
+ "sysctls": {
+ "$ref": "#/definitions/SysctlConfig",
+ "description": "Sysctl settings for Linux agent nodes."
+ },
+ "transparentHugePageEnabled": {
+ "type": "string",
+ "title": "Whether transparent hugepages are enabled.",
+ "description": "Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)."
+ },
+ "transparentHugePageDefrag": {
+ "type": "string",
+ "title": "Whether the kernel should make aggressive use of memory compaction to make more hugepages available.",
+ "description": "Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)."
+ },
+ "swapFileSizeMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The size in MB of a swap file that will be created on each node."
+ }
+ }
+ },
+ "AgentPoolWindowsProfile": {
+ "type": "object",
+ "description": "The Windows agent pool's specific profile.",
+ "properties": {
+ "disableOutboundNat": {
+ "type": "boolean",
+ "title": "Whether to disable OutboundNAT in windows nodes",
+ "description": "The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT Gateway and the Windows agent pool does not have node public IP enabled."
+ }
+ }
+ },
+ "AgentPoolSecurityProfile": {
+ "type": "object",
+ "properties": {
+ "sshAccess": {
+ "$ref": "#/definitions/AgentPoolSSHAccess",
+ "description": "SSH access method of an agent pool."
+ },
+ "enableVTPM": {
+ "type": "boolean",
+ "description": "vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false."
+ },
+ "enableSecureBoot": {
+ "type": "boolean",
+ "description": "Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false."
+ }
+ },
+ "description": "The security settings of an agent pool."
+ },
+ "AgentPoolGPUProfile": {
+ "type": "object",
+ "properties": {
+ "installGPUDriver": {
+ "type": "boolean",
+ "title": "Whether to auto install GPU drivers or not.",
+ "description": "The default value is true when the vmSize of the agent pool contains a GPU, false otherwise. GPU Driver Installation can only be set true when VM has an associated GPU resource. Setting this field to false prevents automatic GPU driver installation. In that case, in order for the GPU to be usable, the user must perform GPU driver installation themselves."
+ }
+ }
+ },
+ "AgentPoolArtifactStreamingProfile": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false."
+ }
+ }
+ },
+ "AgentPoolSSHAccess": {
+ "type": "string",
+ "enum": [
+ "LocalUser",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolSSHAccess",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "LocalUser",
+ "description": "Can SSH onto the node as a local user using private key."
+ },
+ {
+ "value": "Disabled",
+ "description": "SSH service will be turned off on the node."
+ }
+ ]
+ },
+ "description": "SSH access method of an agent pool."
+ },
+ "AgentPoolGatewayProfile": {
+ "description": "Profile of the managed cluster gateway agent pool.",
+ "type": "object",
+ "properties": {
+ "publicIPPrefixSize": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 31,
+ "minimum": 28,
+ "description": "The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 nodes/IPs, /28 = 16 nodes/IPs). The default value is 31.",
+ "default": 31
+ }
+ }
+ },
+ "SysctlConfig": {
+ "description": "Sysctl settings for Linux agent nodes.",
+ "type": "object",
+ "properties": {
+ "netCoreSomaxconn": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.somaxconn."
+ },
+ "netCoreNetdevMaxBacklog": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.netdev_max_backlog."
+ },
+ "netCoreRmemDefault": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.rmem_default."
+ },
+ "netCoreRmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.rmem_max."
+ },
+ "netCoreWmemDefault": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.wmem_default."
+ },
+ "netCoreWmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.wmem_max."
+ },
+ "netCoreOptmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.optmem_max."
+ },
+ "netIpv4TcpMaxSynBacklog": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_max_syn_backlog."
+ },
+ "netIpv4TcpMaxTwBuckets": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_max_tw_buckets."
+ },
+ "netIpv4TcpFinTimeout": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_fin_timeout."
+ },
+ "netIpv4TcpKeepaliveTime": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_time."
+ },
+ "netIpv4TcpKeepaliveProbes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_probes."
+ },
+ "netIpv4TcpkeepaliveIntvl": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 10,
+ "maximum": 90,
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_intvl."
+ },
+ "netIpv4TcpTwReuse": {
+ "type": "boolean",
+ "description": "Sysctl setting net.ipv4.tcp_tw_reuse."
+ },
+ "netIpv4IpLocalPortRange": {
+ "type": "string",
+ "description": "Sysctl setting net.ipv4.ip_local_port_range."
+ },
+ "netIpv4NeighDefaultGcThresh1": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh1."
+ },
+ "netIpv4NeighDefaultGcThresh2": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh2."
+ },
+ "netIpv4NeighDefaultGcThresh3": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh3."
+ },
+ "netNetfilterNfConntrackMax": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 131072,
+ "maximum": 2097152,
+ "description": "Sysctl setting net.netfilter.nf_conntrack_max."
+ },
+ "netNetfilterNfConntrackBuckets": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 65536,
+ "maximum": 524288,
+ "description": "Sysctl setting net.netfilter.nf_conntrack_buckets."
+ },
+ "fsInotifyMaxUserWatches": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.inotify.max_user_watches."
+ },
+ "fsFileMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.file-max."
+ },
+ "fsAioMaxNr": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.aio-max-nr."
+ },
+ "fsNrOpen": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.nr_open."
+ },
+ "kernelThreadsMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting kernel.threads-max."
+ },
+ "vmMaxMapCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.max_map_count."
+ },
+ "vmSwappiness": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.swappiness."
+ },
+ "vmVfsCachePressure": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.vfs_cache_pressure."
+ }
+ }
+ },
+ "ManagedClusterHTTPProxyConfig": {
+ "description": "Cluster HTTP proxy configuration.",
+ "type": "object",
+ "properties": {
+ "httpProxy": {
+ "type": "string",
+ "description": "The HTTP proxy server endpoint to use."
+ },
+ "httpsProxy": {
+ "type": "string",
+ "description": "The HTTPS proxy server endpoint to use."
+ },
+ "noProxy": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The endpoints that should not go through proxy."
+ },
+ "effectiveNoProxy": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "A read-only list of all endpoints for which traffic should not be sent to the proxy. This list is a superset of noProxy and values injected by AKS."
+ },
+ "trustedCa": {
+ "type": "string",
+ "description": "Alternative CA cert to use for connecting to proxy servers."
+ }
+ }
+ },
+ "GPUInstanceProfile": {
+ "type": "string",
+ "enum": [
+ "MIG1g",
+ "MIG2g",
+ "MIG3g",
+ "MIG4g",
+ "MIG7g"
+ ],
+ "x-ms-enum": {
+ "name": "GPUInstanceProfile ",
+ "modelAsString": true
+ },
+ "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU."
+ },
+ "ExtendedLocationType": {
+ "type": "string",
+ "description": "The type of extendedLocation.",
+ "enum": [
+ "EdgeZone"
+ ],
+ "x-ms-enum": {
+ "name": "ExtendedLocationTypes",
+ "modelAsString": true
+ }
+ },
+ "ExtendedLocation": {
+ "type": "object",
+ "description": "The complex type of the extended location.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the extended location."
+ },
+ "type": {
+ "$ref": "#/definitions/ExtendedLocationType",
+ "description": "The type of the extended location."
+ }
+ }
+ },
+ "OSOptionProperty": {
+ "type": "object",
+ "properties": {
+ "os-type": {
+ "type": "string",
+ "description": "The OS type."
+ },
+ "enable-fips-image": {
+ "type": "boolean",
+ "description": "Whether the image is FIPS-enabled."
+ }
+ },
+ "required": [
+ "os-type",
+ "enable-fips-image"
+ ],
+ "description": "OS option property."
+ },
+ "OSOptionPropertyList": {
+ "type": "object",
+ "properties": {
+ "osOptionPropertyList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OSOptionProperty"
+ },
+ "x-ms-identifiers": [],
+ "description": "The list of OS options."
+ }
+ },
+ "required": [
+ "osOptionPropertyList"
+ ],
+ "description": "The list of OS option properties."
+ },
+ "OSOptionProfile": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the OS option resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the OS option resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the OS option resource."
+ },
+ "properties": {
+ "$ref": "#/definitions/OSOptionPropertyList",
+ "description": "The list of OS options.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The OS option profile."
+ },
+ "GuardrailsAvailableVersionsProperties": {
+ "type": "object",
+ "description": "Whether the version is default or not and support info.",
+ "properties": {
+ "isDefaultVersion": {
+ "type": "boolean",
+ "readOnly": true
+ },
+ "support": {
+ "type": "string",
+ "enum": [
+ "Preview",
+ "Stable"
+ ],
+ "x-ms-enum": {
+ "name": "GuardrailsSupport",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Preview",
+ "description": "The version is preview. It is not recommended to use preview versions on critical production clusters. The preview version may not support all use-cases."
+ },
+ {
+ "value": "Stable",
+ "description": "The version is stable and can be used on critical production clusters."
+ }
+ ]
+ },
+ "description": "Whether the version is preview or stable.",
+ "readOnly": true
+ }
+ }
+ },
+ "GuardrailsAvailableVersion": {
+ "type": "object",
+ "description": "Available Guardrails Version",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/GuardrailsAvailableVersionsProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "GuardrailsAvailableVersionsList": {
+ "type": "object",
+ "description": "Hold values properties, which is array of GuardrailsVersions",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GuardrailsAvailableVersion"
+ },
+ "description": "Array of AKS supported Guardrails versions."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next Guardrails available version.",
+ "readOnly": true
+ }
+ }
+ },
+ "SafeguardsAvailableVersionsProperties": {
+ "type": "object",
+ "description": "Whether the version is default or not and support info.",
+ "properties": {
+ "isDefaultVersion": {
+ "type": "boolean",
+ "readOnly": true
+ },
+ "support": {
+ "type": "string",
+ "enum": [
+ "Preview",
+ "Stable"
+ ],
+ "x-ms-enum": {
+ "name": "SafeguardsSupport",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Preview",
+ "description": "The version is preview. It is not recommended to use preview versions on critical production clusters. The preview version may not support all use-cases."
+ },
+ {
+ "value": "Stable",
+ "description": "The version is stable and can be used on critical production clusters."
+ }
+ ]
+ },
+ "description": "Whether the version is preview or stable.",
+ "readOnly": true
+ }
+ }
+ },
+ "SafeguardsAvailableVersion": {
+ "type": "object",
+ "description": "Available Safeguards Version",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SafeguardsAvailableVersionsProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "SafeguardsAvailableVersionsList": {
+ "type": "object",
+ "description": "Hold values properties, which is array of SafeguardsVersions",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SafeguardsAvailableVersion"
+ },
+ "description": "Array of AKS supported Safeguards versions."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next Safeguards available version.",
+ "readOnly": true
+ }
+ }
+ },
+ "EndpointDependency": {
+ "description": "A domain name that AKS agent nodes are reaching at.",
+ "type": "object",
+ "properties": {
+ "domainName": {
+ "description": "The domain name of the dependency.",
+ "type": "string"
+ },
+ "endpointDetails": {
+ "description": "The Ports and Protocols used when connecting to domainName.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointDetail"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "EndpointDetail": {
+ "description": "connect information from the AKS agent nodes to a single endpoint.",
+ "type": "object",
+ "properties": {
+ "ipAddress": {
+ "description": "An IP Address that Domain Name currently resolves to.",
+ "type": "string"
+ },
+ "port": {
+ "format": "int32",
+ "description": "The port an endpoint is connected to.",
+ "type": "integer"
+ },
+ "protocol": {
+ "description": "The protocol used for connection",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the detail",
+ "type": "string"
+ }
+ }
+ },
+ "OutboundEnvironmentEndpoint": {
+ "description": "Egress endpoints which AKS agent nodes connect to for common purpose.",
+ "type": "object",
+ "properties": {
+ "category": {
+ "description": "The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc.",
+ "type": "string"
+ },
+ "endpoints": {
+ "description": "The endpoints that AKS agent nodes connect to",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointDependency"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "OutboundEnvironmentEndpointCollection": {
+ "description": "Collection of OutboundEnvironmentEndpoint",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutboundEnvironmentEndpoint"
+ },
+ "x-ms-identifiers": []
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ManagedClusterSecurityProfile": {
+ "type": "object",
+ "properties": {
+ "defender": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfileDefender",
+ "description": "Microsoft Defender settings for the security profile."
+ },
+ "azureKeyVaultKms": {
+ "$ref": "#/definitions/AzureKeyVaultKms",
+ "description": "Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile."
+ },
+ "workloadIdentity": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfileWorkloadIdentity",
+ "description": "Workload identity settings for the security profile. Workload identity enables Kubernetes applications to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details."
+ },
+ "imageCleaner": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfileImageCleaner",
+ "description": "Image Cleaner settings for the security profile."
+ },
+ "imageIntegrity": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfileImageIntegrity",
+ "description": "Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This will not have any effect unless Azure Policy is applied to enforce image signatures. See https://aka.ms/aks/image-integrity for how to use this feature via policy."
+ },
+ "nodeRestriction": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfileNodeRestriction",
+ "description": "[Node Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings for the security profile."
+ },
+ "customCATrustCertificates": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfileCustomCATrustCertificates",
+ "description": "A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the Custom CA Trust feature enabled. For more information see [Custom CA Trust Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority)"
+ }
+ },
+ "description": "Security profile for the container service cluster."
+ },
+ "ManagedClusterSecurityProfileDefender": {
+ "type": "object",
+ "properties": {
+ "logAnalyticsWorkspaceResourceId": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.OperationalInsights/workspaces"
+ }
+ ]
+ },
+ "description": "Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty."
+ },
+ "securityMonitoring": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfileDefenderSecurityMonitoring",
+ "description": "Microsoft Defender threat detection for Cloud settings for the security profile."
+ }
+ },
+ "description": "Microsoft Defender settings for the security profile."
+ },
+ "ManagedClusterSecurityProfileDefenderSecurityMonitoring": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable Defender threat detection"
+ }
+ },
+ "description": "Microsoft Defender settings for the security profile threat detection."
+ },
+ "ManagedClusterStorageProfile": {
+ "type": "object",
+ "properties": {
+ "diskCSIDriver": {
+ "$ref": "#/definitions/ManagedClusterStorageProfileDiskCSIDriver",
+ "description": "AzureDisk CSI Driver settings for the storage profile."
+ },
+ "fileCSIDriver": {
+ "$ref": "#/definitions/ManagedClusterStorageProfileFileCSIDriver",
+ "description": "AzureFile CSI Driver settings for the storage profile."
+ },
+ "snapshotController": {
+ "$ref": "#/definitions/ManagedClusterStorageProfileSnapshotController",
+ "description": "Snapshot Controller settings for the storage profile."
+ },
+ "blobCSIDriver": {
+ "$ref": "#/definitions/ManagedClusterStorageProfileBlobCSIDriver",
+ "description": "AzureBlob CSI Driver settings for the storage profile."
+ }
+ },
+ "description": "Storage profile for the container service cluster."
+ },
+ "AzureKeyVaultKms": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable Azure Key Vault key management service. The default is false."
+ },
+ "keyId": {
+ "type": "string",
+ "description": "Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty."
+ },
+ "keyVaultNetworkAccess": {
+ "type": "string",
+ "enum": [
+ "Public",
+ "Private"
+ ],
+ "default": "Public",
+ "x-ms-enum": {
+ "name": "KeyVaultNetworkAccessTypes",
+ "modelAsString": true
+ },
+ "title": "Network access of the key vault",
+ "description": "Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. The default value is `Public`."
+ },
+ "keyVaultResourceId": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.KeyVault/vaults"
+ }
+ ]
+ },
+ "description": "Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty."
+ }
+ },
+ "description": "Azure Key Vault key management service settings for the security profile."
+ },
+ "ManagedClusterIngressProfile": {
+ "type": "object",
+ "properties": {
+ "webAppRouting": {
+ "$ref": "#/definitions/ManagedClusterIngressProfileWebAppRouting",
+ "description": "Web App Routing settings for the ingress profile."
+ }
+ },
+ "description": "Ingress profile for the container service cluster."
+ },
+ "ManagedClusterIngressProfileWebAppRouting": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable Web App Routing."
+ },
+ "dnsZoneResourceIds": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Network/dnszones"
+ },
+ {
+ "type": "Microsoft.Network/privateDnsZones"
+ }
+ ]
+ }
+ },
+ "maxItems": 5,
+ "description": "Resource IDs of the DNS zones to be associated with the Web App Routing add-on. Used only when Web App Routing is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group."
+ },
+ "identity": {
+ "readOnly": true,
+ "type": "object",
+ "$ref": "#/definitions/UserAssignedIdentity",
+ "description": "Managed identity of the Web Application Routing add-on. This is the identity that should be granted permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See [this overview of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more instructions."
+ }
+ },
+ "description": "Web App Routing settings for the ingress profile."
+ },
+ "ManagedClusterSecurityProfileWorkloadIdentity": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable workload identity."
+ }
+ },
+ "description": "Workload identity settings for the security profile."
+ },
+ "ManagedClusterSecurityProfileImageCleaner": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable Image Cleaner on AKS cluster."
+ },
+ "intervalHours": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Image Cleaner scanning interval in hours."
+ }
+ },
+ "description": "Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here are settings for the security profile."
+ },
+ "ManagedClusterSecurityProfileImageIntegrity": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable image integrity. The default value is false."
+ }
+ },
+ "description": "Image integrity related settings for the security profile."
+ },
+ "ManagedClusterSecurityProfileNodeRestriction": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable Node Restriction"
+ }
+ },
+ "description": "Node Restriction settings for the security profile."
+ },
+ "ManagedClusterSecurityProfileCustomCATrustCertificates": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "byte"
+ },
+ "minItems": 0,
+ "maxItems": 10,
+ "title": "The list of base64 encoded certificate strings that will be added to the node trust store. At most 10 strings can be provided.",
+ "description": "Certificates will only be added to trust stores on node pools that have enableCustomCATrust field set to true. If updated, the new list of certificates will be installed in the trust store in place of the old certificates. The certificates are applied asynchronously and will be available a short time after the list is updated."
+ },
+ "ManagedClusterStorageProfileDiskCSIDriver": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable AzureDisk CSI Driver. The default value is true."
+ },
+ "version": {
+ "type": "string",
+ "description": "The version of AzureDisk CSI Driver. The default value is v1."
+ }
+ },
+ "description": "AzureDisk CSI Driver settings for the storage profile."
+ },
+ "ManagedClusterStorageProfileFileCSIDriver": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable AzureFile CSI Driver. The default value is true."
+ }
+ },
+ "description": "AzureFile CSI Driver settings for the storage profile."
+ },
+ "ManagedClusterStorageProfileSnapshotController": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable Snapshot Controller. The default value is true."
+ }
+ },
+ "description": "Snapshot Controller settings for the storage profile."
+ },
+ "ManagedClusterStorageProfileBlobCSIDriver": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable AzureBlob CSI Driver. The default value is false."
+ }
+ },
+ "description": "AzureBlob CSI Driver settings for the storage profile."
+ },
+ "CreationData": {
+ "description": "Data used when creating a target resource from a source resource.",
+ "type": "object",
+ "properties": {
+ "sourceResourceId": {
+ "type": "string",
+ "format": "arm-id",
+ "description": "This is the ARM ID of the source object to be used to create the target object."
+ }
+ }
+ },
+ "SnapshotListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Snapshot"
+ },
+ "description": "The list of snapshots."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of snapshot results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Snapshots operation."
+ },
+ "ManagedClusterSnapshotListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterSnapshot"
+ },
+ "description": "The list of managed cluster snapshots."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of managed cluster snapshot results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Managed Cluster Snapshots operation."
+ },
+ "Snapshot": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties of a snapshot.",
+ "$ref": "#/definitions/SnapshotProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "A node pool snapshot resource."
+ },
+ "ManagedClusterSnapshot": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties of a managed cluster snapshot.",
+ "$ref": "#/definitions/ManagedClusterSnapshotProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "A managed cluster snapshot resource."
+ },
+ "SnapshotProperties": {
+ "type": "object",
+ "properties": {
+ "creationData": {
+ "$ref": "#/definitions/CreationData",
+ "description": "CreationData to be used to specify the source agent pool resource ID to create this snapshot."
+ },
+ "snapshotType": {
+ "$ref": "#/definitions/SnapshotType"
+ },
+ "kubernetesVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The version of Kubernetes."
+ },
+ "nodeImageVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The version of node image."
+ },
+ "osType": {
+ "readOnly": true,
+ "$ref": "#/definitions/OSType"
+ },
+ "osSku": {
+ "readOnly": true,
+ "$ref": "#/definitions/OSSKU"
+ },
+ "vmSize": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The size of the VM."
+ },
+ "enableFIPS": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "Whether to use a FIPS-enabled OS."
+ }
+ },
+ "description": "Properties used to configure a node pool snapshot."
+ },
+ "ManagedClusterSnapshotProperties": {
+ "type": "object",
+ "properties": {
+ "creationData": {
+ "$ref": "#/definitions/CreationData",
+ "description": "CreationData to be used to specify the source resource ID to create this snapshot."
+ },
+ "snapshotType": {
+ "$ref": "#/definitions/SnapshotType"
+ },
+ "managedClusterPropertiesReadOnly": {
+ "$ref": "#/definitions/ManagedClusterPropertiesForSnapshot",
+ "description": "What the properties will be showed when getting managed cluster snapshot. Those properties are read-only."
+ }
+ },
+ "description": "Properties for a managed cluster snapshot."
+ },
+ "ManagedClusterPropertiesForSnapshot": {
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The current kubernetes version."
+ },
+ "sku": {
+ "type": "object",
+ "$ref": "#/definitions/ManagedClusterSKU",
+ "description": "The current managed cluster sku."
+ },
+ "enableRbac": {
+ "type": "boolean",
+ "description": "Whether the cluster has enabled Kubernetes Role-Based Access Control or not."
+ },
+ "networkProfile": {
+ "type": "object",
+ "$ref": "#/definitions/NetworkProfileForSnapshot",
+ "description": "The current network profile."
+ }
+ },
+ "description": "managed cluster properties for snapshot, these properties are read only."
+ },
+ "NetworkProfileForSnapshot": {
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "networkPlugin": {
+ "$ref": "#/definitions/NetworkPlugin",
+ "description": "networkPlugin for managed cluster snapshot."
+ },
+ "networkPluginMode": {
+ "$ref": "#/definitions/NetworkPluginMode",
+ "description": "NetworkPluginMode for managed cluster snapshot."
+ },
+ "networkPolicy": {
+ "$ref": "#/definitions/NetworkPolicy",
+ "description": "networkPolicy for managed cluster snapshot."
+ },
+ "networkMode": {
+ "$ref": "#/definitions/NetworkMode",
+ "description": "networkMode for managed cluster snapshot."
+ },
+ "loadBalancerSku": {
+ "$ref": "#/definitions/LoadBalancerSku",
+ "description": "loadBalancerSku for managed cluster snapshot."
+ }
+ },
+ "description": "network profile for managed cluster snapshot, these properties are read only."
+ },
+ "NetworkPlugin": {
+ "type": "string",
+ "enum": [
+ "azure",
+ "kubenet",
+ "none"
+ ],
+ "default": "kubenet",
+ "x-ms-enum": {
+ "name": "NetworkPlugin",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "azure",
+ "description": "Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information."
+ },
+ {
+ "value": "kubenet",
+ "description": "Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information."
+ },
+ {
+ "value": "none",
+ "description": "Do not use a network plugin. A custom CNI will need to be installed after cluster creation for networking functionality."
+ }
+ ]
+ },
+ "description": "Network plugin used for building the Kubernetes network."
+ },
+ "NetworkPluginMode": {
+ "type": "string",
+ "enum": [
+ "overlay"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkPluginMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "overlay",
+ "description": "Pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than Kubenet reference plugins host-local and bridge."
+ }
+ ]
+ },
+ "description": "The mode the network plugin should use."
+ },
+ "NetworkPolicy": {
+ "type": "string",
+ "enum": [
+ "none",
+ "calico",
+ "azure",
+ "cilium"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkPolicy",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "none",
+ "description": "Network policies will not be enforced. This is the default value when NetworkPolicy is not specified."
+ },
+ {
+ "value": "calico",
+ "description": "Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information."
+ },
+ {
+ "value": "azure",
+ "description": "Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information."
+ },
+ {
+ "value": "cilium",
+ "description": "Use Cilium to enforce network policies. This requires networkDataplane to be 'cilium'."
+ }
+ ]
+ },
+ "description": "Network policy used for building the Kubernetes network."
+ },
+ "NetworkMode": {
+ "type": "string",
+ "enum": [
+ "transparent",
+ "bridge"
+ ],
+ "x-ms-enum": {
+ "name": "networkMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "transparent",
+ "description": "No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information."
+ },
+ {
+ "value": "bridge",
+ "description": "This is no longer supported"
+ }
+ ]
+ },
+ "title": "The network mode Azure CNI is configured with.",
+ "description": "This cannot be specified if networkPlugin is anything other than 'azure'."
+ },
+ "NetworkDataplane": {
+ "type": "string",
+ "enum": [
+ "azure",
+ "cilium"
+ ],
+ "x-ms-enum": {
+ "name": "networkDataplane",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "azure",
+ "description": "Use Azure network dataplane."
+ },
+ {
+ "value": "cilium",
+ "description": "Use Cilium network dataplane. See [Azure CNI Powered by Cilium](https://learn.microsoft.com/azure/aks/azure-cni-powered-by-cilium) for more information."
+ }
+ ]
+ },
+ "description": "Network dataplane used in the Kubernetes cluster."
+ },
+ "AdvancedNetworking": {
+ "type": "object",
+ "description": "Advanced Networking profile for enabling observability on a cluster. Note that enabling advanced networking features may incur additional costs. For more information see aka.ms/aksadvancednetworking.",
+ "properties": {
+ "observability": {
+ "$ref": "#/definitions/AdvancedNetworkingObservability"
+ }
+ }
+ },
+ "AdvancedNetworkingObservability": {
+ "type": "object",
+ "description": "Observability profile to enable advanced network metrics and flow logs with historical contexts.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Indicates the enablement of Advanced Networking observability functionalities on clusters."
+ }
+ }
+ },
+ "LoadBalancerSku": {
+ "type": "string",
+ "enum": [
+ "standard",
+ "basic"
+ ],
+ "x-ms-enum": {
+ "name": "loadBalancerSku",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "standard",
+ "description": "Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article."
+ },
+ {
+ "value": "basic",
+ "description": "Use a basic Load Balancer with limited functionality."
+ }
+ ]
+ },
+ "title": "The load balancer sku for the managed cluster.",
+ "description": "The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs."
+ },
+ "SnapshotType": {
+ "type": "string",
+ "default": "NodePool",
+ "enum": [
+ "NodePool",
+ "ManagedCluster"
+ ],
+ "x-ms-enum": {
+ "name": "SnapshotType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "NodePool",
+ "description": "The snapshot is a snapshot of a node pool."
+ },
+ {
+ "value": "ManagedCluster",
+ "description": "The snapshot is a snapshot of a managed cluster."
+ }
+ ]
+ },
+ "description": "The type of a snapshot. The default is NodePool."
+ },
+ "CapacityReservationGroupID": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Compute/CapacityReservationGroups"
+ }
+ ]
+ },
+ "title": "The fully qualified resource ID of the Capacity Reservation Group to provide virtual machines from a reserved group of Virtual Machines.",
+ "description": "This is of the form: '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Compute/capacityreservationgroups/{capacityReservationGroupName}'. Customers use it to create an agentpool and to update an existing agentpool with a CapacityReservationGroupID. If customers explicitly specify this CapacityReservationGroupID as an empty string, AKS will disassociate the existing CRG from the nodepool. For more information see [Capacity Reservation](https://learn.microsoft.com/en-us/azure/virtual-machines/capacity-reservation-overview)"
+ },
+ "TrustedAccessRoleRule": {
+ "type": "object",
+ "description": "Rule for trusted access role",
+ "properties": {
+ "verbs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "List of allowed verbs"
+ },
+ "apiGroups": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "List of allowed apiGroups"
+ },
+ "resources": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "List of allowed resources"
+ },
+ "resourceNames": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "List of allowed names"
+ },
+ "nonResourceURLs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "List of allowed nonResourceURLs"
+ }
+ }
+ },
+ "TrustedAccessRole": {
+ "type": "object",
+ "description": "Trusted access role definition.",
+ "properties": {
+ "sourceResourceType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type of Azure resource"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of role, name is unique under a source resource type"
+ },
+ "rules": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/TrustedAccessRoleRule"
+ },
+ "x-ms-identifiers": [],
+ "description": "List of rules for the role. This maps to 'rules' property of [Kubernetes Cluster Role](https://kubernetes.io/docs/reference/kubernetes-api/authorization-resources/cluster-role-v1/#ClusterRole)."
+ }
+ }
+ },
+ "TrustedAccessRoleListResult": {
+ "type": "object",
+ "description": "List of trusted access roles",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/TrustedAccessRole"
+ },
+ "x-ms-identifiers": [
+ "sourceResourceType",
+ "name"
+ ],
+ "description": "Role list"
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "TrustedAccessRoleBindingProperties": {
+ "type": "object",
+ "description": "Properties for trusted access role binding",
+ "required": [
+ "sourceResourceId",
+ "roles"
+ ],
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state of trusted access role binding.",
+ "enum": [
+ "Canceled",
+ "Deleting",
+ "Failed",
+ "Succeeded",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "TrustedAccessRoleBindingProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "sourceResourceId": {
+ "type": "string",
+ "format": "arm-id",
+ "description": "The ARM resource ID of source resource that trusted access is configured for."
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of roles to bind, each item is a resource type qualified role name. For example: 'Microsoft.MachineLearningServices/workspaces/reader'."
+ }
+ }
+ },
+ "TrustedAccessRoleBinding": {
+ "type": "object",
+ "description": "Defines binding between a resource and role",
+ "required": [
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TrustedAccessRoleBindingProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "TrustedAccessRoleBindingListResult": {
+ "type": "object",
+ "description": "List of trusted access role bindings",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrustedAccessRoleBinding"
+ },
+ "description": "Role binding list"
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ManagedClusterWorkloadAutoScalerProfile": {
+ "type": "object",
+ "description": "Workload Auto-scaler profile for the managed cluster.",
+ "properties": {
+ "keda": {
+ "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfileKeda"
+ },
+ "verticalPodAutoscaler": {
+ "$ref": "#/definitions/ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler"
+ }
+ }
+ },
+ "ManagedClusterWorkloadAutoScalerProfileKeda": {
+ "type": "object",
+ "description": "KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable KEDA."
+ }
+ },
+ "required": [
+ "enabled"
+ ]
+ },
+ "ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable VPA add-on in cluster. Default value is false.",
+ "default": false
+ },
+ "addonAutoscaling": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "AddonAutoscaling",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Enabled",
+ "description": "Feature to autoscale AKS-managed add-ons is enabled. The default VPA update mode is Initial mode."
+ },
+ {
+ "value": "Disabled",
+ "description": "Feature to autoscale AKS-managed add-ons is disabled."
+ }
+ ]
+ },
+ "description": "Whether VPA add-on is enabled and configured to scale AKS-managed add-ons.",
+ "default": "Disabled"
+ }
+ },
+ "required": [
+ "enabled"
+ ]
+ },
+ "ManagedClusterAzureMonitorProfile": {
+ "type": "object",
+ "description": "Prometheus addon profile for the container service cluster",
+ "properties": {
+ "metrics": {
+ "$ref": "#/definitions/ManagedClusterAzureMonitorProfileMetrics"
+ },
+ "containerInsights": {
+ "$ref": "#/definitions/ManagedClusterAzureMonitorProfileContainerInsights"
+ },
+ "appMonitoring": {
+ "$ref": "#/definitions/ManagedClusterAzureMonitorProfileAppMonitoring"
+ }
+ }
+ },
+ "ManagedClusterAzureMonitorProfileKubeStateMetrics": {
+ "type": "object",
+ "description": "Kube State Metrics for prometheus addon profile for the container service cluster",
+ "properties": {
+ "metricLabelsAllowlist": {
+ "type": "string",
+ "description": "Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels metric. "
+ },
+ "metricAnnotationsAllowList": {
+ "type": "string",
+ "description": "Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric."
+ }
+ }
+ },
+ "ManagedClusterAzureMonitorProfileMetrics": {
+ "type": "object",
+ "description": "Metrics profile for the prometheus service addon",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable the Prometheus collector"
+ },
+ "kubeStateMetrics": {
+ "$ref": "#/definitions/ManagedClusterAzureMonitorProfileKubeStateMetrics"
+ }
+ },
+ "required": [
+ "enabled"
+ ]
+ },
+ "SafeguardsProfile": {
+ "type": "object",
+ "properties": {
+ "systemExcludedNamespaces": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of namespaces specified by AKS to be excluded from Safeguards",
+ "items": {
+ "type": "string"
+ }
+ },
+ "version": {
+ "type": "string",
+ "description": "The version of constraints to use"
+ },
+ "level": {
+ "type": "string",
+ "enum": [
+ "Off",
+ "Warning",
+ "Enforcement"
+ ],
+ "x-ms-enum": {
+ "name": "level",
+ "modelAsString": true
+ },
+ "description": "The Safeguards level to be used. By default, Safeguards is enabled for all namespaces except those that AKS excludes via systemExcludedNamespaces"
+ },
+ "excludedNamespaces": {
+ "description": "List of namespaces excluded from Safeguards checks",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "level"
+ ],
+ "description": "The Safeguards profile."
+ },
+ "ServiceMeshProfile": {
+ "type": "object",
+ "description": "Service mesh profile for a managed cluster.",
+ "properties": {
+ "mode": {
+ "type": "string",
+ "description": "Mode of the service mesh.",
+ "enum": [
+ "Istio",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceMeshMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Istio",
+ "description": "Istio deployed as an AKS addon."
+ },
+ {
+ "value": "Disabled",
+ "description": "Mesh is disabled."
+ }
+ ]
+ }
+ },
+ "istio": {
+ "$ref": "#/definitions/IstioServiceMesh"
+ }
+ },
+ "required": [
+ "mode"
+ ]
+ },
+ "IstioServiceMesh": {
+ "type": "object",
+ "description": "Istio service mesh configuration.",
+ "properties": {
+ "components": {
+ "$ref": "#/definitions/IstioComponents"
+ },
+ "certificateAuthority": {
+ "$ref": "#/definitions/IstioCertificateAuthority"
+ },
+ "revisions": {
+ "type": "array",
+ "description": "The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true,
+ "maxItems": 2
+ }
+ }
+ },
+ "IstioComponents": {
+ "type": "object",
+ "description": "Istio components configuration.",
+ "properties": {
+ "ingressGateways": {
+ "type": "array",
+ "description": "Istio ingress gateways.",
+ "items": {
+ "$ref": "#/definitions/IstioIngressGateway"
+ },
+ "x-ms-identifiers": []
+ },
+ "egressGateways": {
+ "type": "array",
+ "description": "Istio egress gateways.",
+ "items": {
+ "$ref": "#/definitions/IstioEgressGateway"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "IstioIngressGateway": {
+ "type": "object",
+ "description": "Istio ingress gateway configuration. For now, we support up to one external ingress gateway named `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`.",
+ "properties": {
+ "mode": {
+ "type": "string",
+ "description": "Mode of an ingress gateway.",
+ "enum": [
+ "External",
+ "Internal"
+ ],
+ "x-ms-enum": {
+ "name": "IstioIngressGatewayMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "External",
+ "description": "The ingress gateway is assigned a public IP address and is publicly accessible."
+ },
+ {
+ "value": "Internal",
+ "description": "The ingress gateway is assigned an internal IP address and cannot is accessed publicly."
+ }
+ ]
+ }
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable the ingress gateway."
+ }
+ },
+ "required": [
+ "mode",
+ "enabled"
+ ]
+ },
+ "IstioCertificateAuthority": {
+ "type": "object",
+ "description": "Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described here https://aka.ms/asm-plugin-ca",
+ "properties": {
+ "plugin": {
+ "$ref": "#/definitions/IstioPluginCertificateAuthority"
+ }
+ }
+ },
+ "IstioPluginCertificateAuthority": {
+ "type": "object",
+ "description": "Plugin certificates information for Service Mesh.",
+ "properties": {
+ "keyVaultId": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.KeyVault/vaults"
+ }
+ ]
+ },
+ "description": "The resource ID of the Key Vault."
+ },
+ "certObjectName": {
+ "type": "string",
+ "description": "Intermediate certificate object name in Azure Key Vault."
+ },
+ "keyObjectName": {
+ "type": "string",
+ "description": "Intermediate certificate private key object name in Azure Key Vault."
+ },
+ "rootCertObjectName": {
+ "type": "string",
+ "description": "Root certificate object name in Azure Key Vault."
+ },
+ "certChainObjectName": {
+ "type": "string",
+ "description": "Certificate chain object name in Azure Key Vault."
+ }
+ }
+ },
+ "IstioEgressGateway": {
+ "type": "object",
+ "description": "Istio egress gateway configuration.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable the egress gateway."
+ }
+ },
+ "required": [
+ "enabled"
+ ]
+ },
+ "MeshRevisionProfileList": {
+ "type": "object",
+ "description": "Holds an array of MeshRevisionsProfiles",
+ "properties": {
+ "value": {
+ "type": "array",
+ "x-ms-identifiers": [],
+ "items": {
+ "$ref": "#/definitions/MeshRevisionProfile"
+ },
+ "description": "Array of service mesh add-on revision profiles for all supported mesh modes."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of mesh revision profile.",
+ "readOnly": true
+ }
+ }
+ },
+ "MeshRevisionProfile": {
+ "type": "object",
+ "description": "Mesh revision profile for a mesh.",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MeshRevisionProfileProperties"
+ }
+ }
+ },
+ "MeshRevisionProfileProperties": {
+ "type": "object",
+ "description": "Mesh revision profile properties for a mesh",
+ "properties": {
+ "meshRevisions": {
+ "type": "array",
+ "x-ms-identifiers": [],
+ "items": {
+ "$ref": "#/definitions/MeshRevision"
+ }
+ }
+ }
+ },
+ "MeshUpgradeProfileList": {
+ "type": "object",
+ "description": "Holds an array of MeshUpgradeProfiles",
+ "properties": {
+ "value": {
+ "type": "array",
+ "x-ms-identifiers": [],
+ "items": {
+ "$ref": "#/definitions/MeshUpgradeProfile"
+ },
+ "description": "Array of supported service mesh add-on upgrade profiles."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of mesh upgrade profile.",
+ "readOnly": true
+ }
+ }
+ },
+ "MeshUpgradeProfile": {
+ "type": "object",
+ "description": "Upgrade profile for given mesh.",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MeshUpgradeProfileProperties"
+ }
+ }
+ },
+ "MeshUpgradeProfileProperties": {
+ "type": "object",
+ "description": "Mesh upgrade profile properties for a major.minor release.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MeshRevision"
+ }
+ ]
+ },
+ "MeshRevision": {
+ "type": "object",
+ "description": "Holds information on upgrades and compatibility for given major.minor mesh release.",
+ "properties": {
+ "revision": {
+ "type": "string",
+ "description": "The revision of the mesh release."
+ },
+ "upgrades": {
+ "type": "array",
+ "description": "List of revisions available for upgrade of a specific mesh revision",
+ "items": {
+ "type": "string",
+ "description": "An upgradeable mesh revision"
+ }
+ },
+ "compatibleWith": {
+ "type": "array",
+ "description": "List of items this revision of service mesh is compatible with, and their associated versions.",
+ "items": {
+ "$ref": "#/definitions/CompatibleVersions"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "CompatibleVersions": {
+ "type": "object",
+ "description": "Version information about a product/service that is compatible with a service mesh revision.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The product/service name."
+ },
+ "versions": {
+ "type": "array",
+ "description": "Product/service versions compatible with a service mesh add-on revision.",
+ "items": {
+ "type": "string",
+ "description": "A compatible product/service version."
+ }
+ }
+ }
+ },
+ "KubernetesSupportPlan": {
+ "type": "string",
+ "description": "Different support tiers for AKS managed clusters",
+ "enum": [
+ "KubernetesOfficial",
+ "AKSLongTermSupport"
+ ],
+ "x-ms-enum": {
+ "name": "KubernetesSupportPlan",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "KubernetesOfficial",
+ "description": "Support for the version is the same as for the open source Kubernetes offering. Official Kubernetes open source community support versions for 1 year after release."
+ },
+ {
+ "value": "AKSLongTermSupport",
+ "description": "Support for the version extended past the KubernetesOfficial support of 1 year. AKS continues to patch CVEs for another 1 year, for a total of 2 years of support."
+ }
+ ]
+ }
+ },
+ "KubernetesVersionCapabilities": {
+ "type": "object",
+ "description": "Capabilities on this Kubernetes version.",
+ "properties": {
+ "supportPlan": {
+ "type": "array",
+ "x-ms-identifiers": [],
+ "items": {
+ "$ref": "#/definitions/KubernetesSupportPlan"
+ }
+ }
+ }
+ },
+ "KubernetesPatchVersion": {
+ "type": "object",
+ "description": "Kubernetes patch version profile",
+ "properties": {
+ "upgrades": {
+ "type": "array",
+ "description": "Possible upgrade path for given patch version",
+ "x-ms-identifiers": [],
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "KubernetesVersion": {
+ "type": "object",
+ "description": "Kubernetes version profile for given major.minor release.",
+ "properties": {
+ "version": {
+ "type": "string",
+ "description": "major.minor version of Kubernetes release"
+ },
+ "capabilities": {
+ "$ref": "#/definitions/KubernetesVersionCapabilities",
+ "description": "Capabilities on this Kubernetes version."
+ },
+ "isDefault": {
+ "type": "boolean",
+ "description": "Whether this version is default."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether this version is in preview mode."
+ },
+ "patchVersions": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/KubernetesPatchVersion"
+ },
+ "description": "Patch versions of Kubernetes release"
+ }
+ }
+ },
+ "KubernetesVersionListResult": {
+ "type": "object",
+ "description": "Hold values properties, which is array of KubernetesVersion",
+ "properties": {
+ "values": {
+ "type": "array",
+ "x-ms-identifiers": [],
+ "items": {
+ "$ref": "#/definitions/KubernetesVersion"
+ },
+ "description": "Array of AKS supported Kubernetes versions."
+ }
+ }
+ },
+ "ManagedClusterAzureMonitorProfileContainerInsights": {
+ "type": "object",
+ "description": "Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Indicates if Azure Monitor Container Insights Logs Addon is enabled or not."
+ },
+ "logAnalyticsWorkspaceResourceId": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.OperationalInsights/workspaces"
+ }
+ ]
+ },
+ "description": "Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing Azure Monitor Container Insights Logs."
+ },
+ "syslogPort": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The syslog host port. If not specified, the default port is 28330."
+ },
+ "disableCustomMetrics": {
+ "type": "boolean",
+ "description": "Indicates whether custom metrics collection has to be disabled or not. If not specified the default is false. No custom metrics will be emitted if this field is false but the container insights enabled field is false"
+ },
+ "disablePrometheusMetricsScraping": {
+ "type": "boolean",
+ "description": "Indicates whether prometheus metrics scraping is disabled or not. If not specified the default is false. No prometheus metrics will be emitted if this field is false but the container insights enabled field is false"
+ }
+ }
+ },
+ "ManagedClusterAzureMonitorProfileAppMonitoring": {
+ "type": "object",
+ "description": "Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview.",
+ "properties": {
+ "autoInstrumentation": {
+ "$ref": "#/definitions/ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation"
+ },
+ "openTelemetryMetrics": {
+ "$ref": "#/definitions/ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics"
+ },
+ "openTelemetryLogs": {
+ "$ref": "#/definitions/ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogs"
+ }
+ }
+ },
+ "ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation": {
+ "type": "object",
+ "description": "Application Monitoring Auto Instrumentation for Kubernetes Application Container. Deploys web hook to auto-instrument Azure Monitor OpenTelemetry based SDKs to collect OpenTelemetry metrics, logs and traces of the application. See aka.ms/AzureMonitorApplicationMonitoring for an overview.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Indicates if Application Monitoring Auto Instrumentation is enabled or not."
+ }
+ }
+ },
+ "ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics": {
+ "type": "object",
+ "description": "Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects OpenTelemetry metrics of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Indicates if Application Monitoring Open Telemetry Metrics is enabled or not."
+ },
+ "port": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The Open Telemetry host port for Open Telemetry metrics. If not specified, the default port is 28333."
+ }
+ }
+ },
+ "ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogs": {
+ "type": "object",
+ "description": "Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Logs and Traces. Collects OpenTelemetry logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Indicates if Application Monitoring Open Telemetry Logs and traces is enabled or not."
+ },
+ "port": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The Open Telemetry host port for Open Telemetry logs and traces. If not specified, the default port is 28331."
+ }
+ }
+ },
+ "ManagedClusterMetricsProfile": {
+ "type": "object",
+ "description": "The metrics profile for the ManagedCluster.",
+ "properties": {
+ "costAnalysis": {
+ "$ref": "#/definitions/ManagedClusterCostAnalysis",
+ "title": "The configuration for detailed per-Kubernetes resource cost analysis."
+ }
+ }
+ },
+ "ManagedClusterCostAnalysis": {
+ "type": "object",
+ "description": "The cost analysis configuration for the cluster",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "title": "Whether to enable cost analysis",
+ "description": "The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis."
+ }
+ }
+ },
+ "ManagedClusterAIToolchainOperatorProfile": {
+ "type": "object",
+ "description": "When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and enables distributed inference against them.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "title": "Whether to enable AI toolchain operator to the cluster",
+ "description": "Indicates if AI toolchain operator enabled or not."
+ }
+ }
+ },
+ "ManagedClusterNodeProvisioningProfile": {
+ "type": "object",
+ "properties": {
+ "mode": {
+ "type": "string",
+ "enum": [
+ "Manual",
+ "Auto"
+ ],
+ "x-ms-enum": {
+ "name": "NodeProvisioningMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Manual",
+ "description": "Nodes are provisioned manually by the user"
+ },
+ {
+ "value": "Auto",
+ "description": "Nodes are provisioned automatically by AKS using Karpenter. Fixed size Node Pools can still be created, but autoscaling Node Pools cannot be. (See aka.ms/aks/nap for more details)."
+ }
+ ]
+ },
+ "title": "The node provisioning mode. If not specified, the default is Manual.",
+ "description": "Once the mode it set to Auto, it cannot be changed back to Manual."
+ }
+ }
+ },
+ "ManagedClusterBootstrapProfile": {
+ "description": "The bootstrap profile.",
+ "properties": {
+ "artifactSource": {
+ "type": "string",
+ "enum": [
+ "Direct",
+ "Cache"
+ ],
+ "x-ms-enum": {
+ "name": "ArtifactSource",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Cache",
+ "description": "pull images from Azure Container Registry with cache"
+ },
+ {
+ "value": "Direct",
+ "description": "pull images from Microsoft Artifact Registry"
+ }
+ ]
+ },
+ "default": "Direct",
+ "title": "The artifact source.",
+ "description": "The source where the artifacts are downloaded from."
+ },
+ "containerRegistryId": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.ContainerRegistry/registries"
+ }
+ ]
+ },
+ "description": "The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy."
+ }
+ },
+ "type": "object"
+ },
+ "AgentPoolDeleteMachinesParameter": {
+ "type": "object",
+ "properties": {
+ "machineNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The agent pool machine names."
+ }
+ },
+ "required": [
+ "machineNames"
+ ],
+ "description": "Specifies a list of machine names from the agent pool to be deleted."
+ },
+ "OperationStatusResultList": {
+ "description": "The operations list. It contains an URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ],
+ "description": "List of operations",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "format": "uri",
+ "description": "URL to get the next set of operation list results (if there are any).",
+ "readOnly": true
+ }
+ }
+ },
+ "LoadBalancerListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LoadBalancer"
+ },
+ "description": "The list of Load Balancers."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of load balancer results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Load Balancers operation."
+ },
+ "LoadBalancer": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/LoadBalancerProperties",
+ "description": "The properties of the load balancer.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "The configurations regarding multiple standard load balancers. If not supplied, single load balancer mode will be used. Multiple standard load balancers mode will be used if at lease one configuration is supplied. There has to be a configuration named `kubernetes`."
+ },
+ "LoadBalancerProperties": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the public load balancer. There will be an internal load balancer created if needed, and the name will be `-internal`. The internal lb shares the same configurations as the external one. The internal lbs are not needed to be included in LoadBalancer list. There must be a name of kubernetes in the list."
+ },
+ "primaryAgentPoolName": {
+ "type": "string",
+ "description": "Required field. A string value that must specify the ID of an existing agent pool. All nodes in the given pool will always be added to this load balancer. This agent pool must have at least one node and minCount>=1 for autoscaling operations. An agent pool can only be the primary pool for a single load balancer."
+ },
+ "allowServicePlacement": {
+ "type": "boolean",
+ "description": "Whether to automatically place services on the load balancer. If not supplied, the default value is true. If set to false manually, both of the external and the internal load balancer will not be selected for services unless they explicitly target it."
+ },
+ "serviceLabelSelector": {
+ "$ref": "#/definitions/LabelSelector",
+ "description": "Only services that must match this selector can be placed on this load balancer."
+ },
+ "serviceNamespaceSelector": {
+ "$ref": "#/definitions/LabelSelector",
+ "description": "Services created in namespaces that match the selector can be placed on this load balancer."
+ },
+ "nodeSelector": {
+ "$ref": "#/definitions/LabelSelector",
+ "description": "Nodes that match this selector will be possible members of this load balancer."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current provisioning state."
+ }
+ },
+ "required": [
+ "name",
+ "primaryAgentPoolName"
+ ]
+ },
+ "LabelSelector": {
+ "type": "object",
+ "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
+ "properties": {
+ "matchLabels": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "matchLabels is an array of {key=value} pairs. A single {key=value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is `key`, the operator is `In`, and the values array contains only `value`. The requirements are ANDed."
+ },
+ "matchExpressions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LabelSelectorRequirement"
+ },
+ "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed."
+ }
+ }
+ },
+ "LabelSelectorRequirement": {
+ "type": "object",
+ "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "key is the label key that the selector applies to."
+ },
+ "operator": {
+ "type": "string",
+ "enum": [
+ "In",
+ "NotIn",
+ "Exists",
+ "DoesNotExist"
+ ],
+ "x-ms-enum": {
+ "name": "operator",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "In",
+ "description": "The value of the key should be in the given list."
+ },
+ {
+ "value": "NotIn",
+ "description": "The value of the key should not be in the given list."
+ },
+ {
+ "value": "Exists",
+ "description": "The value of the key should exist."
+ },
+ {
+ "value": "DoesNotExist",
+ "description": "The value of the key should not exist."
+ }
+ ]
+ },
+ "description": "operator represents a key's relationship to a set of values. Valid operators are In and NotIn"
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "values is an array of string values, the values array must be non-empty."
+ }
+ }
+ },
+ "RebalanceLoadBalancersRequestBody": {
+ "type": "object",
+ "properties": {
+ "loadBalancerNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "x-ms-identifiers": [],
+ "description": "The load balancer names list."
+ }
+ },
+ "description": "The names of the load balancers to rebalance. If set to empty, all load balancers will be rebalanced."
+ },
+ "Component": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Component name."
+ },
+ "version": {
+ "type": "string",
+ "description": "Component version."
+ },
+ "hasBreakingChanges": {
+ "type": "boolean",
+ "description": "If upgraded component version contains breaking changes from the current version. To see a detailed description of what the breaking changes are, visit https://learn.microsoft.com/azure/aks/supported-kubernetes-versions?tabs=azure-cli#aks-components-breaking-changes-by-version."
+ }
+ }
+ },
+ "ComponentsByReleases": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor)."
+ },
+ "components": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Component"
+ },
+ "description": "components of current or upgraded Kubernetes version in the cluster."
+ }
+ },
+ "description": "components of given Kubernetes version."
+ }
+ },
+ "parameters": {
+ "LoadBalancerNameParameter": {
+ "name": "loadBalancerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]{0,11}$",
+ "minLength": 1,
+ "maxLength": 12,
+ "description": "The name of the load balancer.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "The name of the managed cluster resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "AgentPoolNameParameter": {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]{0,11}$",
+ "minLength": 1,
+ "maxLength": 12,
+ "description": "The name of the agent pool.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceTypeParameter": {
+ "name": "resource-type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The resource type for which the OS options needs to be returned",
+ "x-ms-parameter-location": "method"
+ },
+ "ServerFqdnParameter": {
+ "name": "server-fqdn",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "server fqdn type for credentials to be returned",
+ "x-ms-parameter-location": "method"
+ },
+ "CredentialFormatParameter": {
+ "name": "format",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "exec",
+ "azure"
+ ],
+ "x-ms-enum": {
+ "name": "format",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "azure",
+ "description": "Return azure auth-provider kubeconfig. This format is deprecated in v1.22 and will be fully removed in v1.26. See: https://aka.ms/k8s/changes-1-26."
+ },
+ {
+ "value": "exec",
+ "description": "Return exec format kubeconfig. This format requires kubelogin binary in the path."
+ }
+ ]
+ },
+ "description": "Only apply to AAD clusters, specifies the format of returned kubeconfig. Format 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec format kubeconfig, which requires kubelogin binary in the path.",
+ "x-ms-parameter-location": "method"
+ },
+ "IgnorePodDisruptionBudgetParameter": {
+ "name": "ignore-pod-disruption-budget",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "ignore-pod-disruption-budget=true to delete those pods on a node without considering Pod Disruption Budget",
+ "x-ms-parameter-location": "method"
+ },
+ "TrustedAccessRoleBindingNameParameter": {
+ "name": "trustedAccessRoleBindingName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of trusted access role binding.",
+ "pattern": "^([A-Za-z0-9-])+$",
+ "minLength": 1,
+ "maxLength": 24,
+ "x-ms-parameter-location": "method"
+ },
+ "MeshModeParameter": {
+ "name": "mode",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 24,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "The mode of the mesh.",
+ "x-ms-parameter-location": "method"
+ },
+ "MachineNameParameter": {
+ "type": "string",
+ "description": "host name of the machine",
+ "name": "machineName",
+ "in": "path",
+ "required": true,
+ "pattern": "^[a-zA-Z0-9][-_a-zA-Z0-9]{0,39}$",
+ "x-ms-parameter-location": "method"
+ },
+ "VersionParameter": {
+ "name": "version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 24,
+ "description": "Safeguards version",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.java.md b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.java.md
index 13e3239c9e7f..796eab88cc62 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.java.md
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.java.md
@@ -98,6 +98,20 @@ batch:
- tag: package-preview-2024-02
- tag: package-2024-02
- tag: package-preview-2024-03
+ - tag: package-preview-2024-04
+```
+
+### Tag: package-preview-2024-04 and java
+
+These settings apply only when `--tag=package-preview-2024-04` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-preview-2024-04' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerservice.v2024_04_02_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2024_04_02_preview
+regenerate-manager: true
+generate-interface: true
```
### Tag: package-preview-2024-03 and java
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.md b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.md
index 1efea73b5be9..24cc58a27dfa 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.md
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.md
@@ -34,9 +34,17 @@ These are the global settings for the ContainerServices API.
``` yaml
openapi-type: arm
-tag: package-preview-2024-03
+tag: package-preview-2024-04
```
+### Tag: package-preview-2024-04
+
+These settings apply only when `--tag=package-preview-2024-04` is specified on the command line.
+
+``` yaml $(tag) == 'package-preview-2024-04'
+input-file:
+ - preview/2024-04-02-preview/managedClusters.json
+```
### Tag: package-preview-2024-03
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.python.md b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.python.md
index 8950a68bd321..779869c9f997 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.python.md
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.python.md
@@ -16,9 +16,10 @@ no-namespace-folders: true
Generate all API versions currently shipped for this package
```yaml $(python)
-default-api-version: "2024-03-02-preview"
+default-api-version: "2024-04-02-preview"
multiapi: true
batch:
+ - tag: package-preview-2024-04
- tag: package-preview-2024-03
- tag: package-2024-02
- tag: package-preview-2024-02
@@ -105,6 +106,16 @@ perform-load: false
clear-output-folder: false
```
+### Tag: package-preview-2024-04 and python
+
+These settings apply only when `--tag=package-preview-2024-04 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-preview-2024-04' && $(python)
+namespace: azure.mgmt.containerservice.v2024_04_02_preview
+output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2024_04_02_preview
+```
+
### Tag: package-preview-2024-03 and python
These settings apply only when `--tag=package-preview-2024-03 --python` is specified on the command line.
From f489d22ed80137239645a43d845ee4f226d745c1 Mon Sep 17 00:00:00 2001
From: srinivaskmsft <162558186+srinivaskmsft@users.noreply.github.com>
Date: Mon, 10 Jun 2024 23:47:47 -0700
Subject: [PATCH 147/343] Added Stable Version changes for Saved Query API
(#29094)
* Added saved query to a stable version
* Fixed the lint errors
* Fixed the semantic and lint errors
* Added example for 201
* Removued unused example
* Prettier check updated
* Added previous stable version api's as well
* added changes for previous stable version for graph query
* Added top level subscription id changes and added a new api which will fetch all the saved queries from subscription id
* Added swagger prettier checks
---
.../2019-04-01/examples/GraphQueryAdd.json | 49 ++
.../2019-04-01/examples/GraphQueryDelete.json | 14 +
.../2019-04-01/examples/GraphQueryGet.json | 27 +
.../2019-04-01/examples/GraphQueryList.json | 44 ++
.../2019-04-01/examples/GraphQueryUpdate.json | 35 ++
.../stable/2019-04-01/graphquery.json | 527 ++++++++++++++++++
.../2021-03-01/examples/GraphQueryAdd.json | 49 ++
.../2021-03-01/examples/GraphQueryDelete.json | 14 +
.../2021-03-01/examples/GraphQueryGet.json | 27 +
.../2021-03-01/examples/GraphQueryList.json | 44 ++
.../2021-03-01/examples/GraphQueryUpdate.json | 35 ++
.../stable/2021-03-01/graphquery.json | 527 ++++++++++++++++++
.../2022-10-01/examples/GraphQueryAdd.json | 49 ++
.../2022-10-01/examples/GraphQueryDelete.json | 14 +
.../2022-10-01/examples/GraphQueryGet.json | 27 +
.../2022-10-01/examples/GraphQueryList.json | 44 ++
.../2022-10-01/examples/GraphQueryUpdate.json | 35 ++
.../stable/2022-10-01/graphquery.json | 527 ++++++++++++++++++
.../resourcegraph/resource-manager/readme.md | 3 +
19 files changed, 2091 insertions(+)
create mode 100644 specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/GraphQueryAdd.json
create mode 100644 specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/GraphQueryDelete.json
create mode 100644 specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/GraphQueryGet.json
create mode 100644 specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/GraphQueryList.json
create mode 100644 specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/GraphQueryUpdate.json
create mode 100644 specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/graphquery.json
create mode 100644 specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/examples/GraphQueryAdd.json
create mode 100644 specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/examples/GraphQueryDelete.json
create mode 100644 specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/examples/GraphQueryGet.json
create mode 100644 specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/examples/GraphQueryList.json
create mode 100644 specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/examples/GraphQueryUpdate.json
create mode 100644 specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/graphquery.json
create mode 100644 specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/examples/GraphQueryAdd.json
create mode 100644 specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/examples/GraphQueryDelete.json
create mode 100644 specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/examples/GraphQueryGet.json
create mode 100644 specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/examples/GraphQueryList.json
create mode 100644 specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/examples/GraphQueryUpdate.json
create mode 100644 specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/graphquery.json
diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/GraphQueryAdd.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/GraphQueryAdd.json
new file mode 100644
index 000000000000..094d7e162777
--- /dev/null
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/GraphQueryAdd.json
@@ -0,0 +1,49 @@
+{
+ "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": "2019-04-01",
+ "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"
+ }
+ }
+ },
+ "201": {
+ "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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/GraphQueryDelete.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/GraphQueryDelete.json
new file mode 100644
index 000000000000..503950121340
--- /dev/null
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/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": "2019-04-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/GraphQueryGet.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/GraphQueryGet.json
new file mode 100644
index 000000000000..57c76c593180
--- /dev/null
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/GraphQueryGet.json
@@ -0,0 +1,27 @@
+{
+ "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": "2019-04-01"
+ },
+ "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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/GraphQueryList.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/GraphQueryList.json
new file mode 100644
index 000000000000..49492c548c2b
--- /dev/null
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/GraphQueryList.json
@@ -0,0 +1,44 @@
+{
+ "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": "2019-04-01"
+ },
+ "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"
+ }
+ },
+ {
+ "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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/GraphQueryUpdate.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/GraphQueryUpdate.json
new file mode 100644
index 000000000000..b7196dcbb4ec
--- /dev/null
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/examples/GraphQueryUpdate.json
@@ -0,0 +1,35 @@
+{
+ "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": "2019-04-01",
+ "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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/graphquery.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/graphquery.json
new file mode 100644
index 000000000000..3d385f2dcf5d
--- /dev/null
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2019-04-01/graphquery.json
@@ -0,0 +1,527 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Resource Graph Query",
+ "description": "Azure Resource Graph Query API Reference",
+ "version": "2019-04-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ResourceGraph/queries": {
+ "get": {
+ "tags": [
+ "GraphQuery"
+ ],
+ "description": "Get all graph queries defined within a specified subscription.",
+ "operationId": "GraphQuery_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$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": {
+ "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"
+ }
+ },
+ "201": {
+ "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": {
+ "type": "object",
+ "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": false,
+ "description": "The location of the resource"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource type"
+ },
+ "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."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object"
+ },
+ "GraphQueryListResult": {
+ "type": "object",
+ "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": {
+ "type": "object",
+ "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"
+ }
+ }
+ },
+ "GraphQueryProperties": {
+ "type": "object",
+ "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": {
+ "type": "object",
+ "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": {
+ "type": "object",
+ "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": {
+ "type": "object",
+ "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": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "object",
+ "description": "The error object.",
+ "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.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "GraphQueryResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Graph Query resource.",
+ "pattern": "^[^<>&:\\?]*$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/examples/GraphQueryAdd.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/examples/GraphQueryAdd.json
new file mode 100644
index 000000000000..798876689707
--- /dev/null
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/examples/GraphQueryAdd.json
@@ -0,0 +1,49 @@
+{
+ "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": "2021-03-01",
+ "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"
+ }
+ }
+ },
+ "201": {
+ "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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/examples/GraphQueryDelete.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/examples/GraphQueryDelete.json
new file mode 100644
index 000000000000..4a92ccb789e0
--- /dev/null
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/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": "2021-03-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/examples/GraphQueryGet.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/examples/GraphQueryGet.json
new file mode 100644
index 000000000000..2b4936f6b96c
--- /dev/null
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/examples/GraphQueryGet.json
@@ -0,0 +1,27 @@
+{
+ "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": "2021-03-01"
+ },
+ "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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/examples/GraphQueryList.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/examples/GraphQueryList.json
new file mode 100644
index 000000000000..226bdef1b024
--- /dev/null
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/examples/GraphQueryList.json
@@ -0,0 +1,44 @@
+{
+ "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": "2021-03-01"
+ },
+ "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"
+ }
+ },
+ {
+ "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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/examples/GraphQueryUpdate.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/examples/GraphQueryUpdate.json
new file mode 100644
index 000000000000..4f1d60fd45c6
--- /dev/null
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/examples/GraphQueryUpdate.json
@@ -0,0 +1,35 @@
+{
+ "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": "2021-03-01",
+ "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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/graphquery.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/graphquery.json
new file mode 100644
index 000000000000..82da104c4a53
--- /dev/null
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2021-03-01/graphquery.json
@@ -0,0 +1,527 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Resource Graph Query",
+ "description": "Azure Resource Graph Query API Reference",
+ "version": "2021-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}/providers/Microsoft.ResourceGraph/queries": {
+ "get": {
+ "tags": [
+ "GraphQuery"
+ ],
+ "description": "Get all graph queries defined within a specified subscription.",
+ "operationId": "GraphQuery_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$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": {
+ "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"
+ }
+ },
+ "201": {
+ "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": {
+ "type": "object",
+ "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": false,
+ "description": "The location of the resource"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource type"
+ },
+ "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."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object"
+ },
+ "GraphQueryListResult": {
+ "type": "object",
+ "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": {
+ "type": "object",
+ "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"
+ }
+ }
+ },
+ "GraphQueryProperties": {
+ "type": "object",
+ "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": {
+ "type": "object",
+ "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": {
+ "type": "object",
+ "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": {
+ "type": "object",
+ "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": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "object",
+ "description": "The error object.",
+ "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.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "GraphQueryResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Graph Query resource.",
+ "pattern": "^[^<>&:\\?]*$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/examples/GraphQueryAdd.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/examples/GraphQueryAdd.json
new file mode 100644
index 000000000000..00e73d050416
--- /dev/null
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/examples/GraphQueryAdd.json
@@ -0,0 +1,49 @@
+{
+ "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": "2022-10-01",
+ "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"
+ }
+ }
+ },
+ "201": {
+ "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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/examples/GraphQueryDelete.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/examples/GraphQueryDelete.json
new file mode 100644
index 000000000000..9fd52a66a536
--- /dev/null
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/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": "2022-10-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/examples/GraphQueryGet.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/examples/GraphQueryGet.json
new file mode 100644
index 000000000000..ed3a56b6e611
--- /dev/null
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/examples/GraphQueryGet.json
@@ -0,0 +1,27 @@
+{
+ "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": "2022-10-01"
+ },
+ "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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/examples/GraphQueryList.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/examples/GraphQueryList.json
new file mode 100644
index 000000000000..b837b661c920
--- /dev/null
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/examples/GraphQueryList.json
@@ -0,0 +1,44 @@
+{
+ "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": "2022-10-01"
+ },
+ "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"
+ }
+ },
+ {
+ "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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/examples/GraphQueryUpdate.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/examples/GraphQueryUpdate.json
new file mode 100644
index 000000000000..82408e6e6e6b
--- /dev/null
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/examples/GraphQueryUpdate.json
@@ -0,0 +1,35 @@
+{
+ "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": "2022-10-01",
+ "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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/graphquery.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/graphquery.json
new file mode 100644
index 000000000000..a6d1acd0455b
--- /dev/null
+++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/stable/2022-10-01/graphquery.json
@@ -0,0 +1,527 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Resource Graph Query",
+ "description": "Azure Resource Graph Query API Reference",
+ "version": "2022-10-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ResourceGraph/queries": {
+ "get": {
+ "tags": [
+ "GraphQuery"
+ ],
+ "description": "Get all graph queries defined within a specified subscription.",
+ "operationId": "GraphQuery_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$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": {
+ "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"
+ }
+ },
+ "201": {
+ "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": {
+ "type": "object",
+ "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": false,
+ "description": "The location of the resource"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource type"
+ },
+ "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."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object"
+ },
+ "GraphQueryListResult": {
+ "type": "object",
+ "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": {
+ "type": "object",
+ "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"
+ }
+ }
+ },
+ "GraphQueryProperties": {
+ "type": "object",
+ "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": {
+ "type": "object",
+ "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": {
+ "type": "object",
+ "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": {
+ "type": "object",
+ "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": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "object",
+ "description": "The error object.",
+ "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.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "GraphQueryResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Graph Query resource.",
+ "pattern": "^[^<>&:\\?]*$",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/resourcegraph/resource-manager/readme.md b/specification/resourcegraph/resource-manager/readme.md
index 44d2aec69757..791a98fafafa 100644
--- a/specification/resourcegraph/resource-manager/readme.md
+++ b/specification/resourcegraph/resource-manager/readme.md
@@ -60,6 +60,7 @@ These settings apply only when `--tag=package-2022-10` is specified on the comma
``` yaml $(tag) == 'package-2022-10'
input-file:
- Microsoft.ResourceGraph/stable/2022-10-01/resourcegraph.json
+ - Microsoft.ResourceGraph/stable/2022-10-01/graphquery.json
- Microsoft.ResourceGraph/preview/2021-06-01-preview/resourceshistory.json
- Microsoft.ResourceGraph/preview/2020-09-01-preview/resourcechanges.json
```
@@ -92,6 +93,7 @@ These settings apply only when `--tag=package-2021-03` is specified on the comma
``` yaml $(tag) == 'package-2021-03'
input-file:
- Microsoft.ResourceGraph/stable/2021-03-01/resourcegraph.json
+ - Microsoft.ResourceGraph/stable/2021-03-01/graphquery.json
```
### Tag: package-preview-2020-09
@@ -123,6 +125,7 @@ These settings apply only when `--tag=package-2019-04` is specified on the comma
``` yaml $(tag) == 'package-2019-04'
input-file:
- Microsoft.ResourceGraph/stable/2019-04-01/resourcegraph.json
+ - Microsoft.ResourceGraph/stable/2019-04-01/graphquery.json
```
### Tag: package-2018-09-preview
From a64415b52ed498416e9200802a307289e4606f37 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Au=C3=B0unn?=
Date: Tue, 11 Jun 2024 09:49:05 +0300
Subject: [PATCH 148/343] [NetAppFiles] Release netapp microsoft.net app 2023
11 01 preview (#29206)
* Copy files from stable/2023-11-01
Copied the files in a separate commit.
This allows reviewers to easily diff subsequent changes against the previous spec.
* Update version to preview/2023-11-01-preview
Updated the API version from stable/2023-11-01 to preview/2023-11-01-preview.
* Added tag for 2023-11-01-preview in readme file
* apply 2023-11-01
* pretty
* remove extra example
* spelling
* Accounts_GetChangeKeyVaultInformation
* Arm-id
* coolnessperiod minimum fix
* Add protocolTypes to volumePatchProperties
---
.../examples/Accounts_ChangeKeyVault.json | 26 +
.../examples/Accounts_CreateOrUpdate.json | 36 +
.../examples/Accounts_CreateOrUpdateAD.json | 81 +
.../examples/Accounts_Delete.json | 16 +
.../examples/Accounts_Get.json | 36 +
...Accounts_GetChangeKeyVaultInformation.json | 15 +
.../examples/Accounts_List.json | 24 +
.../Accounts_MigrateEncryptionKey.json | 20 +
.../examples/Accounts_RenewCredentials.json | 17 +
.../examples/Accounts_Update.json | 46 +
.../examples/BackupPolicies_Create.json | 51 +
.../examples/BackupPolicies_Delete.json | 18 +
.../examples/BackupPolicies_Get.json | 33 +
.../examples/BackupPolicies_List.json | 29 +
.../examples/BackupPolicies_Update.json | 70 +
.../examples/BackupVaults_Create.json | 36 +
.../examples/BackupVaults_Delete.json | 18 +
.../examples/BackupVaults_Get.json | 25 +
.../examples/BackupVaults_List.json | 28 +
.../examples/BackupVaults_Update.json | 48 +
.../examples/BackupsUnderAccount_Migrate.json | 19 +
.../BackupsUnderBackupVault_Create.json | 50 +
.../BackupsUnderBackupVault_Delete.json | 19 +
.../examples/BackupsUnderBackupVault_Get.json | 29 +
.../BackupsUnderBackupVault_List.json | 32 +
...upsUnderBackupVault_SingleFileRestore.json | 24 +
.../BackupsUnderBackupVault_Update.json | 49 +
.../examples/BackupsUnderVolume_Migrate.json | 21 +
.../examples/CheckFilePathAvailability.json | 18 +
.../examples/CheckNameAvailability.json | 19 +
.../examples/CheckQuotaAvailability.json | 19 +
.../examples/GroupIdListForLDAPUser.json | 29 +
.../examples/NetworkSiblingSet_Query.json | 42 +
.../examples/NetworkSiblingSet_Update.json | 49 +
.../examples/OperationList.json | 1565 +++
.../examples/Pools_CreateOrUpdate.json | 51 +
.../examples/Pools_Delete.json | 17 +
.../examples/Pools_Get.json | 28 +
.../examples/Pools_List.json | 30 +
.../examples/Pools_Update.json | 34 +
.../examples/QuotaLimits_Get.json | 21 +
.../examples/QuotaLimits_List.json | 87 +
.../examples/RegionInfo.json | 20 +
.../examples/RegionInfos_Get.json | 33 +
.../examples/RegionInfos_List.json | 37 +
.../examples/SnapshotPolicies_Create.json | 104 +
.../examples/SnapshotPolicies_Delete.json | 18 +
.../examples/SnapshotPolicies_Get.json | 44 +
.../examples/SnapshotPolicies_List.json | 47 +
.../SnapshotPolicies_ListVolumes.json | 36 +
.../examples/SnapshotPolicies_Update.json | 107 +
.../examples/Snapshots_Create.json | 31 +
.../examples/Snapshots_Delete.json | 20 +
.../examples/Snapshots_Get.json | 26 +
.../examples/Snapshots_List.json | 29 +
.../examples/Snapshots_SingleFileRestore.json | 25 +
.../examples/Snapshots_Update.json | 32 +
.../examples/Subvolumes_Create.json | 42 +
.../examples/Subvolumes_Delete.json | 20 +
.../examples/Subvolumes_Get.json | 24 +
.../examples/Subvolumes_List.json | 28 +
.../examples/Subvolumes_Metadata.json | 35 +
.../examples/Subvolumes_Update.json | 34 +
.../examples/VolumeGroups_Create_Oracle.json | 965 ++
.../examples/VolumeGroups_Create_SapHana.json | 406 +
.../examples/VolumeGroups_Delete.json | 18 +
.../examples/VolumeGroups_Get_Oracle.json | 510 +
.../examples/VolumeGroups_Get_SapHana.json | 220 +
.../examples/VolumeGroups_List_Oracle.json | 31 +
.../examples/VolumeGroups_List_SapHana.json | 31 +
.../examples/VolumeQuotaRules_Create.json | 52 +
.../examples/VolumeQuotaRules_Delete.json | 20 +
.../examples/VolumeQuotaRules_Get.json | 27 +
.../examples/VolumeQuotaRules_List.json | 31 +
.../examples/VolumeQuotaRules_Update.json | 37 +
.../Volumes_AuthorizeReplication.json | 21 +
.../examples/Volumes_BreakFileLocks.json | 22 +
.../examples/Volumes_BreakReplication.json | 21 +
...umes_CreateOnPremMigrationReplication.json | 23 +
.../examples/Volumes_CreateOrUpdate.json | 58 +
.../examples/Volumes_Delete.json | 18 +
.../examples/Volumes_DeleteReplication.json | 22 +
.../Volumes_FinalizeOnPremMigration.json | 17 +
.../examples/Volumes_FinalizeRelocation.json | 22 +
.../examples/Volumes_Get.json | 32 +
.../examples/Volumes_LatestBackupStatus.json | 24 +
.../examples/Volumes_LatestRestoreStatus.json | 22 +
.../examples/Volumes_List.json | 35 +
.../examples/Volumes_ListReplications.json | 27 +
...Volumes_PeerClusterForOnPremMigration.json | 33 +
.../Volumes_PerformReplicationTransfer.json | 21 +
.../examples/Volumes_PoolChange.json | 21 +
.../Volumes_PopulateAvailabilityZones.json | 37 +
.../Volumes_ReInitializeReplication.json | 22 +
.../Volumes_ReestablishReplication.json | 20 +
.../examples/Volumes_Relocate.json | 19 +
.../examples/Volumes_ReplicationStatus.json | 25 +
.../examples/Volumes_ResetCifsPassword.json | 21 +
.../examples/Volumes_ResyncReplication.json | 22 +
.../examples/Volumes_Revert.json | 21 +
.../examples/Volumes_RevertRelocation.json | 22 +
.../examples/Volumes_SplitClone.json | 17 +
.../examples/Volumes_Update.json | 43 +
.../preview/2023-11-01-preview/netapp.json | 10459 ++++++++++++++++
.../stable/2023-11-01/netapp.json | 13 +-
.../netapp/resource-manager/readme.md | 13 +-
106 files changed, 17255 insertions(+), 3 deletions(-)
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_ChangeKeyVault.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_CreateOrUpdate.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_CreateOrUpdateAD.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_Delete.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_Get.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_GetChangeKeyVaultInformation.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_List.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_MigrateEncryptionKey.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_RenewCredentials.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_Update.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupPolicies_Create.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupPolicies_Delete.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupPolicies_Get.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupPolicies_List.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupPolicies_Update.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupVaults_Create.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupVaults_Delete.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupVaults_Get.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupVaults_List.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupVaults_Update.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderAccount_Migrate.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_Create.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_Delete.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_Get.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_List.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_SingleFileRestore.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_Update.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderVolume_Migrate.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/CheckFilePathAvailability.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/CheckNameAvailability.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/CheckQuotaAvailability.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/GroupIdListForLDAPUser.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/NetworkSiblingSet_Query.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/NetworkSiblingSet_Update.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/OperationList.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Pools_CreateOrUpdate.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Pools_Delete.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Pools_Get.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Pools_List.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Pools_Update.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/QuotaLimits_Get.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/QuotaLimits_List.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/RegionInfo.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/RegionInfos_Get.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/RegionInfos_List.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_Create.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_Delete.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_Get.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_List.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_ListVolumes.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_Update.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_Create.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_Delete.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_Get.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_List.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_SingleFileRestore.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_Update.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_Create.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_Delete.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_Get.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_List.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_Metadata.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_Update.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_Create_Oracle.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_Create_SapHana.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_Delete.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_Get_Oracle.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_Get_SapHana.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_List_Oracle.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_List_SapHana.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeQuotaRules_Create.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeQuotaRules_Delete.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeQuotaRules_Get.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeQuotaRules_List.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeQuotaRules_Update.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_AuthorizeReplication.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_BreakFileLocks.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_BreakReplication.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_CreateOnPremMigrationReplication.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_CreateOrUpdate.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_Delete.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_DeleteReplication.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_FinalizeOnPremMigration.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_FinalizeRelocation.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_Get.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_LatestBackupStatus.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_LatestRestoreStatus.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_List.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ListReplications.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_PeerClusterForOnPremMigration.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_PerformReplicationTransfer.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_PoolChange.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_PopulateAvailabilityZones.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ReInitializeReplication.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ReestablishReplication.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_Relocate.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ReplicationStatus.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ResetCifsPassword.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ResyncReplication.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_Revert.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_RevertRelocation.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_SplitClone.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_Update.json
create mode 100644 specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/netapp.json
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_ChangeKeyVault.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_ChangeKeyVault.json
new file mode 100644
index 000000000000..7da7d08c15f2
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_ChangeKeyVault.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "keyVaultUri": "https://my-key-vault.managedhsm.azure.net",
+ "keyName": "rsakey",
+ "keyVaultResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.KeyVault/managedHSMs/my-hsm",
+ "keyVaultPrivateEndpoints": [
+ {
+ "virtualNetworkId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "privateEndpointId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.Network/privateEndpoints/privip1"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/a0216c17-f9d6-4b99-9faf-9ebd4883d0e4?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_CreateOrUpdate.json
new file mode 100644
index 000000000000..82b653327183
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_CreateOrUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1",
+ "name": "account1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1",
+ "name": "account1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_CreateOrUpdateAD.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_CreateOrUpdateAD.json
new file mode 100644
index 000000000000..b06b4f198982
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_CreateOrUpdateAD.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "activeDirectories": [
+ {
+ "site": "SiteName",
+ "username": "ad_user_name",
+ "password": "ad_password",
+ "domain": "10.10.10.3",
+ "dns": "10.10.10.3",
+ "smbServerName": "SMBServer",
+ "organizationalUnit": "OU=Engineering",
+ "aesEncryption": true,
+ "ldapSigning": false,
+ "ldapOverTLS": false
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1",
+ "name": "account1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "activeDirectories": [
+ {
+ "activeDirectoryId": "503d38f9-f17c-f92d-ef26-b0d46374534b",
+ "site": "SiteName",
+ "username": "ad_user_name",
+ "password": null,
+ "domain": "10.10.10.3",
+ "dns": "10.10.10.3",
+ "smbServerName": "SMBServer",
+ "organizationalUnit": "OU=Engineering",
+ "aesEncryption": true,
+ "ldapSigning": false,
+ "ldapOverTLS": false
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1",
+ "name": "account1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Creating",
+ "activeDirectories": [
+ {
+ "activeDirectoryId": "503d38f9-f17c-f92d-ef26-b0d46374534b",
+ "site": "SiteName",
+ "username": "ad_user_name",
+ "password": null,
+ "domain": "10.10.10.3",
+ "dns": "10.10.10.3",
+ "smbServerName": "SMBServer",
+ "organizationalUnit": "OU=Engineering",
+ "aesEncryption": true,
+ "ldapSigning": false,
+ "ldapOverTLS": false
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_Delete.json
new file mode 100644
index 000000000000..6a4a6bb0385a
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_Delete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_Get.json
new file mode 100644
index 000000000000..3309f22b31fa
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_Get.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1",
+ "name": "account1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "activeDirectories": [
+ {
+ "site": "SiteName",
+ "activeDirectoryId": "02da3711-6c58-2d64-098a-e3af7afaf936",
+ "username": "ad_user_name",
+ "domain": "10.10.10.3",
+ "dns": "10.10.10.3",
+ "status": "InUse",
+ "smbServerName": "SMBServer",
+ "organizationalUnit": "OU=Engineering",
+ "statusDetails": "Status Details",
+ "aesEncryption": true,
+ "ldapSigning": true
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_GetChangeKeyVaultInformation.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_GetChangeKeyVaultInformation.json
new file mode 100644
index 000000000000..2992adc58f00
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_GetChangeKeyVaultInformation.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_List.json
new file mode 100644
index 000000000000..19fd363b0d43
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_List.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1",
+ "name": "account1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_MigrateEncryptionKey.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_MigrateEncryptionKey.json
new file mode 100644
index 000000000000..edc9aae29c8d
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_MigrateEncryptionKey.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "virtualNetworkId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "privateEndpointId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.Network/privateEndpoints/privip1"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/a0216c17-f9d6-4b99-9faf-9ebd4883d0e4?api-version=2023-11-01-preview&operationResultResponseType=Location",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/a0216c17-f9d6-4b99-9faf-9ebd4883d0e4?api-version=2023-11-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_RenewCredentials.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_RenewCredentials.json
new file mode 100644
index 000000000000..71e2c6c41695
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_RenewCredentials.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2023-11-01-preview",
+ "body": {}
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/a0216c17-f9d6-4b99-9faf-9ebd4883d0e4?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_Update.json
new file mode 100644
index 000000000000..d1e98f49226c
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Accounts_Update.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "tags": {
+ "Tag1": "Value1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1",
+ "name": "account1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/a0216c17-f9d6-4b99-9faf-9ebd4883d0e4?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ },
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1",
+ "name": "account1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "location": "eastus",
+ "tags": {
+ "Tag1": "Value1"
+ },
+ "properties": {
+ "provisioningState": "Patching",
+ "encryption": {
+ "keySource": "Microsoft.NetApp"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupPolicies_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupPolicies_Create.json
new file mode 100644
index 000000000000..1bf8125e63ea
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupPolicies_Create.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "backupPolicyName": "backupPolicyName",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "westus",
+ "properties": {
+ "dailyBackupsToKeep": 10,
+ "weeklyBackupsToKeep": 10,
+ "monthlyBackupsToKeep": 10,
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolicies/backupPolicyName",
+ "name": "account1/backupPolicyName",
+ "type": "Microsoft.NetApp/netAppAccounts/backupPolicies",
+ "location": "westus",
+ "properties": {
+ "dailyBackupsToKeep": 10,
+ "weeklyBackupsToKeep": 10,
+ "monthlyBackupsToKeep": 10,
+ "enabled": true,
+ "provisioningState": "creating"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolicies/backupPolicyName",
+ "name": "account1/backupPolicyName",
+ "type": "Microsoft.NetApp/netAppAccounts/backupPolicies",
+ "location": "westus",
+ "properties": {
+ "dailyBackupsToKeep": 10,
+ "weeklyBackupsToKeep": 10,
+ "monthlyBackupsToKeep": 10,
+ "enabled": true,
+ "provisioningState": "creating"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupPolicies_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupPolicies_Delete.json
new file mode 100644
index 000000000000..b48b357d3224
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupPolicies_Delete.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "backupPolicyName": "backupPolicyName",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "204": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ },
+ "200": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupPolicies_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupPolicies_Get.json
new file mode 100644
index 000000000000..36e01388fad6
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupPolicies_Get.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "backupPolicyName": "backupPolicyName",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName",
+ "name": "account1/backupPolicyName",
+ "type": "Microsoft.NetApp/netAppAccounts/backupPolicies",
+ "location": "eastus",
+ "properties": {
+ "dailyBackupsToKeep": 10,
+ "weeklyBackupsToKeep": 10,
+ "monthlyBackupsToKeep": 10,
+ "volumesAssigned": 0,
+ "enabled": true,
+ "volumeBackups": [
+ {
+ "volumeName": "volume 1",
+ "backupsCount": 5,
+ "policyEnabled": true
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupPolicies_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupPolicies_List.json
new file mode 100644
index 000000000000..1b03493bfb79
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupPolicies_List.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicy1",
+ "name": "account1/backupPolicy1",
+ "type": "Microsoft.NetApp/netAppAccounts/backupPolicies",
+ "location": "eastus",
+ "properties": {
+ "dailyBackupsToKeep": 10,
+ "weeklyBackupsToKeep": 10,
+ "monthlyBackupsToKeep": 10,
+ "volumesAssigned": 0,
+ "enabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupPolicies_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupPolicies_Update.json
new file mode 100644
index 000000000000..22720713a611
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupPolicies_Update.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "backupPolicyName": "backupPolicyName",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "westus",
+ "properties": {
+ "dailyBackupsToKeep": 5,
+ "weeklyBackupsToKeep": 10,
+ "monthlyBackupsToKeep": 10,
+ "enabled": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName",
+ "name": "account1/backupPolicyName",
+ "type": "Microsoft.NetApp/netAppAccounts/backupPolicies",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "dailyBackupsToKeep": 5,
+ "weeklyBackupsToKeep": 10,
+ "monthlyBackupsToKeep": 10,
+ "volumesAssigned": 1,
+ "enabled": false,
+ "volumeBackups": [
+ {
+ "volumeName": "volume 1",
+ "backupsCount": 5,
+ "policyEnabled": true
+ }
+ ]
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/18c499e1-2a3c-441c-950e-4b456c991c18?api-version=2023-11-01-preview&operationResultResponseType=Location",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/18c499e1-2a3c-441c-950e-4b456c991c18?api-version=2023-11-01-preview"
+ },
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName",
+ "name": "account1/backupPolicyName",
+ "type": "Microsoft.NetApp/netAppAccounts/backupPolicies",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "dailyBackupsToKeep": 5,
+ "weeklyBackupsToKeep": 10,
+ "monthlyBackupsToKeep": 10,
+ "volumesAssigned": 1,
+ "enabled": false,
+ "volumeBackups": [
+ {
+ "volumeName": "volume 1",
+ "backupsCount": 5,
+ "policyEnabled": true
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupVaults_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupVaults_Create.json
new file mode 100644
index 000000000000..b12b67042479
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupVaults_Create.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "backupVaultName": "backupVault1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "eastus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupVaults/backupVault1",
+ "name": "account1/backupVault1",
+ "type": "Microsoft.NetApp/netAppAccounts/backupVaults",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupVaults/backupVault1",
+ "name": "account1/backupVault1",
+ "type": "Microsoft.NetApp/netAppAccounts/backupVaults",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupVaults_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupVaults_Delete.json
new file mode 100644
index 000000000000..9c9c11a25369
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupVaults_Delete.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "account1",
+ "backupVaultName": "backupVault1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "204": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupVaults_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupVaults_Get.json
new file mode 100644
index 000000000000..7b4c120ddbd8
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupVaults_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "backupVaultName": "backupVault1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupVaults/backupVault1",
+ "name": "account1/backupVault1",
+ "type": "Microsoft.NetApp/netAppAccounts/backupVaults",
+ "location": "eastus",
+ "tags": {
+ "Tag1": "Value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupVaults_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupVaults_List.json
new file mode 100644
index 000000000000..e3c26979f0e4
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupVaults_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupVaults/backupVault1",
+ "name": "account1/backupVault1",
+ "type": "Microsoft.NetApp/netAppAccounts/backupVaults",
+ "location": "eastus",
+ "tags": {
+ "Tag1": "Value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupVaults_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupVaults_Update.json
new file mode 100644
index 000000000000..f71da4718454
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupVaults_Update.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "backupVaultName": "backupVault1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "tags": {
+ "Tag1": "Value1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupVaults/backupVault1",
+ "name": "account1/backupVault1",
+ "type": "Microsoft.NetApp/netAppAccounts/backupVaults",
+ "location": "eastus",
+ "tags": {
+ "Tag1": "Value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/18c499e1-2a3c-441c-950e-4b456c991c18?api-version=2023-11-01-preview&operationResultResponseType=Location",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview"
+ },
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupVaults/backupVault1",
+ "name": "account1/backupVault1",
+ "type": "Microsoft.NetApp/netAppAccounts/backupVaults",
+ "location": "eastus",
+ "tags": {
+ "Tag1": "Value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderAccount_Migrate.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderAccount_Migrate.json
new file mode 100644
index 000000000000..82e8f575d23b
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderAccount_Migrate.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "backupVaultId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupVaults/backupVault1"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_Create.json
new file mode 100644
index 000000000000..0838cde7cdf1
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_Create.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "backupVaultName": "backupVault1",
+ "backupName": "backup1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "properties": {
+ "label": "myLabel",
+ "volumeResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPool/pool1/volumes/volume1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupVaults/backupVault1/backups/backup1",
+ "name": "account1/backupVault1/backup1",
+ "type": "Microsoft.NetApp/netAppAccounts/backupVaults/backups",
+ "properties": {
+ "creationDate": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded",
+ "size": 10011,
+ "label": "myLabel",
+ "backupType": "Manual",
+ "snapshotName": "backup1",
+ "volumeResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPool/pool1/volumes/volume1"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupVaults/backupVault1/backups/backup1",
+ "name": "account1/backupVault1/backup1",
+ "type": "Microsoft.NetApp/netAppAccounts/backupVaults/backups",
+ "properties": {
+ "creationDate": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded",
+ "size": 10011,
+ "label": "myLabel",
+ "backupType": "Manual",
+ "snapshotName": "backup1",
+ "volumeResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPool/pool1/volumes/volume1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_Delete.json
new file mode 100644
index 000000000000..9c5c89910e80
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_Delete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "account1",
+ "backupVaultName": "backupVault1",
+ "backupName": "backup1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "204": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_Get.json
new file mode 100644
index 000000000000..6a1b874e504d
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_Get.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "backupVaultName": "backupVault1",
+ "backupName": "backup1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupVaults/backupVault1/backups/backup1",
+ "name": "account1/backupVault1/backup1",
+ "type": "Microsoft.NetApp/netAppAccounts/backupVaults/backups",
+ "properties": {
+ "creationDate": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded",
+ "size": 10011,
+ "label": "myLabel",
+ "backupType": "Manual",
+ "snapshotName": "backup1",
+ "volumeResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPool/pool1/volumes/volume1",
+ "backupPolicyResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolicies/policy1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_List.json
new file mode 100644
index 000000000000..a244069c5e7f
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_List.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "backupVaultName": "backupVault1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupVaults/backupVault1/backups/backup1",
+ "name": "account1/backupVault1/backup1",
+ "type": "Microsoft.NetApp/netAppAccounts/backupVaults/backups",
+ "properties": {
+ "creationDate": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded",
+ "size": 10011,
+ "label": "myLabel",
+ "backupType": "Manual",
+ "snapshotName": "backup1",
+ "volumeResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPool/pool1/volumes/volume1",
+ "backupPolicyResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolicies/policy1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_SingleFileRestore.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_SingleFileRestore.json
new file mode 100644
index 000000000000..1b369d0a91a6
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_SingleFileRestore.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "backupVaultName": "backupVault1",
+ "backupName": "backup1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "fileList": [
+ "/dir1/customer1.db",
+ "/dir1/customer2.db"
+ ],
+ "destinationVolumeId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_Update.json
new file mode 100644
index 000000000000..fce06f01ee44
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderBackupVault_Update.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "backupVaultName": "backupVault1",
+ "backupName": "backup1",
+ "api-version": "2023-11-01-preview",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupVaults/backupVault1/backups/backup1",
+ "name": "account1/backupVault1/backup1",
+ "type": "Microsoft.NetApp/netAppAccounts/backupVaults/backups",
+ "properties": {
+ "creationDate": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded",
+ "size": 10011,
+ "label": "myLabel",
+ "backupType": "Manual",
+ "snapshotName": "backup1",
+ "volumeResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPool/pool1/volumes/volume1"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/18c499e1-2a3c-441c-950e-4b456c991c18?api-version=2023-11-01-preview&operationResultResponseType=Location",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/18c499e1-2a3c-441c-950e-4b456c991c18?api-version=2023-11-01-preview"
+ },
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupVaults/backupVault1/backups/backup1",
+ "name": "account1/backupVault1/backup1",
+ "type": "Microsoft.NetApp/netAppAccounts/backupVaults/backups",
+ "properties": {
+ "creationDate": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded",
+ "size": 10011,
+ "label": "myLabel",
+ "backupType": "Manual",
+ "snapshotName": "backup1",
+ "volumeResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPool/pool1/volumes/volume1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderVolume_Migrate.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderVolume_Migrate.json
new file mode 100644
index 000000000000..6d3f06a9c5e4
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/BackupsUnderVolume_Migrate.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "backupVaultId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupVaults/backupVault1"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/CheckFilePathAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/CheckFilePathAvailability.json
new file mode 100644
index 000000000000..165d313741d3
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/CheckFilePathAvailability.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "location": "eastus",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "name": "my-exact-filepth",
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/CheckNameAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/CheckNameAvailability.json
new file mode 100644
index 000000000000..a3ad262608d8
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/CheckNameAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "location": "eastus",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "name": "accName",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "resourceGroup": "myRG"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/CheckQuotaAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/CheckQuotaAvailability.json
new file mode 100644
index 000000000000..f455725cae3e
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/CheckQuotaAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "location": "eastus",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "name": "resource1",
+ "type": "Microsoft.NetApp/netAppAccounts",
+ "resourceGroup": "myRG"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/GroupIdListForLDAPUser.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/GroupIdListForLDAPUser.json
new file mode 100644
index 000000000000..8bd1ca9bae73
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/GroupIdListForLDAPUser.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "username": "user1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "groupIdsForLdapUser": [
+ "123",
+ "224"
+ ]
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/NetworkSiblingSet_Query.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/NetworkSiblingSet_Query.json
new file mode 100644
index 000000000000..b44a2ae569b7
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/NetworkSiblingSet_Query.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "location": "eastus",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "networkSiblingSetId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/testSubnet"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "networkSiblingSetId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/testSubnet",
+ "networkSiblingSetStateId": "12345_44420.8001578125",
+ "networkFeatures": "Standard",
+ "provisioningState": "Succeeded",
+ "nicInfoList": [
+ {
+ "ipAddress": "1.2.3.4",
+ "volumeResourceIds": [
+ "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume10",
+ "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume11"
+ ]
+ },
+ {
+ "ipAddress": "1.2.3.5",
+ "volumeResourceIds": [
+ "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account2/capacityPools/pool2/volumes/volume20",
+ "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account2/capacityPools/pool2/volumes/volume21"
+ ]
+ },
+ {
+ "ipAddress": "1.2.3.9",
+ "volumeResourceIds": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/NetworkSiblingSet_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/NetworkSiblingSet_Update.json
new file mode 100644
index 000000000000..ba586c147bb7
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/NetworkSiblingSet_Update.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "location": "eastus",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "networkSiblingSetId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/testSubnet",
+ "networkSiblingSetStateId": "12345_44420.8001578125",
+ "networkFeatures": "Standard"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "networkSiblingSetId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/testSubnet",
+ "networkSiblingSetStateId": "12345_44420.8001578125",
+ "networkFeatures": "Standard",
+ "provisioningState": "Succeeded",
+ "nicInfoList": [
+ {
+ "ipAddress": "1.2.3.4",
+ "volumeResourceIds": [
+ "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume10",
+ "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume11"
+ ]
+ },
+ {
+ "ipAddress": "1.2.3.5",
+ "volumeResourceIds": [
+ "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account2/capacityPools/pool2/volumes/volume20",
+ "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account2/capacityPools/pool2/volumes/volume21"
+ ]
+ },
+ {
+ "ipAddress": "1.2.3.9",
+ "volumeResourceIds": []
+ }
+ ]
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/18c499e1-2a3c-441c-950e-4b456c991c18?api-version=2023-01-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/OperationList.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/OperationList.json
new file mode 100644
index 000000000000..36a671f86cf6
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/OperationList.json
@@ -0,0 +1,1565 @@
+{
+ "parameters": {
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.NetApp/register/action",
+ "display": {
+ "provider": "Microsoft.NetApp",
+ "resource": "Subscription",
+ "operation": "Subscription Registration Action",
+ "description": "Subscription Registration Action"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type",
+ "operation": "Read volume resource",
+ "description": "Reads a volume resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/write",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type",
+ "operation": "Write volume resource",
+ "description": "Writes a volume resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/delete",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type",
+ "operation": "Delete volume resource",
+ "description": "Deletes a volume resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/Revert/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type",
+ "operation": "Revert volume resource",
+ "description": "Revert volume to specific snapshot"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/BreakReplication/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type",
+ "operation": "Break volume replication resource",
+ "description": "Break volume replication relations"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ReplicationStatus/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type",
+ "operation": "Read Volume Replication Status.",
+ "description": "Reads the statuses of the Volume Replication."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ListReplications/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ReInitializeReplication/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type",
+ "operation": "Re-Initialize replication",
+ "description": "Attempts to re-initialize an uninitialized replication"
+ },
+ "origin": "user,system"
+ },
+ {
+ "properties": {
+ "serviceSpecification": {
+ "metricSpecifications": [
+ {
+ "name": "AverageReadLatency",
+ "displayName": "Average read latency",
+ "displayDescription": "Average read latency in milliseconds per operation",
+ "unit": "MilliSeconds",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "AverageReadLatency",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "AverageWriteLatency",
+ "displayName": "Average write latency",
+ "displayDescription": "Average write latency in milliseconds per operation",
+ "unit": "MilliSeconds",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "AverageWriteLatency",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "VolumeLogicalSize",
+ "displayName": "Volume Consumed Size",
+ "displayDescription": "Logical size of the volume (used bytes)",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "VolumeLogicalSize",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "VolumeSnapshotSize",
+ "displayName": "Volume snapshot size",
+ "displayDescription": "Size of all snapshots in volume",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "VolumeSnapshotSize",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "ReadIops",
+ "displayName": "Read iops",
+ "displayDescription": "Read In/out operations per second",
+ "unit": "CountPerSecond",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "ReadIops",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "WriteIops",
+ "displayName": "Write iops",
+ "displayDescription": "Write In/out operations per second",
+ "unit": "CountPerSecond",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "WriteIops",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "VolumeAllocatedSize",
+ "displayName": "Volume allocated size",
+ "displayDescription": "The provisioned size of a volume",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "VolumeAllocatedSize",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "VolumeCoolTierSize",
+ "displayName": "Volume cool tier size",
+ "displayDescription": "Volume Footprint for Cool Tier",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "VolumeCoolTierSize",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "VolumeCoolTierDataReadSize",
+ "displayName": "Volume cool tier data read size",
+ "displayDescription": "Data read in using GET per volume",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "VolumeCoolTierDataReadSize",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "VolumeCoolTierDataWriteSize",
+ "displayName": "Volume cool tier data write size",
+ "displayDescription": "Data tiered out using PUT per volume",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "VolumeCoolTierDataWriteSize",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "XregionReplicationLastTransferDuration",
+ "displayName": "Volume replication last transfer duration",
+ "displayDescription": "The amount of time in seconds it took for the last transfer to complete.",
+ "unit": "Seconds",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "XregionReplicationLastTransferDuration",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "XregionReplicationLastTransferSize",
+ "displayName": "Volume replication last transfer size",
+ "displayDescription": "The total number of bytes transferred as part of the last transfer.",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "XregionReplicationLastTransferSize",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "XregionReplicationHealthy",
+ "displayName": "Is volume replication status healthy",
+ "displayDescription": "Condition of the relationship, 1 or 0.",
+ "unit": "Count",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "XregionReplicationHealthy",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "XregionReplicationLagTime",
+ "displayName": "Volume replication lag time",
+ "displayDescription": "The amount of time in seconds by which the data on the mirror lags behind the source.",
+ "unit": "Seconds",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "XregionReplicationLagTime",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "XregionReplicationTotalTransferBytes",
+ "displayName": "Volume replication total transfer",
+ "displayDescription": "Cumulative bytes transferred for the relationship.",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "XregionReplicationTotalTransferBytes",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "XregionReplicationRelationshipProgress",
+ "displayName": "Volume replication progress",
+ "displayDescription": "Total amount of data transferred for the current transfer operation.",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "XregionReplicationRelationshipProgress",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "XregionReplicationRelationshipTransferring",
+ "displayName": "Is volume replication transferring",
+ "displayDescription": "Whether the status of the Volume Replication is 'transferring'.",
+ "unit": "Count",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "XregionReplicationRelationshipTransferring",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "CbsVolumeLogicalBackupBytes",
+ "displayName": "Volume Backup Bytes",
+ "displayDescription": "Total bytes backed up for this Volume.",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "CbsVolumeLogicalBackupBytes",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "CbsVolumeProtected",
+ "displayName": "Is Volume Backup Enabled",
+ "displayDescription": "Is backup enabled for the volume? 1 if yes, 0 if no.",
+ "unit": "Count",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "CbsVolumeProtected",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "CbsVolumeBackupActive",
+ "displayName": "Is Volume Backup suspended",
+ "displayDescription": "Is the backup policy suspended for the volume? 0 if yes, 1 if no.",
+ "unit": "Count",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "CbsVolumeBackupActive",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "CbsVolumeOperationTransferredBytes",
+ "displayName": "Volume Backup Last Transferred Bytes",
+ "displayDescription": "Total bytes transferred for last backup or restore operation.",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "CbsVolumeOperationTransferredBytes",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "CbsVolumeOperationComplete",
+ "displayName": "Is Volume Backup Operation Complete",
+ "displayDescription": "Did the last volume backup or restore operation complete successfully? 1 if yes, 0 if no.",
+ "unit": "Count",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "CbsVolumeOperationComplete",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "VolumeConsumedSizePercentage",
+ "displayName": "Percentage Volume Consumed Size",
+ "displayDescription": "The percentage of the volume consumed including snapshots.",
+ "unit": "Percent",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "VolumeConsumedSizePercentage",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "OtherThroughput",
+ "displayName": "Other throughput",
+ "displayDescription": "Other throughput (that is not read or write) in bytes per second",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "OtherThroughput",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "ReadThroughput",
+ "displayName": "Read throughput",
+ "displayDescription": "Read throughput in bytes per second",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "ReadThroughput",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "TotalThroughput",
+ "displayName": "Total throughput",
+ "displayDescription": "Sum of all throughput in bytes per second",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "TotalThroughput",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "WriteThroughput",
+ "displayName": "Write throughput",
+ "displayDescription": "Write throughput in bytes per second",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "WriteThroughput",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ }
+ ]
+ }
+ },
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/providers/Microsoft.Insights/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type",
+ "operation": "Read volume metric definitions.",
+ "description": "Gets the available metrics for Volume resource."
+ },
+ "origin": "system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/providers/Microsoft.Insights/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type",
+ "operation": "Read diagnostic setting.",
+ "description": "Gets the diagnostic setting for the resource."
+ },
+ "origin": "system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/providers/Microsoft.Insights/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type",
+ "operation": "Write diagnostic setting.",
+ "description": "Creates or updates the diagnostic setting for the resource."
+ },
+ "origin": "system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/AuthorizeReplication/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type",
+ "operation": "Authorize Replication",
+ "description": "Authorize the source volume replication"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ResyncReplication/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type",
+ "operation": "Resync Replication",
+ "description": "Resync the replication on the destination volume"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/DeleteReplication/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type",
+ "operation": "Delete Replication",
+ "description": "Delete the replication on the destination volume"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ReplicationStatus/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type",
+ "operation": "Read Volume Replication Status.",
+ "description": "Reads the statuses of the Volume Replication."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/MountTargets/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type",
+ "operation": "Read mount target resource",
+ "description": "Reads a mount target resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/BackupStatus/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/RestoreStatus/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/PoolChange/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type",
+ "operation": "Change pool for volume",
+ "description": "Moves volume to another pool."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/RelocateVolume/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type",
+ "operation": "Relocate volume to a new stamp.",
+ "description": "Relocate volume to a new stamp."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/FinalizeRelocation/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type",
+ "operation": "Finalize relocation of volume.",
+ "description": "Finalize relocation by cleaning up the old volume."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/RevertRelocation/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type",
+ "operation": "Revert the relocation of volume.",
+ "description": "Revert the relocation and revert back to the old volume."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Accounts resource type",
+ "operation": "Read account resource",
+ "description": "Reads an account resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/write",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Accounts resource type",
+ "operation": "Write account resource",
+ "description": "Writes an account resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/delete",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Accounts resource type",
+ "operation": "Delete account resource",
+ "description": "Deletes a account resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/RenewCredentials/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Accounts resource type",
+ "operation": "Renew MSI credentials, if possible.",
+ "description": "Renews MSI credentials of account, if account has MSI credentials that are due for renewal."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Pools resource type",
+ "operation": "Read pool resource",
+ "description": "Reads a pool resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/write",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Pools resource type",
+ "operation": "Write pool resource",
+ "description": "Writes a pool resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/delete",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Pools resource type",
+ "operation": "Delete pool resource",
+ "description": "Deletes a pool resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "properties": {
+ "serviceSpecification": {
+ "metricSpecifications": [
+ {
+ "name": "VolumePoolAllocatedUsed",
+ "displayName": "Pool Allocated To Volume Size",
+ "displayDescription": "Allocated used size of the pool",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "VolumePoolAllocatedUsed",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "VolumePoolTotalLogicalSize",
+ "displayName": "Pool Consumed Size",
+ "displayDescription": "Sum of the logical size of all the volumes belonging to the pool",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average",
+ "Total"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "VolumePoolTotalLogicalSize",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "VolumePoolAllocatedSize",
+ "displayName": "Pool Allocated Size",
+ "displayDescription": "Provisioned size of this pool",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average",
+ "Total"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "VolumePoolAllocatedSize",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "VolumePoolTotalSnapshotSize",
+ "displayName": "Total Snapshot size for the pool",
+ "displayDescription": "Sum of snapshot size of all volumes in this pool",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "VolumePoolTotalSnapshotSize",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "VolumePoolProvisionedThroughput",
+ "displayName": "Provisioned throughput for the pool",
+ "displayDescription": "Provisioned throughput of this pool",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "VolumePoolProvisionedThroughput",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ },
+ {
+ "name": "VolumePoolAllocatedToVolumeThroughput",
+ "displayName": "Pool allocated throughput",
+ "displayDescription": "Sum of the throughput of all the volumes belonging to the pool",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "supportedAggregationTypes": [
+ "Average"
+ ],
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "P1D"
+ ],
+ "internalMetricName": "VolumePoolAllocatedToVolumeThroughput",
+ "enableRegionalMdmAccount": true,
+ "sourceMdmAccount": "MicrosoftNetAppShoebox2",
+ "sourceMdmNamespace": "NetAppUsageAndMetrics",
+ "fillGapWithZero": false,
+ "isInternal": false,
+ "dimensions": []
+ }
+ ]
+ }
+ },
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/providers/Microsoft.Insights/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Pools resource type",
+ "operation": "Read volume metric definitions.",
+ "description": "Gets the available metrics for Volume resource."
+ },
+ "origin": "system"
+ },
+ {
+ "properties": {
+ "serviceSpecification": {
+ "logSpecifications": [
+ {
+ "name": "Autoscale",
+ "displayName": "Capacity Pool Autoscaled"
+ }
+ ]
+ }
+ },
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/providers/Microsoft.Insights/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Pools resource type",
+ "operation": "Read log definitions.",
+ "description": "Gets the log definitions for the resource."
+ },
+ "origin": "system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/providers/Microsoft.Insights/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Pools resource type",
+ "operation": "Read diagnostic setting.",
+ "description": "Gets the diagnostic setting for the resource."
+ },
+ "origin": "system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/providers/Microsoft.Insights/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Pools resource type",
+ "operation": "Write diagnostic setting.",
+ "description": "Creates or updates the diagnostic setting for the resource."
+ },
+ "origin": "system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Snapshots resource type",
+ "operation": "Read snapshot resource",
+ "description": "Reads a snapshot resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/write",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Snapshots resource type",
+ "operation": "Write snapshot resource",
+ "description": "Writes a snapshot resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/delete",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Snapshots resource type",
+ "operation": "Delete snapshot resource",
+ "description": "Deletes a snapshot resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/RestoreFiles/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Snapshots resource type",
+ "operation": "Single File Snapshot Restore",
+ "description": "Restores files from a snapshot resource"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Subvolume resource type."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes/write",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Subvolume resource type.",
+ "operation": "Write subvolume Resource",
+ "description": "Write a subvolume resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes/delete",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Subvolume resource type."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes/GetMetadata/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Subvolume resource type.",
+ "operation": "Subvolume Metadata resource.",
+ "description": "Read subvolume metadata resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/snapshotPolicies/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Snapshot Policies resource type",
+ "operation": "Read snapshot policy resource",
+ "description": "Reads a snapshot policy resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/snapshotPolicies/write",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Snapshot Policies resource type",
+ "operation": "Write snapshot policy resource",
+ "description": "Writes a snapshot policy resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/snapshotPolicies/delete",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Snapshot Policies resource type",
+ "operation": "Delete snapshot policy resource",
+ "description": "Deletes a snapshot policy resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/snapshotPolicies/Volumes/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Snapshot Policies resource type",
+ "operation": "List connected volumes",
+ "description": "List volumes connected to snapshot policy"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/snapshotPolicies/ListVolumes/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Snapshot Policies resource type",
+ "operation": "List connected volumes",
+ "description": "List volumes connected to snapshot policy"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Backup resource type",
+ "operation": "Read backup resource.",
+ "description": "Reads a backup resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups/write",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Backup resource type",
+ "operation": "Write backup resource.",
+ "description": "Writes a backup resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups/delete",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Backup resource type",
+ "operation": "Delete backup resource",
+ "description": "Deletes a backup resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/backupPolicies/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Backup Policy resource type",
+ "operation": "Read backup policy resource.",
+ "description": "Reads a backup policy resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/backupPolicies/write",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Backup Policy resource type",
+ "operation": "Write backup policy resource.",
+ "description": "Writes a backup policy resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/backupPolicies/delete",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Backup Policy resource type",
+ "operation": "Delete backup policy resource",
+ "description": "Deletes a backup policy resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/vaults/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Vault resource type",
+ "operation": "Read vault resource.",
+ "description": "Reads a vault resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/accountBackups/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Account backup resource type",
+ "operation": "Read an account backup resource.",
+ "description": "Reads an account backup resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/accountBackups/write",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Account backup resource type",
+ "operation": "Write an account backup resource.",
+ "description": "Writes an account backup resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/accountBackups/delete",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Account backup resource type",
+ "operation": "Delete an account backup resource.",
+ "description": "Deletes an account backup resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/volumeGroups/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volume Group resource type",
+ "operation": "Read volume group resource",
+ "description": "Reads a volume group resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/volumeGroups/write",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volume Group resource type",
+ "operation": "Write volume group resource",
+ "description": "Writes a volume group resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/netAppAccounts/volumeGroups/delete",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volume Group resource type",
+ "operation": "Delete volume group resource",
+ "description": "Deletes a volume group resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/locations/quotaLimits/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "QuotaLimit resource type",
+ "operation": "Read QuotaLimit resource type",
+ "description": "Reads a Quotalimit resource type."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/Operations/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Operations resource type",
+ "operation": "Read operation resource",
+ "description": "Reads an operation resources."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/locations/operationresults/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Operation results resource type",
+ "operation": "Read operation result resource",
+ "description": "Reads an operation result resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/locations/read",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Location wide operation",
+ "operation": "Read location wide operation",
+ "description": "Reads a location wide operation."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/locations/checknameavailability/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "NetApp resources",
+ "operation": "Check if resource name is available",
+ "description": "Check if resource name is available"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/locations/checkfilepathavailability/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Volumes resource type",
+ "operation": "Check if file path is available",
+ "description": "Check if file path is available"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/unregister/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "Subscription",
+ "operation": "Unregister Subscription for Azure NetApp Files",
+ "description": "Unregisters Subscription with Microsoft.NetApp resource provider"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.NetApp/locations/checkinventory/action",
+ "display": {
+ "provider": "Microsoft.NetApp Resource Provider",
+ "resource": "ReservedCapacity reservation resource.",
+ "operation": "Checks ReservedCapacity inventory.",
+ "description": "Checks ReservedCapacity inventory."
+ },
+ "origin": "user,system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Pools_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Pools_CreateOrUpdate.json
new file mode 100644
index 000000000000..2ab36f6e3170
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Pools_CreateOrUpdate.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "size": 4398046511104,
+ "serviceLevel": "Premium",
+ "qosType": "Auto"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "name": "account1/pool1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104,
+ "qosType": "Auto",
+ "totalThroughputMibps": 281.474
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "name": "account1/pool1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104,
+ "qosType": "Auto",
+ "totalThroughputMibps": 281.474
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Pools_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Pools_Delete.json
new file mode 100644
index 000000000000..18a808534c73
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Pools_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "204": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Pools_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Pools_Get.json
new file mode 100644
index 000000000000..80919d6b3090
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Pools_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "name": "account1/pool1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104,
+ "qosType": "Manual",
+ "totalThroughputMibps": 281.474,
+ "utilizedThroughputMibps": 100.47
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Pools_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Pools_List.json
new file mode 100644
index 000000000000..18308f01e607
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Pools_List.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "name": "account1/pool1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104,
+ "qosType": "Auto",
+ "totalThroughputMibps": 281.474
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Pools_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Pools_Update.json
new file mode 100644
index 000000000000..565ff7a6a6e4
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Pools_Update.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "api-version": "2023-11-01-preview",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "name": "account1/pool1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104,
+ "qosType": "Manual",
+ "totalThroughputMibps": 281.474,
+ "utilizedThroughputMibps": 100.47
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/QuotaLimits_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/QuotaLimits_Get.json
new file mode 100644
index 000000000000..2c7e530ca2c6
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/QuotaLimits_Get.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "location": "eastus",
+ "quotaLimitName": "totalCoolAccessVolumesPerSubscription",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalCoolAccessVolumesPerSubscription",
+ "name": "eastus/totalCoolAccessVolumesPerSubscription",
+ "type": "Microsoft.NetApp/locations/quotaLimits",
+ "properties": {
+ "current": 10,
+ "default": 10
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/QuotaLimits_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/QuotaLimits_List.json
new file mode 100644
index 000000000000..40a2162c1e4a
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/QuotaLimits_List.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "location": "eastus",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/accountsPerSubscription",
+ "name": "eastus/accountsPerSubscription",
+ "type": "Microsoft.NetApp/locations/quotaLimits",
+ "properties": {
+ "current": 10,
+ "default": 10
+ }
+ },
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/poolsPerAccount",
+ "name": "eastus/poolsPerAccount",
+ "type": "Microsoft.NetApp/locations/quotaLimits",
+ "properties": {
+ "current": 25,
+ "default": 25
+ }
+ },
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/volumesPerPool",
+ "name": "eastus/volumesPerPool",
+ "type": "Microsoft.NetApp/locations/quotaLimits",
+ "properties": {
+ "current": 500,
+ "default": 500
+ }
+ },
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/snapshotsPerVolume",
+ "name": "eastus/snapshotsPerVolume",
+ "type": "Microsoft.NetApp/locations/quotaLimits",
+ "properties": {
+ "current": 255,
+ "default": 255
+ }
+ },
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalTiBsPerSubscription",
+ "name": "eastus/totalTiBsPerSubscription",
+ "type": "Microsoft.NetApp/locations/quotaLimits",
+ "properties": {
+ "current": 1000,
+ "default": 25
+ }
+ },
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalDPVolumesPerSubscription",
+ "name": "eastus/totalDPVolumesPerSubscription",
+ "type": "Microsoft.NetApp/locations/quotaLimits",
+ "properties": {
+ "current": 10,
+ "default": 10
+ }
+ },
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalVolumesPerSubscription",
+ "name": "eastus/totalVolumesPerSubscription",
+ "type": "Microsoft.NetApp/locations/quotaLimits",
+ "properties": {
+ "current": 500,
+ "default": 500
+ }
+ },
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalCoolAccessVolumesPerSubscription",
+ "name": "eastus/totalCoolAccessVolumesPerSubscription",
+ "type": "Microsoft.NetApp/locations/quotaLimits",
+ "properties": {
+ "current": 10,
+ "default": 10
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/RegionInfo.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/RegionInfo.json
new file mode 100644
index 000000000000..77def9a2fa9c
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/RegionInfo.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "location": "eastus",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "storageToNetworkProximity": "T2",
+ "availabilityZoneMappings": [
+ {
+ "availabilityZone": "1",
+ "isAvailable": true
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/RegionInfos_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/RegionInfos_Get.json
new file mode 100644
index 000000000000..27de71b6629f
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/RegionInfos_Get.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "location": "eastus",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/regionInfos/default",
+ "name": "eastus/default",
+ "type": "Microsoft.NetApp/locations/regionInfos",
+ "properties": {
+ "storageToNetworkProximity": "T2",
+ "availabilityZoneMappings": [
+ {
+ "availabilityZone": "1",
+ "isAvailable": true
+ },
+ {
+ "availabilityZone": "2",
+ "isAvailable": true
+ },
+ {
+ "availabilityZone": "3",
+ "isAvailable": true
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/RegionInfos_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/RegionInfos_List.json
new file mode 100644
index 000000000000..4708852dca17
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/RegionInfos_List.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "location": "eastus",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/regionInfos/default",
+ "name": "eastus/default",
+ "type": "Microsoft.NetApp/locations/regionInfos",
+ "properties": {
+ "storageToNetworkProximity": "T2",
+ "availabilityZoneMappings": [
+ {
+ "availabilityZone": "1",
+ "isAvailable": true
+ },
+ {
+ "availabilityZone": "2",
+ "isAvailable": true
+ },
+ {
+ "availabilityZone": "3",
+ "isAvailable": true
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_Create.json
new file mode 100644
index 000000000000..309c7d56ec04
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_Create.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "snapshotPolicyName": "snapshotPolicyName",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "enabled": true,
+ "hourlySchedule": {
+ "snapshotsToKeep": 2,
+ "minute": 50
+ },
+ "dailySchedule": {
+ "snapshotsToKeep": 4,
+ "hour": 14,
+ "minute": 30
+ },
+ "weeklySchedule": {
+ "snapshotsToKeep": 3,
+ "day": "Wednesday",
+ "hour": 14,
+ "minute": 45
+ },
+ "monthlySchedule": {
+ "snapshotsToKeep": 5,
+ "daysOfMonth": "10,11,12",
+ "hour": 14,
+ "minute": 15
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "eastus",
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1",
+ "name": "account1/snapshotPolicy1",
+ "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies",
+ "properties": {
+ "enabled": true,
+ "hourlySchedule": {
+ "snapshotsToKeep": 2,
+ "minute": 50
+ },
+ "dailySchedule": {
+ "snapshotsToKeep": 4,
+ "hour": 14,
+ "minute": 30
+ },
+ "weeklySchedule": {
+ "snapshotsToKeep": 3,
+ "day": "Wednesday",
+ "hour": 14,
+ "minute": 45
+ },
+ "monthlySchedule": {
+ "snapshotsToKeep": 5,
+ "daysOfMonth": "10,11,12",
+ "hour": 14,
+ "minute": 15
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "eastus",
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1",
+ "name": "account1/snapshotPolicy1",
+ "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies",
+ "properties": {
+ "enabled": true,
+ "hourlySchedule": {
+ "snapshotsToKeep": 2,
+ "minute": 50
+ },
+ "dailySchedule": {
+ "snapshotsToKeep": 4,
+ "hour": 14,
+ "minute": 30
+ },
+ "weeklySchedule": {
+ "snapshotsToKeep": 3,
+ "day": "Wednesday",
+ "hour": 14,
+ "minute": 45
+ },
+ "monthlySchedule": {
+ "snapshotsToKeep": 5,
+ "daysOfMonth": "10,11,12",
+ "hour": 14,
+ "minute": 15
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_Delete.json
new file mode 100644
index 000000000000..a01df113ebca
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_Delete.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "resourceGroup",
+ "accountName": "accountName",
+ "snapshotPolicyName": "snapshotPolicyName",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "204": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ },
+ "200": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_Get.json
new file mode 100644
index 000000000000..0b688e49a53d
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_Get.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "snapshotPolicyName": "snapshotPolicyName",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1",
+ "name": "account1/snapshotPolicy1",
+ "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies",
+ "location": "eastus",
+ "properties": {
+ "enabled": true,
+ "hourlySchedule": {
+ "snapshotsToKeep": 2,
+ "minute": 50
+ },
+ "dailySchedule": {
+ "snapshotsToKeep": 4,
+ "hour": 14,
+ "minute": 30
+ },
+ "weeklySchedule": {
+ "snapshotsToKeep": 3,
+ "day": "Wednesday",
+ "hour": 14,
+ "minute": 45
+ },
+ "monthlySchedule": {
+ "snapshotsToKeep": 5,
+ "daysOfMonth": "10,11,12",
+ "hour": 14,
+ "minute": 15
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_List.json
new file mode 100644
index 000000000000..37d1453b063e
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_List.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1",
+ "name": "account1/snapshotPolicy1",
+ "location": "eastus",
+ "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies",
+ "properties": {
+ "enabled": true,
+ "hourlySchedule": {
+ "snapshotsToKeep": 2,
+ "minute": 50
+ },
+ "dailySchedule": {
+ "snapshotsToKeep": 4,
+ "hour": 14,
+ "minute": 30
+ },
+ "weeklySchedule": {
+ "snapshotsToKeep": 3,
+ "day": "Wednesday",
+ "hour": 14,
+ "minute": 45
+ },
+ "monthlySchedule": {
+ "snapshotsToKeep": 5,
+ "daysOfMonth": "10,11,12",
+ "hour": 14,
+ "minute": 15
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_ListVolumes.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_ListVolumes.json
new file mode 100644
index 000000000000..ae1676a7031a
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_ListVolumes.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "snapshotPolicyName": "snapshotPolicyName",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1",
+ "name": "account1/pool1/volume1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "location": "eastus",
+ "properties": {
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "creationToken": "some-amazing-filepath",
+ "usageThreshold": 107374182400,
+ "serviceLevel": "Premium",
+ "provisioningState": "Succeeded",
+ "throughputMibps": 128,
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_Update.json
new file mode 100644
index 000000000000..0b4c41fb1dfa
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/SnapshotPolicies_Update.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "snapshotPolicyName": "snapshotPolicyName",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "enabled": true,
+ "hourlySchedule": {
+ "snapshotsToKeep": 2,
+ "minute": 50
+ },
+ "dailySchedule": {
+ "snapshotsToKeep": 4,
+ "hour": 14,
+ "minute": 30
+ },
+ "weeklySchedule": {
+ "snapshotsToKeep": 3,
+ "day": "Wednesday",
+ "hour": 14,
+ "minute": 45
+ },
+ "monthlySchedule": {
+ "snapshotsToKeep": 5,
+ "daysOfMonth": "10,11,12",
+ "hour": 14,
+ "minute": 15
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1",
+ "name": "account1/snapshotPolicy1",
+ "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies",
+ "location": "eastus",
+ "properties": {
+ "enabled": true,
+ "hourlySchedule": {
+ "snapshotsToKeep": 2,
+ "minute": 50
+ },
+ "dailySchedule": {
+ "snapshotsToKeep": 4,
+ "hour": 14,
+ "minute": 30
+ },
+ "weeklySchedule": {
+ "snapshotsToKeep": 3,
+ "day": "Wednesday",
+ "hour": 14,
+ "minute": 45
+ },
+ "monthlySchedule": {
+ "snapshotsToKeep": 5,
+ "daysOfMonth": "10,11,12",
+ "hour": 14,
+ "minute": 15
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/18c499e1-2a3c-441c-950e-4b456c991c18?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ },
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1",
+ "name": "account1/snapshotPolicy1",
+ "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies",
+ "location": "eastus",
+ "properties": {
+ "enabled": true,
+ "hourlySchedule": {
+ "snapshotsToKeep": 2,
+ "minute": 50
+ },
+ "dailySchedule": {
+ "snapshotsToKeep": 4,
+ "hour": 14,
+ "minute": 30
+ },
+ "weeklySchedule": {
+ "snapshotsToKeep": 3,
+ "day": "Wednesday",
+ "hour": 14,
+ "minute": 45
+ },
+ "monthlySchedule": {
+ "snapshotsToKeep": 5,
+ "daysOfMonth": "10,11,12",
+ "hour": 14,
+ "minute": 15
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_Create.json
new file mode 100644
index 000000000000..5b25181dd431
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_Create.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "snapshotName": "snapshot1",
+ "api-version": "2023-11-01-preview",
+ "location": "eastus",
+ "body": {
+ "location": "eastus"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1",
+ "name": "account1/pool1/volume1/snapshot1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots",
+ "location": "eastus",
+ "properties": {
+ "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "created": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_Delete.json
new file mode 100644
index 000000000000..8baf4d564608
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_Delete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "snapshotName": "snapshot1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "204": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ },
+ "200": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_Get.json
new file mode 100644
index 000000000000..489fe75b248b
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "snapshotName": "snapshot1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1",
+ "name": "account1/pool1/volume1/snapshot1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots",
+ "location": "eastus",
+ "properties": {
+ "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "created": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_List.json
new file mode 100644
index 000000000000..c330316c25cc
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_List.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1",
+ "name": "account1/pool1/volume1/snapshot1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots",
+ "location": "eastus",
+ "properties": {
+ "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "created": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_SingleFileRestore.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_SingleFileRestore.json
new file mode 100644
index 000000000000..8ec44fdc1033
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_SingleFileRestore.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "snapshotName": "snapshot1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "filePaths": [
+ "/dir1/customer1.db",
+ "/dir1/customer2.db"
+ ]
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_Update.json
new file mode 100644
index 000000000000..2f092afdf793
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Snapshots_Update.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "snapshotName": "snapshot1",
+ "api-version": "2023-11-01-preview",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1",
+ "name": "account1/pool1/volume1/snapshot1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots",
+ "location": "eastus",
+ "properties": {
+ "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333",
+ "created": "2017-08-15T13:23:33Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_Create.json
new file mode 100644
index 000000000000..860790dfb84f
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_Create.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "subvolumeName": "subvolume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "properties": {
+ "path": "/subvolumePath"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/subvolumes/subvolume1",
+ "name": "account1/pool1/volume1/subvolume1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes",
+ "properties": {
+ "path": "/subvolumePath",
+ "provisioningState": "Succeeded",
+ "size": 0
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/subvolumes/subvolume1",
+ "name": "account1/pool1/volume1/subvolume1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes",
+ "properties": {
+ "path": "/subvolumePath",
+ "provisioningState": "Creating"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_Delete.json
new file mode 100644
index 000000000000..9ea622024143
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_Delete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "subvolumeName": "subvolume1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "204": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ },
+ "200": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_Get.json
new file mode 100644
index 000000000000..815ccaaafb5b
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "subvolumeName": "subvolume1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/subvolumes/subvolume1",
+ "name": "account1/pool1/volume1/subvolume1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes",
+ "properties": {
+ "path": "/pathToSubvol",
+ "size": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_List.json
new file mode 100644
index 000000000000..7a70e35de70d
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "subvolumeName": "subvolume1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/subvolumes/subvolume1",
+ "name": "account1/pool1/volume1/subvolume1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes",
+ "properties": {
+ "path": "/pathToSubvol",
+ "size": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_Metadata.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_Metadata.json
new file mode 100644
index 000000000000..e6b46b6e2f9f
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_Metadata.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "subvolumeName": "subvolume1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/subvolumes/subvolume1/metadata",
+ "name": "account1/pool1/volume1/subvolume1/metadata",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes/metadata",
+ "properties": {
+ "path": "/pathToSubvol",
+ "size": 5,
+ "bytesUsed": 5,
+ "permissions": "777",
+ "creationTimeStamp": "2017-08-15T13:23:33Z",
+ "accessedTimeStamp": "2017-08-15T13:23:33Z",
+ "modifiedTimeStamp": "2017-08-15T13:23:33Z",
+ "changedTimeStamp": "2017-08-15T13:23:33Z"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_Update.json
new file mode 100644
index 000000000000..5d19f649ac07
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Subvolumes_Update.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "subvolumeName": "subvolume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "properties": {
+ "path": "/subvolumePath"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/subvolumes/subvolume1",
+ "name": "account1/pool1/volume1/subvolume1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolume1",
+ "properties": {
+ "path": "/subvolumePath",
+ "size": 0
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_Create_Oracle.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_Create_Oracle.json
new file mode 100644
index 000000000000..7bea3272d238
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_Create_Oracle.json
@@ -0,0 +1,965 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "volumeGroupName": "group1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "westus",
+ "properties": {
+ "groupMetaData": {
+ "groupDescription": "Volume group",
+ "applicationType": "ORACLE",
+ "applicationIdentifier": "OR2"
+ },
+ "volumes": [
+ {
+ "name": "test-ora-data1",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "creationToken": "test-ora-data1",
+ "serviceLevel": "Premium",
+ "throughputMibps": 10,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "usageThreshold": 107374182400,
+ "volumeSpecName": "ora-data1",
+ "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "name": "test-ora-data2",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "creationToken": "test-ora-data2",
+ "serviceLevel": "Premium",
+ "throughputMibps": 10,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "usageThreshold": 107374182400,
+ "volumeSpecName": "ora-data2",
+ "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "name": "test-ora-data3",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "creationToken": "test-ora-data3",
+ "serviceLevel": "Premium",
+ "throughputMibps": 10,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "usageThreshold": 107374182400,
+ "volumeSpecName": "ora-data3",
+ "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "name": "test-ora-data4",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "creationToken": "test-ora-data4",
+ "serviceLevel": "Premium",
+ "throughputMibps": 10,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "usageThreshold": 107374182400,
+ "volumeSpecName": "ora-data4",
+ "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "name": "test-ora-data5",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "creationToken": "test-ora-data5",
+ "serviceLevel": "Premium",
+ "throughputMibps": 10,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "usageThreshold": 107374182400,
+ "volumeSpecName": "ora-data5",
+ "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "name": "test-ora-data6",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "creationToken": "test-ora-data6",
+ "serviceLevel": "Premium",
+ "throughputMibps": 10,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "usageThreshold": 107374182400,
+ "volumeSpecName": "ora-data6",
+ "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "name": "test-ora-data7",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "creationToken": "test-ora-data7",
+ "serviceLevel": "Premium",
+ "throughputMibps": 10,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "usageThreshold": 107374182400,
+ "volumeSpecName": "ora-data7",
+ "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "name": "test-ora-data8",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "creationToken": "test-ora-data8",
+ "serviceLevel": "Premium",
+ "throughputMibps": 10,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "usageThreshold": 107374182400,
+ "volumeSpecName": "ora-data8",
+ "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "name": "test-ora-log",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "creationToken": "test-ora-log",
+ "serviceLevel": "Premium",
+ "throughputMibps": 10,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "usageThreshold": 107374182400,
+ "volumeSpecName": "ora-log",
+ "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "name": "test-ora-log-mirror",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "creationToken": "test-ora-log-mirror",
+ "serviceLevel": "Premium",
+ "throughputMibps": 10,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "usageThreshold": 107374182400,
+ "volumeSpecName": "ora-log-mirror",
+ "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "name": "test-ora-binary",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "creationToken": "test-ora-binary",
+ "serviceLevel": "Premium",
+ "throughputMibps": 10,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "usageThreshold": 107374182400,
+ "volumeSpecName": "ora-binary",
+ "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "name": "test-ora-backup",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "creationToken": "test-ora-backup",
+ "serviceLevel": "Premium",
+ "throughputMibps": 10,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "usageThreshold": 107374182400,
+ "volumeSpecName": "ora-backup",
+ "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/volumeGroups/group1",
+ "name": "group1",
+ "type": "Microsoft.NetApp/netAppAccounts/volumeGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Creating",
+ "groupMetaData": {
+ "groupDescription": "Volume group",
+ "applicationType": "ORACLE",
+ "applicationIdentifier": "OR2"
+ },
+ "volumes": [
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "test-ora-data1",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-data1",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-data1",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data2",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "test-ora-data2",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-data2",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-data2",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data3",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "test-ora-data3",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-data3",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-data3",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data4",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "test-ora-data4",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-data4",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-data4",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data5",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "test-ora-data5",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-data5",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-data5",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data6",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "test-ora-data6",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-data6",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-data6",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data7",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "test-ora-data7",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-data7",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-data7",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data8",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "test-ora-data8",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-data8",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-data8",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-log",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "test-ora-log",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-log",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-log",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-log-mirror",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "test-ora-log-mirror",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-log-mirror",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-log-mirror",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-binary",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "test-ora-binary",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-binary",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-binary",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-backup",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "test-ora-backup",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-backup",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-backup",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_Create_SapHana.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_Create_SapHana.json
new file mode 100644
index 000000000000..e0b4a9da79f8
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_Create_SapHana.json
@@ -0,0 +1,406 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "volumeGroupName": "group1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "westus",
+ "properties": {
+ "groupMetaData": {
+ "groupDescription": "Volume group",
+ "applicationType": "SAP-HANA",
+ "applicationIdentifier": "SH9"
+ },
+ "volumes": [
+ {
+ "name": "test-data-mnt00001",
+ "properties": {
+ "creationToken": "test-data-mnt00001",
+ "serviceLevel": "Premium",
+ "throughputMibps": 10,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "usageThreshold": 107374182400,
+ "volumeSpecName": "data",
+ "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "name": "test-log-mnt00001",
+ "properties": {
+ "creationToken": "test-log-mnt00001",
+ "serviceLevel": "Premium",
+ "throughputMibps": 10,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "usageThreshold": 107374182400,
+ "volumeSpecName": "log",
+ "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "name": "test-shared",
+ "properties": {
+ "creationToken": "test-shared",
+ "serviceLevel": "Premium",
+ "throughputMibps": 10,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "usageThreshold": 107374182400,
+ "volumeSpecName": "shared",
+ "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "name": "test-data-backup",
+ "properties": {
+ "creationToken": "test-data-backup",
+ "serviceLevel": "Premium",
+ "throughputMibps": 10,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "usageThreshold": 107374182400,
+ "volumeSpecName": "data-backup",
+ "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "name": "test-log-backup",
+ "properties": {
+ "creationToken": "test-log-backup",
+ "serviceLevel": "Premium",
+ "throughputMibps": 10,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "usageThreshold": 107374182400,
+ "volumeSpecName": "log-backup",
+ "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1",
+ "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/volumeGroups/group1",
+ "name": "group1",
+ "type": "Microsoft.NetApp/netAppAccounts/volumeGroups",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Creating",
+ "groupMetaData": {
+ "groupDescription": "Volume group",
+ "applicationType": "SAP-HANA",
+ "applicationIdentifier": "SH9"
+ },
+ "volumes": [
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-data-mnt00001",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "test-data-mnt00001",
+ "properties": {
+ "throughputMibps": 10.0,
+ "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg",
+ "volumeSpecName": "data",
+ "serviceLevel": "Premium",
+ "creationToken": "test-data-mnt00001",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-log-mnt00001",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "test-log-mnt00001",
+ "properties": {
+ "throughputMibps": 10.0,
+ "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg",
+ "volumeSpecName": "log",
+ "serviceLevel": "Premium",
+ "creationToken": "test-log-mnt00001",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-shared",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "test-shared",
+ "properties": {
+ "throughputMibps": 10.0,
+ "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg",
+ "volumeSpecName": "shared",
+ "serviceLevel": "Premium",
+ "creationToken": "test-shared",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-data-backup",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "test-data-backup",
+ "properties": {
+ "throughputMibps": 10.0,
+ "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg",
+ "volumeSpecName": "data-backup",
+ "serviceLevel": "Premium",
+ "creationToken": "test-data-backup",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-log-backup",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "test-log-backup",
+ "properties": {
+ "throughputMibps": 10.0,
+ "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg",
+ "volumeSpecName": "log-backup",
+ "serviceLevel": "Premium",
+ "creationToken": "test-log-backup",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_Delete.json
new file mode 100644
index 000000000000..cab9c920e2f8
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_Delete.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "volumeGroupName": "group1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "204": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ },
+ "200": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_Get_Oracle.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_Get_Oracle.json
new file mode 100644
index 000000000000..334b41786216
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_Get_Oracle.json
@@ -0,0 +1,510 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "volumeGroupName": "group1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/volumeGroups/group1",
+ "name": "group1",
+ "type": "Microsoft.NetApp/netAppAccounts/volumeGroups",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "groupMetaData": {
+ "groupDescription": "Volume group",
+ "applicationType": "ORACLE",
+ "applicationIdentifier": "OR2",
+ "volumesCount": 12
+ },
+ "volumes": [
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "account1/pool1/test-ora-data1",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "provisioningState": "Succeeded",
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-data1",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-data1",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data2",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "account1/pool1/test-ora-data2",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "provisioningState": "Succeeded",
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-data2",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-data2",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data3",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "account1/pool1/test-ora-data3",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "provisioningState": "Succeeded",
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-data3",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-data3",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data4",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "account1/pool1/test-ora-data4",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "provisioningState": "Succeeded",
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-data4",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-data4",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data5",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "account1/pool1/test-ora-data5",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "provisioningState": "Succeeded",
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-data5",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-data5",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data6",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "account1/pool1/test-ora-data6",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "provisioningState": "Succeeded",
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-data6",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-data6",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data7",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "account1/pool1/test-ora-data7",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "provisioningState": "Succeeded",
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-data7",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-data7",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-data8",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "account1/pool1/test-ora-data8",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "provisioningState": "Succeeded",
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-data8",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-data8",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-log",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "account1/pool1/test-ora-log",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "provisioningState": "Succeeded",
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-log",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-log",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-log-mirror",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "account1/pool1/test-ora-log-mirror",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "provisioningState": "Succeeded",
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-log-mirror",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-log-mirror",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-binary",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "account1/pool1/test-ora-binary",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "provisioningState": "Succeeded",
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-binary",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-binary",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-ora-backup",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "account1/pool1/test-ora-backup",
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "provisioningState": "Succeeded",
+ "throughputMibps": 10.0,
+ "volumeSpecName": "ora-backup",
+ "serviceLevel": "Premium",
+ "creationToken": "test-ora-backup",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_Get_SapHana.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_Get_SapHana.json
new file mode 100644
index 000000000000..a27bb224ad7f
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_Get_SapHana.json
@@ -0,0 +1,220 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "volumeGroupName": "group1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/volumeGroups/group1",
+ "name": "group1",
+ "type": "Microsoft.NetApp/netAppAccounts/volumeGroups",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "groupMetaData": {
+ "groupDescription": "Volume group",
+ "applicationType": "SAP-HANA",
+ "applicationIdentifier": "SH9",
+ "volumesCount": 5
+ },
+ "volumes": [
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-data-mnt00001",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "account1/pool1/test-data-mnt00001",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "throughputMibps": 10.0,
+ "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg",
+ "volumeSpecName": "data",
+ "serviceLevel": "Premium",
+ "creationToken": "test-data-mnt00001",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-log-mnt00001",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "account1/pool1/test-log-mnt00001",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "throughputMibps": 10.0,
+ "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg",
+ "volumeSpecName": "log",
+ "serviceLevel": "Premium",
+ "creationToken": "test-log-mnt00001",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-shared",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "account1/pool1/test-shared",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "throughputMibps": 10.0,
+ "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg",
+ "volumeSpecName": "shared",
+ "serviceLevel": "Premium",
+ "creationToken": "test-shared",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-data-backup",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "account1/pool1/test-data-backup",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "throughputMibps": 10.0,
+ "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg",
+ "volumeSpecName": "data-backup",
+ "serviceLevel": "Premium",
+ "creationToken": "test-data-backup",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/test-log-backup",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "name": "account1/pool1/test-log-backup",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "throughputMibps": 10.0,
+ "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg",
+ "volumeSpecName": "log-backup",
+ "serviceLevel": "Premium",
+ "creationToken": "test-log-backup",
+ "usageThreshold": 107374182400,
+ "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "exportPolicy": {
+ "rules": [
+ {
+ "ruleIndex": 1,
+ "unixReadOnly": true,
+ "unixReadWrite": true,
+ "kerberos5ReadOnly": false,
+ "kerberos5ReadWrite": false,
+ "kerberos5iReadOnly": false,
+ "kerberos5iReadWrite": false,
+ "kerberos5pReadOnly": false,
+ "kerberos5pReadWrite": false,
+ "cifs": false,
+ "nfsv3": false,
+ "nfsv41": true,
+ "allowedClients": "0.0.0.0/0",
+ "hasRootAccess": true
+ }
+ ]
+ },
+ "protocolTypes": [
+ "NFSv4.1"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_List_Oracle.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_List_Oracle.json
new file mode 100644
index 000000000000..561f936e8979
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_List_Oracle.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/volumeGroups/group1",
+ "name": "group1",
+ "type": "Microsoft.NetApp/netAppAccounts/volumeGroups",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "groupMetaData": {
+ "groupDescription": "Volume group",
+ "applicationType": "ORACLE",
+ "applicationIdentifier": "DEV",
+ "volumesCount": 12
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_List_SapHana.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_List_SapHana.json
new file mode 100644
index 000000000000..5f0e5dd39f6c
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeGroups_List_SapHana.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/volumeGroups/group1",
+ "name": "group1",
+ "type": "Microsoft.NetApp/netAppAccounts/volumeGroups",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "groupMetaData": {
+ "groupDescription": "Volume group",
+ "applicationType": "SAP-HANA",
+ "applicationIdentifier": "SH9",
+ "volumesCount": 5
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeQuotaRules_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeQuotaRules_Create.json
new file mode 100644
index 000000000000..c36f6ef63a15
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeQuotaRules_Create.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "5275316f-a498-48d6-b324-2cbfdc4311b9",
+ "resourceGroupName": "myRG",
+ "accountName": "account-9957",
+ "poolName": "pool-5210",
+ "volumeName": "volume-6387",
+ "volumeQuotaRuleName": "rule-0004",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "westus",
+ "properties": {
+ "quotaTarget": "1821",
+ "quotaSizeInKiBs": 100005,
+ "quotaType": "IndividualUserQuota"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ },
+ "body": {
+ "id": "/subscriptions/5275316f-a498-48d6-b324-2cbfdc4311b9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account-9957/capacityPools/pool-5210/volumes/volume-6387/volumeQuotaRules/rule-0004",
+ "name": "account-9957/pool-5210/volume-6387/rule-0004",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/volumeQuotaRules",
+ "location": "westus",
+ "properties": {
+ "quotaTarget": "1821",
+ "quotaSizeInKiBs": 100005,
+ "quotaType": "IndividualUserQuota",
+ "provisioningState": "Creating"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/5275316f-a498-48d6-b324-2cbfdc4311b9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account-9957/capacityPools/pool-5210/volumes/volume-6387/volumeQuotaRules/rule-0004",
+ "name": "account-9957/pool-5210/volume-6387/rule-0004",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/volumeQuotaRules",
+ "location": "westus",
+ "properties": {
+ "quotaTarget": "1821",
+ "quotaSizeInKiBs": 100005,
+ "quotaType": "IndividualUserQuota",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeQuotaRules_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeQuotaRules_Delete.json
new file mode 100644
index 000000000000..ae6f2240190b
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeQuotaRules_Delete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "5275316f-a498-48d6-b324-2cbfdc4311b9",
+ "resourceGroupName": "myRG",
+ "accountName": "account-9957",
+ "poolName": "pool-5210",
+ "volumeName": "volume-6387",
+ "volumeQuotaRuleName": "rule-0004",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/5275316f-a498-48d6-b324-2cbfdc4311b9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeQuotaRules_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeQuotaRules_Get.json
new file mode 100644
index 000000000000..818f764e1ffc
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeQuotaRules_Get.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "5275316f-a498-48d6-b324-2cbfdc4311b9",
+ "resourceGroupName": "myRG",
+ "accountName": "account-9957",
+ "poolName": "pool-5210",
+ "volumeName": "volume-6387",
+ "volumeQuotaRuleName": "rule-0004",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5275316f-a498-48d6-b324-2cbfdc4311b9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account-9957/capacityPools/pool-5210/volumes/volume-6387/volumeQuotaRules/rule-0004",
+ "name": "account-9957/pool-5210/volume-6387/rule-0004",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/volumeQuotaRules",
+ "location": "westus",
+ "properties": {
+ "quotaTarget": "1821",
+ "quotaSizeInKiBs": 100005,
+ "quotaType": "IndividualUserQuota",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeQuotaRules_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeQuotaRules_List.json
new file mode 100644
index 000000000000..0c2ea5e019b4
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeQuotaRules_List.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "5275316f-a498-48d6-b324-2cbfdc4311b9",
+ "resourceGroupName": "myRG",
+ "accountName": "account-9957",
+ "poolName": "pool-5210",
+ "volumeName": "volume-6387",
+ "volumeQuotaRuleName": "rule-0004",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5275316f-a498-48d6-b324-2cbfdc4311b9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account-9957/capacityPools/pool-5210/volumes/volume-6387/volumeQuotaRules/rule-0004",
+ "name": "account-9957/pool-5210/volume-6387/rule-0004",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/volumeQuotaRules",
+ "location": "westus",
+ "properties": {
+ "quotaTarget": "1821",
+ "quotaSizeInKiBs": 100005,
+ "quotaType": "IndividualUserQuota",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeQuotaRules_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeQuotaRules_Update.json
new file mode 100644
index 000000000000..03f60b863bc5
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/VolumeQuotaRules_Update.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "5275316f-a498-48d6-b324-2cbfdc4311b9",
+ "resourceGroupName": "myRG",
+ "accountName": "account-9957",
+ "poolName": "pool-5210",
+ "volumeName": "volume-6387",
+ "volumeQuotaRuleName": "rule-0004",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "properties": {
+ "quotaSizeInKiBs": 100009
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5275316f-a498-48d6-b324-2cbfdc4311b9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account-9957/capacityPools/pool-5210/volumes/volume-6387/volumeQuotaRules/rule-0004",
+ "name": "account-9957/pool-5210/volume-6387/rule-0004",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/volumeQuotaRules",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Patching",
+ "quotaTarget": "1821",
+ "quotaSizeInKiBs": 100005,
+ "quotaType": "IndividualUserQuota"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/5275316f-a498-48d6-b324-2cbfdc4311b9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_AuthorizeReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_AuthorizeReplication.json
new file mode 100644
index 000000000000..33a3b80eab71
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_AuthorizeReplication.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "remoteVolumeResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRemoteRG/providers/Microsoft.NetApp/netAppAccounts/remoteAccount1/capacityPools/remotePool1/volumes/remoteVolume1"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_BreakFileLocks.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_BreakFileLocks.json
new file mode 100644
index 000000000000..142e613b7f31
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_BreakFileLocks.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "clientIp": "101.102.103.104",
+ "confirmRunningDisruptiveOperation": true
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_BreakReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_BreakReplication.json
new file mode 100644
index 000000000000..f2106777c25d
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_BreakReplication.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "forceBreakReplication": false
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_CreateOnPremMigrationReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_CreateOnPremMigrationReplication.json
new file mode 100644
index 000000000000..b8dba434f115
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_CreateOnPremMigrationReplication.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "svmPeeringCommand": "vserver peer accept -vserver OnPremSvm -peer-vserver AnfSvm"
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_CreateOrUpdate.json
new file mode 100644
index 000000000000..2bdc43a269c6
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_CreateOrUpdate.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "creationToken": "my-unique-file-path",
+ "serviceLevel": "Premium",
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "usageThreshold": 107374182400
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1",
+ "location": "eastus",
+ "name": "account1/pool1/volume1",
+ "properties": {
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "creationToken": "some-amazing-filepath",
+ "usageThreshold": 107374182400,
+ "serviceLevel": "Premium",
+ "provisioningState": "Succeeded",
+ "throughputMibps": 128,
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "encryptionKeySource": "Microsoft.NetApp"
+ },
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1",
+ "location": "eastus",
+ "name": "account1/pool1/volume1",
+ "properties": {
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "creationToken": "some-amazing-filepath",
+ "usageThreshold": 107374182400,
+ "serviceLevel": "Premium",
+ "provisioningState": "Succeeded",
+ "throughputMibps": 128,
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "encryptionKeySource": "Microsoft.NetApp"
+ },
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_Delete.json
new file mode 100644
index 000000000000..973de7dbc946
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_Delete.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "204": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_DeleteReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_DeleteReplication.json
new file mode 100644
index 000000000000..3f60674abbf8
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_DeleteReplication.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_FinalizeOnPremMigration.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_FinalizeOnPremMigration.json
new file mode 100644
index 000000000000..d4875bfdbe9f
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_FinalizeOnPremMigration.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_FinalizeRelocation.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_FinalizeRelocation.json
new file mode 100644
index 000000000000..c84fecf1940c
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_FinalizeRelocation.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-011-11&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_Get.json
new file mode 100644
index 000000000000..3a3da807f057
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_Get.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1",
+ "name": "account1/pool1/volume1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "location": "eastus",
+ "properties": {
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "creationToken": "some-amazing-filepath",
+ "usageThreshold": 107374182400,
+ "serviceLevel": "Premium",
+ "provisioningState": "Succeeded",
+ "throughputMibps": 128,
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "networkFeatures": "Standard",
+ "networkSiblingSetId": "0f434a03-ce0b-4935-81af-d98652ffb1c4",
+ "storageToNetworkProximity": "T2"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_LatestBackupStatus.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_LatestBackupStatus.json
new file mode 100644
index 000000000000..2cb8d377c4cb
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_LatestBackupStatus.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "healthy": true,
+ "relationshipStatus": "Idle",
+ "mirrorState": "Mirrored",
+ "unhealthyReason": "",
+ "errorMessage": "",
+ "lastTransferSize": 100000,
+ "lastTransferType": "",
+ "totalTransferBytes": 100000
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_LatestRestoreStatus.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_LatestRestoreStatus.json
new file mode 100644
index 000000000000..9788e1e4538e
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_LatestRestoreStatus.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "healthy": true,
+ "relationshipStatus": "Idle",
+ "mirrorState": "Uninitialized",
+ "unhealthyReason": "",
+ "errorMessage": "",
+ "totalTransferBytes": 100000
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_List.json
new file mode 100644
index 000000000000..bb027f018ff1
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_List.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1",
+ "name": "account1/pool1/volume1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "location": "eastus",
+ "properties": {
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "creationToken": "some-amazing-filepath",
+ "usageThreshold": 107374182400,
+ "serviceLevel": "Premium",
+ "provisioningState": "Succeeded",
+ "throughputMibps": 128,
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "networkFeatures": "Standard",
+ "networkSiblingSetId": "0f434a03-ce0b-4935-81af-d98652ffb1c4",
+ "storageToNetworkProximity": "T2"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ListReplications.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ListReplications.json
new file mode 100644
index 000000000000..e852834d66de
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ListReplications.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "replicationSchedule": "daily",
+ "remoteVolumeResourceId": "/subscriptions/36e85c76-e720-473e-881f-e2fe72f462d0/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account-5999/capacityPools/pool-0977/volumes/volume-4508",
+ "remoteVolumeRegion": "westus"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_PeerClusterForOnPremMigration.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_PeerClusterForOnPremMigration.json
new file mode 100644
index 000000000000..09ab6ace654a
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_PeerClusterForOnPremMigration.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "peerAddresses": [
+ "0.0.0.1",
+ "0.0.0.2",
+ "0.0.0.3",
+ "0.0.0.4",
+ "0.0.0.5",
+ "0.0.0.6"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "peerAcceptCommand": "cluster peer create -ipspace replication -encryption-protocol-proposed tls-psk -passphrase passphraseString -peer-addrs 1.1.1.1,1.1.1.2,1.1.1.3,1.1.1.4,1.1.1.5,1.1.1.6"
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_PerformReplicationTransfer.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_PerformReplicationTransfer.json
new file mode 100644
index 000000000000..f5077c2f6175
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_PerformReplicationTransfer.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_PoolChange.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_PoolChange.json
new file mode 100644
index 000000000000..f1b5c2a05e2f
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_PoolChange.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "newPoolResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_PopulateAvailabilityZones.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_PopulateAvailabilityZones.json
new file mode 100644
index 000000000000..8eb301bbaaa5
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_PopulateAvailabilityZones.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1",
+ "name": "account1/pool1/volume1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "location": "eastus",
+ "properties": {
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "creationToken": "some-amazing-filepath",
+ "usageThreshold": 107374182400,
+ "serviceLevel": "Premium",
+ "provisioningState": "Succeeded",
+ "throughputMibps": 128,
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "networkFeatures": "Standard",
+ "networkSiblingSetId": "0f434a03-ce0b-4935-81af-d98652ffb1c4",
+ "storageToNetworkProximity": "T2"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ReInitializeReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ReInitializeReplication.json
new file mode 100644
index 000000000000..3f60674abbf8
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ReInitializeReplication.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ReestablishReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ReestablishReplication.json
new file mode 100644
index 000000000000..4d7739367096
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ReestablishReplication.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "sourceVolumeId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/mySourceRG/providers/Microsoft.NetApp/netAppAccounts/sourceAccount1/capacityPools/sourcePool1/volumes/sourceVolume1"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_Relocate.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_Relocate.json
new file mode 100644
index 000000000000..83337f8d8fb6
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_Relocate.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {}
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ReplicationStatus.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ReplicationStatus.json
new file mode 100644
index 000000000000..1399d6a0fec3
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ReplicationStatus.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "healthy": true,
+ "relationshipStatus": "Idle",
+ "mirrorState": "Mirrored",
+ "totalProgress": "1048576",
+ "errorMessage": ""
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ResetCifsPassword.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ResetCifsPassword.json
new file mode 100644
index 000000000000..f5077c2f6175
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ResetCifsPassword.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ResyncReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ResyncReplication.json
new file mode 100644
index 000000000000..3f60674abbf8
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_ResyncReplication.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_Revert.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_Revert.json
new file mode 100644
index 000000000000..57c2b8edc991
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_Revert.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "snapshotId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_RevertRelocation.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_RevertRelocation.json
new file mode 100644
index 000000000000..3f60674abbf8
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_RevertRelocation.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {
+ "location": "eastus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_SplitClone.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_SplitClone.json
new file mode 100644
index 000000000000..d4875bfdbe9f
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_SplitClone.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_Update.json
new file mode 100644
index 000000000000..050512eca205
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/examples/Volumes_Update.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9",
+ "resourceGroupName": "myRG",
+ "accountName": "account1",
+ "poolName": "pool1",
+ "volumeName": "volume1",
+ "api-version": "2023-11-01-preview",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1",
+ "name": "account1/pool1/volume1",
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "location": "eastus",
+ "properties": {
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "creationToken": "some-amazing-filepath",
+ "usageThreshold": 107374182400,
+ "serviceLevel": "Premium",
+ "provisioningState": "Succeeded",
+ "throughputMibps": 128,
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3",
+ "networkFeatures": "Standard",
+ "networkSiblingSetId": "0f434a03-ce0b-4935-81af-d98652ffb1c4",
+ "storageToNetworkProximity": "T2",
+ "dataProtection": {
+ "snapshot": {
+ "snapshotPolicyId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRP/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1"
+ }
+ }
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/616ee961-4042-4935-b4a0-ed6f4dae0172?api-version=2023-11-01-preview&operationResultResponseType=Location"
+ }
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/netapp.json
new file mode 100644
index 000000000000..64317bb0eed1
--- /dev/null
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2023-11-01-preview/netapp.json
@@ -0,0 +1,10459 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Microsoft NetApp",
+ "description": "Microsoft NetApp Azure Resource Provider specification",
+ "version": "2023-11-01-preview",
+ "x-ms-code-generation-settings": {
+ "name": "AzureNetAppFilesManagementClient"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "schemes": [
+ "https"
+ ],
+ "host": "management.azure.com",
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.NetApp/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "Describes the Resource Provider",
+ "description": "Lists all of the available Microsoft.NetApp Rest API operations",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OperationList": {
+ "$ref": "examples/OperationList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "NetApp Resource"
+ ],
+ "summary": "Check resource name availability",
+ "description": "Check if a resource name is available.",
+ "operationId": "NetAppResource_CheckNameAvailability",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Name availability request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResourceNameAvailabilityRequest"
+ },
+ "x-ms-client-flatten": true
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CheckAvailabilityResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CheckNameAvailability": {
+ "$ref": "examples/CheckNameAvailability.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkFilePathAvailability": {
+ "post": {
+ "tags": [
+ "NetApp Resource"
+ ],
+ "summary": "Check file path availability",
+ "description": "Check if a file path is available.",
+ "operationId": "NetAppResource_CheckFilePathAvailability",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "File path availability request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FilePathAvailabilityRequest"
+ },
+ "x-ms-client-flatten": true
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CheckAvailabilityResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CheckFilePathAvailability": {
+ "$ref": "examples/CheckFilePathAvailability.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkQuotaAvailability": {
+ "post": {
+ "tags": [
+ "NetApp Resource"
+ ],
+ "summary": "Check quota availability",
+ "description": "Check if a quota is available.",
+ "operationId": "NetAppResource_CheckQuotaAvailability",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Quota availability request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/QuotaAvailabilityRequest"
+ },
+ "x-ms-client-flatten": true
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CheckAvailabilityResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CheckQuotaAvailability": {
+ "$ref": "examples/CheckQuotaAvailability.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/quotaLimits": {
+ "get": {
+ "tags": [
+ "NetApp Resource"
+ ],
+ "summary": "Get quota limits",
+ "description": "Get the default and current limits for quotas",
+ "operationId": "NetAppResourceQuotaLimits_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SubscriptionQuotaItemList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "QuotaLimits": {
+ "$ref": "examples/QuotaLimits_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/quotaLimits/{quotaLimitName}": {
+ "get": {
+ "tags": [
+ "NetApp Resource"
+ ],
+ "summary": "Get quota limits",
+ "description": "Get the default and current subscription quota limit",
+ "operationId": "NetAppResourceQuotaLimits_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/QuotaLimitName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SubscriptionQuotaItem"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "QuotaLimits": {
+ "$ref": "examples/QuotaLimits_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/regionInfo": {
+ "get": {
+ "summary": "Describes region specific information.",
+ "description": "Provides storage to network proximity and logical zone mapping information.",
+ "tags": [
+ "NetApp Resource"
+ ],
+ "operationId": "NetAppResource_QueryRegionInfo",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/regionInfo"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegionInfo_Query": {
+ "$ref": "examples/RegionInfo.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/regionInfos": {
+ "get": {
+ "summary": "Describes region specific information.",
+ "description": "Provides region specific information.",
+ "tags": [
+ "NetApp Resource"
+ ],
+ "operationId": "NetAppResourceRegionInfos_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/regionInfosList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegionInfos_List": {
+ "$ref": "examples/RegionInfos_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/regionInfos/default": {
+ "get": {
+ "summary": "Describes region specific information.",
+ "description": "Provides storage to network proximity and logical zone mapping information.",
+ "tags": [
+ "NetApp Resource"
+ ],
+ "operationId": "NetAppResourceRegionInfos_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/regionInfoResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegionInfos_Get": {
+ "$ref": "examples/RegionInfos_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/queryNetworkSiblingSet": {
+ "post": {
+ "tags": [
+ "NetApp Resource"
+ ],
+ "summary": "Describe a network sibling set",
+ "description": "Get details of the specified network sibling set.",
+ "operationId": "NetAppResource_QueryNetworkSiblingSet",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Network sibling set to query.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/QueryNetworkSiblingSetRequest"
+ },
+ "x-ms-client-flatten": true
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/networkSiblingSet"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NetworkSiblingSet_Query": {
+ "$ref": "examples/NetworkSiblingSet_Query.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/updateNetworkSiblingSet": {
+ "post": {
+ "tags": [
+ "NetApp Resource"
+ ],
+ "summary": "Update the network features of a network sibling set",
+ "description": "Update the network features of the specified network sibling set.",
+ "operationId": "NetAppResource_UpdateNetworkSiblingSet",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Update for the specified network sibling set.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateNetworkSiblingSetRequest"
+ },
+ "x-ms-client-flatten": true
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/networkSiblingSet"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Update request accepted; operation will complete asynchronously",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "NetworkFeatures_Update": {
+ "$ref": "examples/NetworkSiblingSet_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/netAppAccounts": {
+ "get": {
+ "summary": "Describe all NetApp Accounts in a subscription",
+ "description": "List and describe all NetApp accounts in the subscription.",
+ "tags": [
+ "NetApp Accounts"
+ ],
+ "operationId": "Accounts_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/netAppAccountList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Accounts_List": {
+ "$ref": "examples/Accounts_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts": {
+ "get": {
+ "summary": "Describe all NetApp Accounts in a resource group",
+ "description": "List and describe all NetApp accounts in the resource group.",
+ "tags": [
+ "NetApp Accounts"
+ ],
+ "operationId": "Accounts_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/netAppAccountList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Accounts_List": {
+ "$ref": "examples/Accounts_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}": {
+ "get": {
+ "summary": "Describe a NetApp Account",
+ "description": "Get the NetApp account",
+ "tags": [
+ "NetApp Accounts"
+ ],
+ "operationId": "Accounts_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/netAppAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Accounts_Get": {
+ "$ref": "examples/Accounts_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NetApp Accounts"
+ ],
+ "operationId": "Accounts_CreateOrUpdate",
+ "summary": "Create or update a NetApp account",
+ "description": "Create or update the specified NetApp account within the resource group",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "NetApp Account object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/netAppAccount"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - account updated",
+ "schema": {
+ "$ref": "#/definitions/netAppAccount"
+ }
+ },
+ "201": {
+ "description": "Account created",
+ "schema": {
+ "$ref": "#/definitions/netAppAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Accounts_CreateOrUpdate": {
+ "$ref": "examples/Accounts_CreateOrUpdate.json"
+ },
+ "Accounts_CreateOrUpdateWithActiveDirectory": {
+ "$ref": "examples/Accounts_CreateOrUpdateAD.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NetApp Accounts"
+ ],
+ "operationId": "Accounts_Delete",
+ "summary": "Delete a NetApp account",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "description": "Delete the specified NetApp account",
+ "responses": {
+ "202": {
+ "description": "Accepted -- Delete request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Accounts_Delete": {
+ "$ref": "examples/Accounts_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "NetApp Accounts"
+ ],
+ "operationId": "Accounts_Update",
+ "summary": "Update a NetApp account",
+ "description": "Patch the specified NetApp account",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "NetApp Account object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/netAppAccountPatch"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - account updated",
+ "schema": {
+ "$ref": "#/definitions/netAppAccount"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/netAppAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Accounts_Update": {
+ "$ref": "examples/Accounts_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/renewCredentials": {
+ "post": {
+ "tags": [
+ "NetApp Accounts"
+ ],
+ "operationId": "Accounts_RenewCredentials",
+ "summary": "Renew identity credentials",
+ "description": "Renew identity credentials that are used to authenticate to key vault, for customer-managed key encryption. If encryption.identity.principalId does not match identity.principalId, running this operation will fix it.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - terminal state"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Accounts_RenewCredentials": {
+ "$ref": "examples/Accounts_RenewCredentials.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/migrateEncryption": {
+ "post": {
+ "tags": [
+ "NetApp Accounts"
+ ],
+ "operationId": "Accounts_MigrateEncryptionKey",
+ "summary": "Migrate volumes encryption key source.",
+ "description": "Migrates all volumes in a VNet to a different encryption key source (Microsoft-managed key or Azure Key Vault). Operation fails if targeted volumes share encryption sibling set with volumes from another account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "The required parameters to perform encryption migration.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/encryptionMigrationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Accounts_MigrateEncryptionKey": {
+ "$ref": "examples/Accounts_MigrateEncryptionKey.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/getKeyVaultStatus": {
+ "post": {
+ "tags": [
+ "NetApp Accounts"
+ ],
+ "operationId": "Accounts_GetChangeKeyVaultInformation",
+ "summary": "Get information about how volumes under NetApp account are encrypted.",
+ "description": "Contains data from encryption.keyVaultProperties as well as information about which private endpoint is used by each encryption sibling set. Response from this endpoint can be modified and used as request body for POST request.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Accounts_GetChangeKeyVaultInformation": {
+ "$ref": "examples/Accounts_GetChangeKeyVaultInformation.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/changeKeyVault": {
+ "post": {
+ "tags": [
+ "NetApp Accounts"
+ ],
+ "operationId": "Accounts_ChangeKeyVault",
+ "summary": "Change Key Vault/Managed HSM that is used for encryption of volumes under NetApp account.",
+ "description": "Affects existing volumes that are encrypted with Key Vault/Managed HSM, and new volumes. Supports MHSM to Key Vault, Key Vault to MHSM, MHSM to MHSM and Key Vault to Key Vault.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "The required parameters to perform encryption migration.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/changeKeyVault"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Accounts_ChangeKeyVault": {
+ "$ref": "examples/Accounts_ChangeKeyVault.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools": {
+ "get": {
+ "summary": "Describe all Capacity Pools",
+ "description": "List all capacity pools in the NetApp Account",
+ "tags": [
+ "Capacity Pools"
+ ],
+ "operationId": "Pools_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/capacityPoolList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Pools_List": {
+ "$ref": "examples/Pools_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}": {
+ "get": {
+ "summary": "Describe a Capacity Pool",
+ "description": "Get details of the specified capacity pool",
+ "tags": [
+ "Capacity Pools"
+ ],
+ "operationId": "Pools_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/capacityPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Pools_Get": {
+ "$ref": "examples/Pools_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Capacity Pools"
+ ],
+ "operationId": "Pools_CreateOrUpdate",
+ "summary": "Create or Update the specified capacity pool within the resource group",
+ "description": "Create or Update a capacity pool",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Capacity pool object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/capacityPool"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - pool updated",
+ "schema": {
+ "$ref": "#/definitions/capacityPool"
+ }
+ },
+ "201": {
+ "description": "Pool created",
+ "schema": {
+ "$ref": "#/definitions/capacityPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Pools_CreateOrUpdate": {
+ "$ref": "examples/Pools_CreateOrUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Capacity Pools"
+ ],
+ "operationId": "Pools_Update",
+ "summary": "Update a capacity pool",
+ "description": "Patch the specified capacity pool",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Capacity pool object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/capacityPoolPatch"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/capacityPool"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Update request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Pools_Update": {
+ "$ref": "examples/Pools_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Capacity Pools"
+ ],
+ "operationId": "Pools_Delete",
+ "summary": "Delete a capacity pool",
+ "description": "Delete the specified capacity pool",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted -- Delete request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Pools_Delete": {
+ "$ref": "examples/Pools_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes": {
+ "get": {
+ "summary": "Describe all volumes",
+ "description": "List all volumes within the capacity pool",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "tags": [
+ "Volumes"
+ ],
+ "operationId": "Volumes_List",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/volumeList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Volumes_List": {
+ "$ref": "examples/Volumes_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}": {
+ "get": {
+ "tags": [
+ "Volumes"
+ ],
+ "operationId": "Volumes_Get",
+ "summary": "Describe a volume",
+ "description": "Get the details of the specified volume",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/volume"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Volumes_Get": {
+ "$ref": "examples/Volumes_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Volumes"
+ ],
+ "operationId": "Volumes_CreateOrUpdate",
+ "summary": "Create or Update a volume",
+ "description": "Create or update the specified volume within the capacity pool",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Volume object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/volume"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok - volume updated",
+ "schema": {
+ "$ref": "#/definitions/volume"
+ }
+ },
+ "201": {
+ "description": "Volume created",
+ "schema": {
+ "$ref": "#/definitions/volume"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Volumes_CreateOrUpdate": {
+ "$ref": "examples/Volumes_CreateOrUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Volumes"
+ ],
+ "operationId": "Volumes_Update",
+ "summary": "Update a volume",
+ "description": "Patch the specified volume",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Volume object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/volumePatch"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/volume"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create or update request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Volumes_Update": {
+ "$ref": "examples/Volumes_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Volumes"
+ ],
+ "operationId": "Volumes_Delete",
+ "summary": "Delete a volume",
+ "description": "Delete the specified volume",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "in": "query",
+ "name": "forceDelete",
+ "type": "boolean",
+ "description": "An option to force delete the volume. Will cleanup resources connected to the particular volume",
+ "required": false
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted -- Delete request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Volumes_Delete": {
+ "$ref": "examples/Volumes_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/populateAvailabilityZone": {
+ "post": {
+ "tags": [
+ "Volumes"
+ ],
+ "summary": "Populate Availability Zone",
+ "description": "This operation will populate availability zone information for a volume",
+ "operationId": "Volumes_PopulateAvailabilityZone",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/volume"
+ }
+ },
+ "202": {
+ "description": "Accepted -- populate availability zone accepted; operation will complete asynchronously",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Volumes_PopulateAvailabilityZones": {
+ "$ref": "examples/Volumes_PopulateAvailabilityZones.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/revert": {
+ "post": {
+ "tags": [
+ "Volumes Revert"
+ ],
+ "summary": "Revert a volume to one of its snapshots",
+ "description": "Revert a volume to the snapshot specified in the body",
+ "operationId": "Volumes_Revert",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Object for snapshot to revert supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/volumeRevert"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - terminal state"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Volumes_Revert": {
+ "$ref": "examples/Volumes_Revert.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/resetCifsPassword": {
+ "post": {
+ "tags": [
+ "Reset Cifs Password"
+ ],
+ "summary": "Reset cifs password",
+ "description": "Reset cifs password from volume",
+ "operationId": "Volumes_ResetCifsPassword",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted -- Update request accepted; operation will complete asynchronously",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Volumes_ResetCifsPassword": {
+ "$ref": "examples/Volumes_ResetCifsPassword.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/splitCloneFromParent": {
+ "post": {
+ "tags": [
+ "Split clone volume"
+ ],
+ "summary": "Split clone from parent volume",
+ "description": " Split operation to convert clone volume to an independent volume.",
+ "operationId": "Volumes_SplitCloneFromParent",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Volumes_SplitClone": {
+ "$ref": "examples/Volumes_SplitClone.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/breakFileLocks": {
+ "post": {
+ "tags": [
+ "File Locks"
+ ],
+ "summary": "Break file locks",
+ "description": "Break all the file locks on a volume",
+ "operationId": "Volumes_BreakFileLocks",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Optional body to provide the ability to clear file locks with selected options",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/breakFileLocksRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - terminal state"
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Volumes_BreakFileLocks": {
+ "$ref": "examples/Volumes_BreakFileLocks.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/getGroupIdListForLdapUser": {
+ "post": {
+ "tags": [
+ "Group Id List for LDAP User"
+ ],
+ "summary": " Get Group Id List for LDAP User",
+ "description": "Returns the list of group Ids for a specific LDAP User",
+ "operationId": "Volumes_ListGetGroupIdListForLdapUser",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Returns group Id list for a specific LDAP user",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/getGroupIdListForLDAPUserRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/getGroupIdListForLDAPUserResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "GetGroupIdListForUser": {
+ "$ref": "examples/GroupIdListForLDAPUser.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/breakReplication": {
+ "post": {
+ "tags": [
+ "Volumes Replication"
+ ],
+ "summary": "Break volume replication",
+ "description": "Break the replication connection on the destination volume",
+ "operationId": "Volumes_BreakReplication",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Optional body to force break the replication.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/breakReplicationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - terminal state"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Volumes_BreakReplication": {
+ "$ref": "examples/Volumes_BreakReplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/reestablishReplication": {
+ "post": {
+ "tags": [
+ "Volumes Replication"
+ ],
+ "summary": "Re-establish volume replication",
+ "description": "Re-establish a previously deleted replication between 2 volumes that have a common ad-hoc or policy-based snapshots",
+ "operationId": "Volumes_ReestablishReplication",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "body for the id of the source volume.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/reestablishReplicationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Volumes_ReestablishReplication": {
+ "$ref": "examples/Volumes_ReestablishReplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/replicationStatus": {
+ "get": {
+ "tags": [
+ "Volumes Replication"
+ ],
+ "summary": "Get volume replication status",
+ "description": "Get the status of the replication",
+ "operationId": "Volumes_ReplicationStatus",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/replicationStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Volumes_ReplicationStatus": {
+ "$ref": "examples/Volumes_ReplicationStatus.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/listReplications": {
+ "post": {
+ "tags": [
+ "Volumes Replication"
+ ],
+ "summary": "List replications for volume",
+ "description": "List all replications for a specified volume",
+ "operationId": "Volumes_ListReplications",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/listReplications"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Volumes_ListReplications": {
+ "$ref": "examples/Volumes_ListReplications.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/resyncReplication": {
+ "post": {
+ "tags": [
+ "Volumes Replication"
+ ],
+ "summary": "Resync volume replication",
+ "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from destination to source.",
+ "operationId": "Volumes_ResyncReplication",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - terminal state"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Volumes_ResyncReplication": {
+ "$ref": "examples/Volumes_ResyncReplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/deleteReplication": {
+ "post": {
+ "tags": [
+ "Volumes Replication"
+ ],
+ "summary": "Delete volume replication",
+ "description": "Delete the replication connection on the destination volume, and send release to the source replication",
+ "operationId": "Volumes_DeleteReplication",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - terminal state"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Volumes_DeleteReplication": {
+ "$ref": "examples/Volumes_DeleteReplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/authorizeReplication": {
+ "post": {
+ "tags": [
+ "Volumes Replication"
+ ],
+ "summary": "Authorize source volume replication",
+ "description": "Authorize the replication connection on the source volume",
+ "operationId": "Volumes_AuthorizeReplication",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Authorize request object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/authorizeRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - terminal state"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Volumes_AuthorizeReplication": {
+ "$ref": "examples/Volumes_AuthorizeReplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/reinitializeReplication": {
+ "post": {
+ "tags": [
+ "Volumes Replication"
+ ],
+ "summary": "ReInitialize volume replication",
+ "description": "Re-Initializes the replication connection on the destination volume",
+ "operationId": "Volumes_ReInitializeReplication",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - terminal state"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Volumes_ReInitializeReplication": {
+ "$ref": "examples/Volumes_ReInitializeReplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/peerClusterForOnPremMigration": {
+ "post": {
+ "summary": "Start Cluster peering",
+ "description": "Starts peering the cluster for this migration volume",
+ "tags": [
+ "Volumes OnPrem Migration"
+ ],
+ "operationId": "Volumes_PeerClusterForOnPremMigration",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Cluster peer request object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/peerClusterForVolumeMigrationRequest"
+ }
+ }
+ ],
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location",
+ "final-state-schema": "#/definitions/clusterPeerCommandResponse"
+ },
+ "x-ms-examples": {
+ "Volumes_PeerClusterForOnPremMigration": {
+ "$ref": "examples/Volumes_PeerClusterForOnPremMigration.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/clusterPeerCommandResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/createOnPremMigrationReplication": {
+ "post": {
+ "summary": "Start migration process",
+ "description": "Starts SVM peering and returns a command to be run on the external ONTAP to accept it. Once the SVMs have been peered a SnapMirror will be created",
+ "tags": [
+ "Volumes OnPrem Migration"
+ ],
+ "operationId": "Volumes_CreateOnPremMigrationReplication",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location",
+ "final-state-schema": "#/definitions/svmPeerCommandResponse"
+ },
+ "x-ms-examples": {
+ "Volumes_CreateOnPremMigrationReplication": {
+ "$ref": "examples/Volumes_CreateOnPremMigrationReplication.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/svmPeerCommandResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/finalizeOnPremMigration": {
+ "post": {
+ "summary": "Finalize migration process",
+ "description": "Finalizes the migration of a volume by performing a final sync on the replication, breaking and releasing the replication, and breaking the cluster peering if no other migration is active.",
+ "tags": [
+ "Volumes OnPrem Migration Finalize"
+ ],
+ "operationId": "Volumes_FinalizeOnPremMigration",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Volumes_FinalizeOnPremMigration": {
+ "$ref": "examples/Volumes_FinalizeOnPremMigration.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/performReplicationTransfer": {
+ "post": {
+ "tags": [
+ "Volumes OnPrem Migration"
+ ],
+ "summary": "Perform a replication transfer",
+ "description": "Performs an adhoc replication transfer on a volume with volumeType Migration",
+ "operationId": "Volumes_PerformReplicationTransfer",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Volumes_PerformReplicationTransfer": {
+ "$ref": "examples/Volumes_PerformReplicationTransfer.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/poolChange": {
+ "post": {
+ "tags": [
+ "Pool Change"
+ ],
+ "summary": "Change pool for volume",
+ "description": "Moves volume to another pool",
+ "operationId": "Volumes_PoolChange",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Move volume to the pool supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/poolChangeRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - terminal state"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Volumes_AuthorizeReplication": {
+ "$ref": "examples/Volumes_PoolChange.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/relocate": {
+ "post": {
+ "tags": [
+ "Volumes Relocation"
+ ],
+ "summary": "Relocate volume",
+ "description": "Relocates volume to a new stamp",
+ "operationId": "Volumes_Relocate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Relocate volume request",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/relocateVolumeRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - terminal state"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Volumes_Relocate": {
+ "$ref": "examples/Volumes_Relocate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/finalizeRelocation": {
+ "post": {
+ "tags": [
+ "Volumes Relocation"
+ ],
+ "summary": "Finalize volume relocation",
+ "description": "Finalizes the relocation of the volume and cleans up the old volume.",
+ "operationId": "Volumes_FinalizeRelocation",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - terminal state"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Volumes_FinalizeRelocation": {
+ "$ref": "examples/Volumes_FinalizeRelocation.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/revertRelocation": {
+ "post": {
+ "tags": [
+ "Volumes Relocation"
+ ],
+ "summary": "Revert volume relocation",
+ "description": "Reverts the volume relocation process, cleans up the new volume and starts using the former-existing volume.",
+ "operationId": "Volumes_RevertRelocation",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - terminal state"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Volumes_RevertRelocation": {
+ "$ref": "examples/Volumes_RevertRelocation.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_List",
+ "summary": "Describe all snapshots",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "description": "List all snapshots associated with the volume",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/snapshotsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Snapshots_List": {
+ "$ref": "examples/Snapshots_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Get",
+ "summary": "Describe a snapshot",
+ "description": "Get details of the specified snapshot",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/SnapshotName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/snapshot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Snapshots_Get": {
+ "$ref": "examples/Snapshots_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Create",
+ "summary": "Create a snapshot",
+ "description": "Create the specified snapshot within the given volume",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Snapshot object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/snapshot"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/SnapshotName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Snapshot created",
+ "schema": {
+ "$ref": "#/definitions/snapshot"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Snapshots_Create": {
+ "$ref": "examples/Snapshots_Create.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Update",
+ "summary": "Update a snapshot",
+ "description": "Patch a snapshot",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Snapshot object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/snapshotPatch"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/SnapshotName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/snapshot"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Update request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Snapshots_Update": {
+ "$ref": "examples/Snapshots_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Delete",
+ "summary": "Delete a snapshot",
+ "description": "Delete snapshot",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/SnapshotName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted -- Delete request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Snapshots_Delete": {
+ "$ref": "examples/Snapshots_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}/restoreFiles": {
+ "post": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_RestoreFiles",
+ "summary": "Create a new Snapshot Restore Files request",
+ "description": "Restore the specified files from the specified snapshot to the active filesystem",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Restore payload supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/snapshotRestoreFiles"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/SnapshotName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - terminal state"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Snapshots_SingleFileRestore": {
+ "$ref": "examples/Snapshots_SingleFileRestore.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies": {
+ "get": {
+ "operationId": "SnapshotPolicies_List",
+ "description": "List snapshot policy",
+ "tags": [
+ "Snapshot Policy"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/snapshotPoliciesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SnapshotPolicies_List": {
+ "$ref": "examples/SnapshotPolicies_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies/{snapshotPolicyName}": {
+ "get": {
+ "operationId": "SnapshotPolicies_Get",
+ "description": "Get a snapshot Policy",
+ "tags": [
+ "Snapshot Policy"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/SnapshotPolicyName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/snapshotPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SnapshotPolicies_Get": {
+ "$ref": "examples/SnapshotPolicies_Get.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "SnapshotPolicies_Create",
+ "description": "Create a snapshot policy",
+ "tags": [
+ "Snapshot Policy"
+ ],
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Snapshot policy object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/snapshotPolicy"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/SnapshotPolicyName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - snapshot Policy updated",
+ "schema": {
+ "$ref": "#/definitions/snapshotPolicy"
+ }
+ },
+ "201": {
+ "description": "Snapshot Policy created",
+ "schema": {
+ "$ref": "#/definitions/snapshotPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "SnapshotPolicies_Create": {
+ "$ref": "examples/SnapshotPolicies_Create.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Snapshot Policy"
+ ],
+ "operationId": "SnapshotPolicies_Update",
+ "description": "Patch a snapshot policy",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Snapshot policy object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/snapshotPolicyPatch"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/SnapshotPolicyName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/snapshotPolicy"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create or update request accepted; operation will complete asynchronously",
+ "schema": {
+ "$ref": "#/definitions/snapshotPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "SnapshotPolicies_Update": {
+ "$ref": "examples/SnapshotPolicies_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SnapshotPolicies_Delete",
+ "description": "Delete snapshot policy",
+ "tags": [
+ "Snapshot Policy"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/SnapshotPolicyName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted -- Create or update request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "SnapshotPolicies_Delete": {
+ "$ref": "examples/SnapshotPolicies_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies/{snapshotPolicyName}/volumes": {
+ "get": {
+ "tags": [
+ "Snapshot Policy List Volumes"
+ ],
+ "summary": "Get volumes for snapshot policy",
+ "description": "Get volumes associated with snapshot policy",
+ "operationId": "SnapshotPolicies_ListVolumes",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/SnapshotPolicyName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/snapshotPolicyVolumeList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SnapshotPolicies_ListVolumes": {
+ "$ref": "examples/SnapshotPolicies_ListVolumes.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupPolicies": {
+ "get": {
+ "tags": [
+ "Backup Policy"
+ ],
+ "summary": "List backup policies",
+ "description": "List backup policies for Netapp Account",
+ "operationId": "BackupPolicies_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/backupPoliciesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "BackupPolicies_List": {
+ "$ref": "examples/BackupPolicies_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupPolicies/{backupPolicyName}": {
+ "get": {
+ "tags": [
+ "Backup Policy"
+ ],
+ "summary": "Get a backup Policy",
+ "description": "Get a particular backup Policy",
+ "operationId": "BackupPolicies_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/BackupPolicyName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/backupPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Backups_Get": {
+ "$ref": "examples/BackupPolicies_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Backup Policy"
+ ],
+ "summary": "Create a backup policy",
+ "description": "Create a backup policy for Netapp Account",
+ "operationId": "BackupPolicies_Create",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/BackupPolicyName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Backup policy object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/backupPolicy"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Backup Policy created",
+ "schema": {
+ "$ref": "#/definitions/backupPolicy"
+ }
+ },
+ "201": {
+ "description": "Backup created",
+ "schema": {
+ "$ref": "#/definitions/backupPolicy"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "BackupPolicies_Create": {
+ "$ref": "examples/BackupPolicies_Create.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Backup Policy"
+ ],
+ "summary": "Patch a backup policy",
+ "description": "Patch a backup policy for Netapp Account",
+ "operationId": "BackupPolicies_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/BackupPolicyName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Backup policy object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/backupPolicyPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/backupPolicy"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create or update request accepted; operation will complete asynchronously",
+ "schema": {
+ "$ref": "#/definitions/backupPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "BackupPolicies_Update": {
+ "$ref": "examples/BackupPolicies_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Backup Policy"
+ ],
+ "summary": "Delete a backup policy",
+ "description": "Delete backup policy",
+ "operationId": "BackupPolicies_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/BackupPolicyName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted -- Create or update request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "BackupPolicies_Delete": {
+ "$ref": "examples/BackupPolicies_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/volumeQuotaRules": {
+ "get": {
+ "tags": [
+ "VolumeQuotaRules"
+ ],
+ "operationId": "VolumeQuotaRules_ListByVolume",
+ "summary": "Get all quota rules for a volume",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "description": "List all quota rules associated with the volume",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/volumeQuotaRulesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "VolumeQuotaRules_List": {
+ "$ref": "examples/VolumeQuotaRules_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/volumeQuotaRules/{volumeQuotaRuleName}": {
+ "get": {
+ "tags": [
+ "VolumeQuotaRules"
+ ],
+ "operationId": "VolumeQuotaRules_Get",
+ "summary": "Describe a quota rule",
+ "description": "Get details of the specified quota rule",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/VolumeQuotaRuleName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/volumeQuotaRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "VolumeQuotaRules_Get": {
+ "$ref": "examples/VolumeQuotaRules_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "VolumeQuotaRules"
+ ],
+ "operationId": "VolumeQuotaRules_Create",
+ "summary": "Create a quota rule",
+ "description": "Create the specified quota rule within the given volume",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Quota rule object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/volumeQuotaRule"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/VolumeQuotaRuleName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - VolumeQuotaRule updated",
+ "schema": {
+ "$ref": "#/definitions/volumeQuotaRule"
+ }
+ },
+ "201": {
+ "description": "Quota rule Created",
+ "schema": {
+ "$ref": "#/definitions/volumeQuotaRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "VolumeQuotaRules_Create": {
+ "$ref": "examples/VolumeQuotaRules_Create.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VolumeQuotaRules"
+ ],
+ "operationId": "VolumeQuotaRules_Update",
+ "summary": "Update a quota rule",
+ "description": "Patch a quota rule",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Quota rule object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/volumeQuotaRulePatch"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/VolumeQuotaRuleName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/volumeQuotaRule"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Update request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "VolumeQuotaRules_Update": {
+ "$ref": "examples/VolumeQuotaRules_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "VolumeQuotaRules"
+ ],
+ "operationId": "VolumeQuotaRules_Delete",
+ "summary": "Delete a quota rule",
+ "description": "Delete quota rule",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/VolumeQuotaRuleName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted -- Delete request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "VolumeQuotaRules_Delete": {
+ "$ref": "examples/VolumeQuotaRules_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/volumeGroups": {
+ "get": {
+ "summary": "Describe all volume groups",
+ "description": "List all volume groups for given account",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "tags": [
+ "Volume Groups"
+ ],
+ "operationId": "VolumeGroups_ListByNetAppAccount",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/volumeGroupList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "VolumeGroups_List_SapHana": {
+ "$ref": "examples/VolumeGroups_List_SapHana.json"
+ },
+ "VolumeGroups_List_Oracle": {
+ "$ref": "examples/VolumeGroups_List_Oracle.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/volumeGroups/{volumeGroupName}": {
+ "get": {
+ "summary": "Describe a Volume Group",
+ "description": "Get details of the specified volume group",
+ "tags": [
+ "Volume Groups"
+ ],
+ "operationId": "VolumeGroups_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/VolumeGroupName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/volumeGroupDetails"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "VolumeGroups_Get_SapHana": {
+ "$ref": "examples/VolumeGroups_Get_SapHana.json"
+ },
+ "VolumeGroups_Get_Oracle": {
+ "$ref": "examples/VolumeGroups_Get_Oracle.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Volume Groups"
+ ],
+ "operationId": "VolumeGroups_Create",
+ "summary": "Create the specified volume group and volumes. Creating volume group will create all the volumes specified in request body implicitly. Once volumes are created using volume group, those will be treated as regular volumes thereafter.",
+ "description": "Create a volume group along with specified volumes",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Volume Group object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/volumeGroupDetails"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/VolumeGroupName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Volume group created",
+ "schema": {
+ "$ref": "#/definitions/volumeGroupDetails"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "VolumeGroups_Create_SapHana": {
+ "$ref": "examples/VolumeGroups_Create_SapHana.json"
+ },
+ "VolumeGroups_Create_Oracle": {
+ "$ref": "examples/VolumeGroups_Create_Oracle.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Volume Groups"
+ ],
+ "operationId": "VolumeGroups_Delete",
+ "summary": "Delete a volume group",
+ "description": "Delete the specified volume group only if there are no volumes under volume group.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/VolumeGroupName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted -- Delete request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "VolumeGroups_Delete": {
+ "$ref": "examples/VolumeGroups_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/subvolumes": {
+ "get": {
+ "tags": [
+ "Subvolumes"
+ ],
+ "operationId": "Subvolumes_ListByVolume",
+ "summary": "List of all the subvolumes",
+ "description": "Returns a list of the subvolumes in the volume",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/subvolumesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Subvolumes_List": {
+ "$ref": "examples/Subvolumes_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/subvolumes/{subvolumeName}": {
+ "get": {
+ "tags": [
+ "Subvolumes"
+ ],
+ "summary": "Get the path associated with the subvolumeName",
+ "description": "Returns the path associated with the subvolumeName provided",
+ "operationId": "Subvolumes_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/SubvolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/subvolumeInfo"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Subvolumes_Get": {
+ "$ref": "examples/Subvolumes_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Subvolumes"
+ ],
+ "summary": "Create or clone a new subvolume",
+ "description": "Creates a subvolume in the path or clones the subvolume mentioned in the parentPath",
+ "operationId": "Subvolumes_Create",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Subvolume object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/subvolumeInfo"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/SubvolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - updated",
+ "schema": {
+ "$ref": "#/definitions/subvolumeInfo"
+ }
+ },
+ "201": {
+ "description": "Subvolume created",
+ "schema": {
+ "$ref": "#/definitions/subvolumeInfo"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Subvolumes_Create": {
+ "$ref": "examples/Subvolumes_Create.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Subvolumes"
+ ],
+ "operationId": "Subvolumes_Update",
+ "summary": "Update a subvolume",
+ "description": "Patch a subvolume",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Subvolume object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/subvolumePatchRequest"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/SubvolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "schema": {
+ "$ref": "#/definitions/subvolumeInfo"
+ },
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted -- Update request accepted; operation will complete asynchronously"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Subvolumes_Update": {
+ "$ref": "examples/Subvolumes_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Subvolumes"
+ ],
+ "operationId": "Subvolumes_Delete",
+ "summary": "Delete a subvolume",
+ "description": "Delete subvolume",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/SubvolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted -- Delete request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Subvolumes_Delete": {
+ "$ref": "examples/Subvolumes_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/subvolumes/{subvolumeName}/getMetadata": {
+ "post": {
+ "tags": [
+ "Subvolumes"
+ ],
+ "operationId": "Subvolumes_GetMetadata",
+ "summary": "Describe a subvolume",
+ "description": "Get details of the specified subvolume",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "#/parameters/SubvolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/subvolumeModel"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Subvolumes_Metadata": {
+ "$ref": "examples/Subvolumes_Metadata.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/latestBackupStatus/current": {
+ "get": {
+ "tags": [
+ "Backups"
+ ],
+ "summary": "Get the latest backup status of a volume",
+ "description": "Get the latest status of the backup for a volume",
+ "operationId": "Backups_GetLatestStatus",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/backupStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Volumes_BackupStatus": {
+ "$ref": "examples/Volumes_LatestBackupStatus.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/latestRestoreStatus/current": {
+ "get": {
+ "tags": [
+ "Restore"
+ ],
+ "summary": "Get the latest restore status of a volume",
+ "description": "Get the latest status of the restore for a volume",
+ "operationId": "Backups_GetVolumeLatestRestoreStatus",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/restoreStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Volumes_RestoreStatus": {
+ "$ref": "examples/Volumes_LatestRestoreStatus.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupVaults/{backupVaultName}/backups": {
+ "get": {
+ "tags": [
+ "Backups"
+ ],
+ "summary": "List Backups",
+ "description": "List all backups Under a Backup Vault",
+ "operationId": "Backups_ListByVault",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/BackupVaultName"
+ },
+ {
+ "in": "query",
+ "name": "$filter",
+ "type": "string",
+ "description": "An option to specify the VolumeResourceId. If present, then only returns the backups under the specified volume",
+ "required": false
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/backupsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Backups_List": {
+ "$ref": "examples/BackupsUnderBackupVault_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupVaults/{backupVaultName}/backups/{backupName}": {
+ "get": {
+ "summary": "Describe the Backup under Backup Vault",
+ "description": "Get the specified Backup under Backup Vault.",
+ "tags": [
+ "Backups"
+ ],
+ "operationId": "Backups_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/BackupVaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/backup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "BackupsUnderBackupVault_Get": {
+ "$ref": "examples/BackupsUnderBackupVault_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Backups"
+ ],
+ "summary": "Create a backup",
+ "description": "Create a backup under the Backup Vault",
+ "operationId": "Backups_Create",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/BackupVaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Backup object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/backup"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - backup created updated",
+ "schema": {
+ "$ref": "#/definitions/backup"
+ }
+ },
+ "201": {
+ "description": "Backup created",
+ "schema": {
+ "$ref": "#/definitions/backup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "BackupsUnderBackupVault_Create": {
+ "$ref": "examples/BackupsUnderBackupVault_Create.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Backups"
+ ],
+ "summary": "Patch a backup",
+ "description": "Patch a Backup under the Backup Vault",
+ "operationId": "Backups_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/BackupVaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Backup object supplied in the body of the operation.",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/backupPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/backup"
+ }
+ },
+ "202": {
+ "description": "Accepted -- Create or update request accepted; operation will complete asynchronously",
+ "schema": {
+ "$ref": "#/definitions/backup"
+ },
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "BackupsUnderBackupVault_Update": {
+ "$ref": "examples/BackupsUnderBackupVault_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Backups"
+ ],
+ "summary": "Delete backup",
+ "description": "Delete a Backup under the Backup Vault",
+ "operationId": "Backups_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/BackupVaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted -- Create or update request accepted; operation will complete asynchronously",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "BackupsUnderBackupVault_Delete": {
+ "$ref": "examples/BackupsUnderBackupVault_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupVaults": {
+ "get": {
+ "summary": "Describe all Backup Vaults",
+ "description": "List and describe all Backup Vaults in the NetApp account.",
+ "tags": [
+ "Backup Vaults"
+ ],
+ "operationId": "BackupVaults_ListByNetAppAccount",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/backupVaultsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "BackupVaults_List": {
+ "$ref": "examples/BackupVaults_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupVaults/{backupVaultName}": {
+ "get": {
+ "summary": "Describe the Backup Vault",
+ "description": "Get the Backup Vault",
+ "tags": [
+ "Backup Vaults"
+ ],
+ "operationId": "BackupVaults_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/BackupVaultName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/backupVault"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "BackupVaults_Get": {
+ "$ref": "examples/BackupVaults_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Backup Vaults"
+ ],
+ "summary": "Create or Update a Backup Vault",
+ "description": "Create or update the specified Backup Vault in the NetApp account",
+ "operationId": "BackupVaults_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/BackupVaultName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "BackupVault object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/backupVault"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - backupVault updated",
+ "schema": {
+ "$ref": "#/definitions/backupVault"
+ }
+ },
+ "201": {
+ "description": "backupVault created",
+ "schema": {
+ "$ref": "#/definitions/backupVault"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "BackupVault_CreateOrUpdate": {
+ "$ref": "examples/BackupVaults_Create.json"
+ }
+ }
+ },
+ "patch": {
+ "summary": "Update NetApp Backup Vault",
+ "description": "Patch the specified NetApp Backup Vault",
+ "tags": [
+ "Backup Vaults"
+ ],
+ "operationId": "BackupVaults_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/BackupVaultName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "description": "Backup Vault object supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/backupVaultPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Backup Vault updated.",
+ "schema": {
+ "$ref": "#/definitions/backupVault"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/backupVault"
+ },
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "BackupVaults_Update": {
+ "$ref": "examples/BackupVaults_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete NetApp Backup Vault",
+ "description": "Delete the specified Backup Vault",
+ "tags": [
+ "Backup Vaults"
+ ],
+ "operationId": "BackupVaults_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/BackupVaultName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted -- Delete request accepted; operation will complete asynchronously",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent -- Resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "BackupVaults_Delete": {
+ "$ref": "examples/BackupVaults_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupVaults/{backupVaultName}/backups/{backupName}/restoreFiles": {
+ "post": {
+ "tags": [
+ "Backups"
+ ],
+ "operationId": "BackupsUnderBackupVault_RestoreFiles",
+ "summary": "Create a new Backup Restore Files request",
+ "description": "Restore the specified files from the specified backup to the active filesystem",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Restore payload supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/backupRestoreFiles"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/BackupVaultName"
+ },
+ {
+ "$ref": "#/parameters/BackupName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Backups_SingleFileRestore": {
+ "$ref": "examples/BackupsUnderBackupVault_SingleFileRestore.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/migrateBackups": {
+ "post": {
+ "tags": [
+ "Backups"
+ ],
+ "operationId": "BackupsUnderVolume_MigrateBackups",
+ "summary": "Create a new migrate request for backups under volume",
+ "description": "Migrate the backups under volume to backup vault",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Migrate backups under volume payload supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/backupsMigrationRequest"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "#/parameters/PoolName"
+ },
+ {
+ "$ref": "#/parameters/VolumeName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "BackupsUnderVolume_Migrate": {
+ "$ref": "examples/BackupsUnderVolume_Migrate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/migrateBackups": {
+ "post": {
+ "tags": [
+ "Backups"
+ ],
+ "operationId": "BackupsUnderAccount_MigrateBackups",
+ "summary": "Create a new migrate request for backups under account",
+ "description": "Migrate the backups under a NetApp account to backup vault",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Migrate backups under an account payload supplied in the body of the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/backupsMigrationRequest"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "BackupsUnderAccount_Migrate": {
+ "$ref": "examples/BackupsUnderAccount_Migrate.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "description": "Result of the request to list Cloud Volume operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ],
+ "description": "List of Storage operations supported by the Storage resource provider."
+ }
+ }
+ },
+ "Operation": {
+ "description": "Microsoft.NetApp REST API operation definition.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "Display metadata associated with the operation.",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft NetApp.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed etc.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Type of operation: get, read, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Operation description.",
+ "type": "string"
+ }
+ }
+ },
+ "origin": {
+ "type": "string",
+ "description": "The origin of operations."
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Properties of operation, include metric specifications.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Properties of operation, include metric specifications.",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ServiceSpecification",
+ "description": "One property of operation, include metric specifications."
+ }
+ }
+ },
+ "ServiceSpecification": {
+ "description": "One property of operation, include metric specifications.",
+ "properties": {
+ "metricSpecifications": {
+ "description": "Metric specifications of operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricSpecification"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "logSpecifications": {
+ "description": "Log specification of operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogSpecification"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ }
+ }
+ },
+ "MetricSpecification": {
+ "description": "Metric specification of operation.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of metric specification."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of metric specification."
+ },
+ "displayDescription": {
+ "type": "string",
+ "description": "Display description of metric specification."
+ },
+ "unit": {
+ "type": "string",
+ "description": "Unit could be Bytes or Count."
+ },
+ "supportedAggregationTypes": {
+ "description": "Support metric aggregation type.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "Average"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricAggregationType",
+ "modelAsString": true
+ }
+ }
+ },
+ "supportedTimeGrainTypes": {
+ "type": "array",
+ "description": "The supported time grain types for the metrics.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "internalMetricName": {
+ "type": "string",
+ "description": "The internal metric name."
+ },
+ "enableRegionalMdmAccount": {
+ "description": "Whether or not the service is using regional MDM accounts.",
+ "type": "boolean"
+ },
+ "sourceMdmAccount": {
+ "type": "string",
+ "description": "The source MDM account."
+ },
+ "sourceMdmNamespace": {
+ "type": "string",
+ "description": "The source MDM namespace."
+ },
+ "dimensions": {
+ "description": "Dimensions of blobs, including blob type and access tier.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ },
+ "aggregationType": {
+ "type": "string",
+ "description": "Aggregation type could be Average."
+ },
+ "fillGapWithZero": {
+ "type": "boolean",
+ "description": "The property to decide fill gap with zero or not."
+ },
+ "category": {
+ "type": "string",
+ "description": "The category this metric specification belong to, could be Capacity."
+ },
+ "resourceIdDimensionNameOverride": {
+ "type": "string",
+ "description": "Account Resource Id."
+ },
+ "isInternal": {
+ "description": "Whether the metric is internal.",
+ "type": "boolean"
+ }
+ }
+ },
+ "LogSpecification": {
+ "description": "Log Definition of a single resource metric.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of log specification.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Display name of log specification.",
+ "type": "string"
+ }
+ }
+ },
+ "Dimension": {
+ "description": "Dimension of blobs, possibly be blob type or access tier.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Display name of dimension."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of dimension."
+ }
+ }
+ },
+ "CheckAvailabilityResponse": {
+ "description": "Information regarding availability of a resource.",
+ "type": "object",
+ "properties": {
+ "isAvailable": {
+ "description": "true
indicates name is valid and available. false
indicates the name is invalid, unavailable, or both.",
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "Invalid
indicates the name provided does not match Azure App Service naming requirements. AlreadyExists
indicates that the name is already in use and is therefore unavailable.",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InAvailabilityReasonType",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that resource name is already in use, and direct them to select a different name.",
+ "type": "string"
+ }
+ }
+ },
+ "regionInfosList": {
+ "description": "List of regionInfo resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of regionInfo resources",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/regionInfoResource"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ }
+ },
+ "regionInfoResource": {
+ "description": "Information regarding regionInfo Item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "regionInfo properties",
+ "$ref": "#/definitions/regionInfo",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "regionInfo": {
+ "description": "Provides region specific information.",
+ "type": "object",
+ "properties": {
+ "storageToNetworkProximity": {
+ "title": "Storage to Network Proximity",
+ "description": "Provides storage to network proximity information in the region.",
+ "type": "string",
+ "enum": [
+ "Default",
+ "T1",
+ "T2",
+ "AcrossT2",
+ "T1AndT2",
+ "T1AndAcrossT2",
+ "T2AndAcrossT2",
+ "T1AndT2AndAcrossT2"
+ ],
+ "x-ms-enum": {
+ "name": "RegionStorageToNetworkProximity",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Default",
+ "description": "Basic network connectivity."
+ },
+ {
+ "value": "T1",
+ "description": "Standard T1 network connectivity."
+ },
+ {
+ "value": "T2",
+ "description": "Standard T2 network connectivity."
+ },
+ {
+ "value": "AcrossT2",
+ "description": "Standard AcrossT2 network connectivity."
+ },
+ {
+ "value": "T1AndT2",
+ "description": "Standard T1 and T2 network connectivity."
+ },
+ {
+ "value": "T1AndAcrossT2",
+ "description": "Standard T1 and AcrossT2 network connectivity."
+ },
+ {
+ "value": "T2AndAcrossT2",
+ "description": "Standard T2 and AcrossT2 network connectivity."
+ },
+ {
+ "value": "T1AndT2AndAcrossT2",
+ "description": "Standard T1, T2 and AcrossT2 network connectivity."
+ }
+ ]
+ },
+ "example": "T2"
+ },
+ "availabilityZoneMappings": {
+ "title": "Logical availability zone mappings.",
+ "description": "Provides logical availability zone mappings for the subscription for a region.",
+ "type": "array",
+ "x-ms-identifiers": [
+ "availabilityZone"
+ ],
+ "items": {
+ "type": "object",
+ "properties": {
+ "availabilityZone": {
+ "description": "Logical availability zone.",
+ "type": "string",
+ "example": "1"
+ },
+ "isAvailable": {
+ "description": "Available availability zone",
+ "type": "boolean",
+ "example": true
+ }
+ }
+ }
+ }
+ }
+ },
+ "ResourceNameAvailabilityRequest": {
+ "description": "Resource name availability request content.",
+ "required": [
+ "name",
+ "type",
+ "resourceGroup"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Resource name to verify.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Resource type used for verification.",
+ "enum": [
+ "Microsoft.NetApp/netAppAccounts",
+ "Microsoft.NetApp/netAppAccounts/capacityPools",
+ "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CheckNameResourceTypes",
+ "modelAsString": true
+ }
+ },
+ "resourceGroup": {
+ "description": "Resource group name.",
+ "type": "string"
+ }
+ }
+ },
+ "FilePathAvailabilityRequest": {
+ "description": "File path availability request content - availability is based on the name and the subnetId.",
+ "required": [
+ "name",
+ "subnetId"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "File path to verify.",
+ "type": "string"
+ },
+ "subnetId": {
+ "type": "string",
+ "description": "The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes"
+ },
+ "availabilityZone": {
+ "title": "Logical availability zone",
+ "type": "string",
+ "example": "1",
+ "x-nullable": true,
+ "description": "The Azure Resource logical availability zone which is used within zone mapping lookup for the subscription and region. The lookup will retrieve the physical zone where volume is placed."
+ }
+ }
+ },
+ "QuotaAvailabilityRequest": {
+ "description": "Quota availability request content.",
+ "required": [
+ "name",
+ "type",
+ "resourceGroup"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the resource to verify.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Resource type used for verification.",
+ "enum": [
+ "Microsoft.NetApp/netAppAccounts",
+ "Microsoft.NetApp/netAppAccounts/capacityPools",
+ "Microsoft.NetApp/netAppAccounts/capacityPools/volumes",
+ "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CheckQuotaNameResourceTypes",
+ "modelAsString": true
+ }
+ },
+ "resourceGroup": {
+ "description": "Resource group name.",
+ "type": "string"
+ }
+ }
+ },
+ "SubscriptionQuotaItemList": {
+ "description": "List of Subscription Quota Items",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of SubscriptionQuotaItems",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubscriptionQuotaItem"
+ }
+ }
+ }
+ },
+ "SubscriptionQuotaItem": {
+ "description": "Information regarding Subscription Quota Item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "SubscriptionQuotaItem properties",
+ "$ref": "#/definitions/SubscriptionQuotaItemProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "SubscriptionQuotaItemProperties": {
+ "description": "SubscriptionQuotaItem Properties",
+ "type": "object",
+ "properties": {
+ "current": {
+ "description": "The current quota value.",
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32"
+ },
+ "default": {
+ "description": "The default quota value.",
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "netAppAccountList": {
+ "description": "List of NetApp account resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Multiple NetApp accounts",
+ "items": {
+ "$ref": "#/definitions/netAppAccount"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ }
+ },
+ "netAppAccount": {
+ "description": "NetApp account resource",
+ "type": "object",
+ "required": [
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "properties": {
+ "description": "NetApp Account properties",
+ "$ref": "#/definitions/accountProperties",
+ "x-ms-client-flatten": true
+ },
+ "identity": {
+ "description": "The identity used for the resource.",
+ "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity"
+ }
+ }
+ },
+ "netAppAccountPatch": {
+ "description": "NetApp account patch resource",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "NetApp Account properties",
+ "$ref": "#/definitions/accountProperties",
+ "x-ms-client-flatten": true
+ },
+ "identity": {
+ "description": "The identity used for the resource.",
+ "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity"
+ }
+ }
+ },
+ "accountProperties": {
+ "description": "NetApp account properties",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure lifecycle management"
+ },
+ "activeDirectories": {
+ "description": "Active Directories",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/activeDirectory"
+ },
+ "x-ms-identifiers": [
+ "activeDirectoryId"
+ ]
+ },
+ "encryption": {
+ "description": "Encryption settings",
+ "$ref": "#/definitions/accountEncryption"
+ },
+ "disableShowmount": {
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": true,
+ "description": "Shows the status of disableShowmount for all volumes under the subscription, null equals false"
+ },
+ "nfsV4IDDomain": {
+ "type": "string",
+ "description": "Domain for NFSv4 user ID mapping. This property will be set for all NetApp accounts in the subscription and region and only affect non ldap NFSv4 volumes.",
+ "maxLength": 255,
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9.-]{0,253}[a-zA-Z0-9]$",
+ "x-nullable": true,
+ "example": "defaultv4IDDomain.com"
+ },
+ "isMultiAdEnabled": {
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": true,
+ "description": "This will have true value only if account is Multiple AD enabled."
+ }
+ }
+ },
+ "activeDirectory": {
+ "description": "Active Directory",
+ "type": "object",
+ "properties": {
+ "activeDirectoryId": {
+ "type": "string",
+ "x-nullable": true,
+ "description": "Id of the Active Directory"
+ },
+ "username": {
+ "type": "string",
+ "description": "A domain user account with permission to create machine accounts"
+ },
+ "password": {
+ "type": "string",
+ "x-ms-secret": true,
+ "maxLength": 64,
+ "description": "Plain text password of Active Directory domain administrator, value is masked in the response"
+ },
+ "domain": {
+ "type": "string",
+ "description": "Name of the Active Directory domain"
+ },
+ "dns": {
+ "type": "string",
+ "description": "Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain",
+ "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$",
+ "example": "101.102.103.104,101.102.103.105"
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of the Active Directory",
+ "readOnly": true,
+ "enum": [
+ "Created",
+ "Updating",
+ "InUse",
+ "Deleted",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "ActiveDirectoryStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Created",
+ "description": "Active Directory created but not in use"
+ },
+ {
+ "value": "InUse",
+ "description": "Active Directory in use by SMB Volume"
+ },
+ {
+ "value": "Deleted",
+ "description": "Active Directory Deleted"
+ },
+ {
+ "value": "Error",
+ "description": "Error with the Active Directory"
+ },
+ {
+ "value": "Updating",
+ "description": "Active Directory Updating"
+ }
+ ]
+ }
+ },
+ "statusDetails": {
+ "type": "string",
+ "description": "Any details in regards to the Status of the Active Directory",
+ "readOnly": true
+ },
+ "smbServerName": {
+ "type": "string",
+ "description": "NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes"
+ },
+ "organizationalUnit": {
+ "type": "string",
+ "default": "CN=Computers",
+ "description": "The Organizational Unit (OU) within the Windows Active Directory"
+ },
+ "site": {
+ "type": "string",
+ "description": "The Active Directory site the service will limit Domain Controller discovery to"
+ },
+ "backupOperators": {
+ "description": "Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 255,
+ "minLength": 1
+ },
+ "example": [
+ "user1",
+ "user2"
+ ]
+ },
+ "administrators": {
+ "description": "Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 255,
+ "minLength": 1
+ },
+ "example": [
+ "user1",
+ "user2"
+ ]
+ },
+ "kdcIP": {
+ "type": "string",
+ "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$",
+ "description": "kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume.",
+ "example": "101.102.103.104"
+ },
+ "adName": {
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 1,
+ "description": "Name of the active directory machine. This optional parameter is used only while creating kerberos volume",
+ "example": "ADServerName"
+ },
+ "serverRootCACertificate": {
+ "type": "string",
+ "maxLength": 10240,
+ "minLength": 1,
+ "description": "When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes.",
+ "x-ms-secret": true,
+ "example": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURuVENDQW9XZ0F3SUJBZ0lRR3FXdnRxeHBvSTFJV3Z4VGdJbElWREFOQmdrcWhraUc5dzBCQVFzRkFEQlYKTVJNd0VRWUtDWkltaVpQeUxHUUJHUllEWTI5dE1SY3dGUVlLQ1pJbWlaUHlMR1FCR1JZSGFHRnlhV3R5WWpFbApNQ01HQTFVRUF4TWNhR0Z5YVd0eVlpMVhTVTR0TWtKUFZrRkZTMEkwTkVJdFEwRXRNakFlRncweU1EQTFNRFV3Ck56TTVORGxhRncweU1EQTFNRFl3TnpRNU5EaGFNRlV4RXpBUkJnb0praWFKay9Jc1pBRVpGZ05qYjIweEZ6QVYKQmdvSmtpYUprL0lzWkFFWkZnZG9ZWEpwYTNKaU1TVXdJd1lEVlFRREV4eG9ZWEpwYTNKaUxWZEpUaTB5UWs5VwpRVVZMUWpRMFFpMURRUzB5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFqMHByCnhaaXpNaDBqYnRwN1ZOc0JrRVJ2MVpZT0MzMEtqaGRWdEExRm1MeFM2cXlycmpMZUdXOXRSd2ZnUkR0eVBodTIKZVJTcVpTUjF6Z1hZR0s0Nys3Y3F0YnB2UElOektCb0dOWERIVTNxVWlleXJWSjFDVzRKNjJodUdrbUV1VVVkMApKMXBxNTVxbjk1SmRUbWh1dmZlTUxxeHB5c01nbGVnY281ZFhoN0hsQkhwaTNKMFN4ZnhVWmxKMVZiOFJZVEZhCkJiMGFlTVZaRzRKeVREaktiMlR1TmFXOG1aUE5vOFBMRDRocjdndFNZUEQvQ1dVVGV5QlpoZC9LTzNPczlWVEIKYmpLUGtWd0J2WEs2SlFMSGprNFBHS3VYZDhaWVFyajBtOWNIZDNmcWNYTXlQUnQ2TlJ4ak0yMTUxckFzSkVhNgpWZC9ta056akpXalBrT2VZUVFJREFRQUJvMmt3WnpBVEJna3JCZ0VFQVlJM0ZBSUVCaDRFQUVNQVFUQU9CZ05WCkhROEJBZjhFQkFNQ0FZWXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QWRCZ05WSFE0RUZnUVVDVEc2ODJSay9kMysKWGtHa0VMakRFMjI4ZjNnd0VBWUpLd1lCQkFHQ054VUJCQU1DQVFBd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQgpBR1RjTTNnWExIU05wS014RHEvUFpZbWZCMmNlN3VhMmxxbXpzZSt4QmthSTE0WXdzZE5ZQjZBVTNFWDM3QWpZCjd3bm9xQzY1N0U2RVhTODVDckoyNXJNTHo4OEtONGI3cUg5RUowSS9XVHg5YTdUT0ZENENWQThuL0xwNGh1Ym4KNlBFalY5NFlZWXBXTG1hTkkvbGFReWsxSHVJbDFSTCttVDFnSWQ4ZWZXZ1UvNmlVVEw3eGMrdjkyNHBuTHhISwpOSnNTV3c0NFk5a0R5SU9KOXFjWUlBN1lhTkxPZTRjSysvQlRvdDh0dVVKT1hHLzdBRmtxR2EyQVA4MmFZOStKCnkwSmU2OG5nTHJ1dVU4VHpneVpqdkFHcTRrVEVOdWFoaFdHVC9KWkEzOXhSNUV4MmNMUUplcE5NdnlZbUZ3Z1UKME8zYlA0OWNBVFVCMXoyQ3Y5aTRQbVk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"
+ },
+ "aesEncryption": {
+ "type": "boolean",
+ "description": "If enabled, AES encryption will be enabled for SMB communication."
+ },
+ "ldapSigning": {
+ "type": "boolean",
+ "description": "Specifies whether or not the LDAP traffic needs to be signed."
+ },
+ "securityOperators": {
+ "type": "array",
+ "description": "Domain Users in the Active directory to be given SeSecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier",
+ "items": {
+ "type": "string",
+ "maxLength": 255,
+ "minLength": 1
+ },
+ "example": [
+ "user1",
+ "user2"
+ ]
+ },
+ "ldapOverTLS": {
+ "type": "boolean",
+ "description": "Specifies whether or not the LDAP traffic needs to be secured via TLS."
+ },
+ "allowLocalNfsUsersWithLdap": {
+ "type": "boolean",
+ "description": " If enabled, NFS client local users can also (in addition to LDAP users) access the NFS volumes."
+ },
+ "encryptDCConnections": {
+ "type": "boolean",
+ "description": "If enabled, Traffic between the SMB server to Domain Controller (DC) will be encrypted."
+ },
+ "ldapSearchScope": {
+ "description": "LDAP Search scope options",
+ "$ref": "#/definitions/ldapSearchScopeOpt"
+ },
+ "preferredServersForLdapClient": {
+ "type": "string",
+ "maxLength": 32,
+ "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?)?$",
+ "description": "Comma separated list of IPv4 addresses of preferred servers for LDAP client. At most two comma separated IPv4 addresses can be passed.",
+ "example": "101.102.103.104, 101.102.103.105"
+ }
+ }
+ },
+ "ldapSearchScopeOpt": {
+ "type": "object",
+ "description": "LDAP search scope ",
+ "properties": {
+ "userDN": {
+ "type": "string",
+ "description": "This specifies the user DN, which overrides the base DN for user lookups.",
+ "maxLength": 255,
+ "example": "OU=fin,OU=hr,dc=domain,dc=com"
+ },
+ "groupDN": {
+ "type": "string",
+ "description": "This specifies the group DN, which overrides the base DN for group lookups.",
+ "maxLength": 255,
+ "example": "OU=fin,OU=hr,dc=domain,dc=com"
+ },
+ "groupMembershipFilter": {
+ "type": "string",
+ "description": "This specifies the custom LDAP search filter to be used when looking up group membership from LDAP server.",
+ "maxLength": 255,
+ "example": "cn=*99"
+ }
+ }
+ },
+ "accountEncryption": {
+ "type": "object",
+ "description": "Encryption settings",
+ "properties": {
+ "keySource": {
+ "type": "string",
+ "description": "The encryption keySource (provider). Possible values (case-insensitive): Microsoft.NetApp, Microsoft.KeyVault",
+ "enum": [
+ "Microsoft.NetApp",
+ "Microsoft.KeyVault"
+ ],
+ "x-ms-enum": {
+ "name": "KeySource",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Microsoft.NetApp",
+ "description": "Microsoft-managed key encryption"
+ },
+ {
+ "value": "Microsoft.KeyVault",
+ "description": "Customer-managed key encryption"
+ }
+ ]
+ },
+ "default": "Microsoft.NetApp"
+ },
+ "keyVaultProperties": {
+ "$ref": "#/definitions/KeyVaultProperties",
+ "description": "Properties provided by KeVault. Applicable if keySource is 'Microsoft.KeyVault'."
+ },
+ "identity": {
+ "$ref": "#/definitions/EncryptionIdentity",
+ "description": "Identity used to authenticate to KeyVault. Applicable if keySource is 'Microsoft.KeyVault'."
+ }
+ }
+ },
+ "KeyVaultProperties": {
+ "description": "Properties of key vault.",
+ "type": "object",
+ "required": [
+ "keyVaultUri",
+ "keyName",
+ "keyVaultResourceId"
+ ],
+ "properties": {
+ "keyVaultId": {
+ "type": "string",
+ "description": "UUID v4 used to identify the Azure Key Vault configuration",
+ "readOnly": true,
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca7778"
+ },
+ "keyVaultUri": {
+ "type": "string",
+ "description": "The Uri of KeyVault."
+ },
+ "keyName": {
+ "type": "string",
+ "description": "The name of KeyVault key."
+ },
+ "keyVaultResourceId": {
+ "type": "string",
+ "description": "The resource ID of KeyVault."
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of the KeyVault connection.",
+ "readOnly": true,
+ "enum": [
+ "Created",
+ "Updating",
+ "InUse",
+ "Deleted",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "KeyVaultStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Created",
+ "description": "KeyVault connection created but not in use"
+ },
+ {
+ "value": "InUse",
+ "description": "KeyVault connection in use by SMB Volume"
+ },
+ {
+ "value": "Deleted",
+ "description": "KeyVault connection Deleted"
+ },
+ {
+ "value": "Error",
+ "description": "Error with the KeyVault connection"
+ },
+ {
+ "value": "Updating",
+ "description": "KeyVault connection Updating"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "EncryptionIdentity": {
+ "description": "Identity used to authenticate with key vault.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "description": "The principal ID (object ID) of the identity used to authenticate with key vault. Read-only.",
+ "readOnly": true
+ },
+ "userAssignedIdentity": {
+ "type": "string",
+ "description": "The ARM resource identifier of the user assigned identity used to authenticate with key vault. Applicable if identity.type has 'UserAssigned'. It should match key of identity.userAssignedIdentities."
+ }
+ }
+ },
+ "capacityPoolList": {
+ "description": "List of capacity pool resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of Capacity pools",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/capacityPool"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ }
+ },
+ "capacityPool": {
+ "description": "Capacity pool resource",
+ "type": "object",
+ "required": [
+ "location",
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "properties": {
+ "description": "Capacity pool properties",
+ "$ref": "#/definitions/poolProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "poolProperties": {
+ "description": "Pool properties",
+ "type": "object",
+ "required": [
+ "size",
+ "serviceLevel"
+ ],
+ "properties": {
+ "poolId": {
+ "title": "poolId",
+ "type": "string",
+ "readOnly": true,
+ "description": "UUID v4 used to identify the Pool",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca7778"
+ },
+ "size": {
+ "title": "size",
+ "type": "integer",
+ "format": "int64",
+ "description": "Provisioned size of the pool (in bytes). Allowed values are in 1TiB chunks (value must be multiply of 1099511627776).",
+ "default": 4398046511104
+ },
+ "serviceLevel": {
+ "title": "serviceLevel",
+ "$ref": "#/definitions/serviceLevel"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure lifecycle management"
+ },
+ "totalThroughputMibps": {
+ "type": "number",
+ "description": "Total throughput of pool in MiB/s",
+ "example": 164.221,
+ "readOnly": true
+ },
+ "utilizedThroughputMibps": {
+ "type": "number",
+ "description": "Utilized throughput of pool in MiB/s",
+ "example": 164.221,
+ "readOnly": true
+ },
+ "qosType": {
+ "title": "qosType",
+ "type": "string",
+ "description": "The qos type of the pool",
+ "enum": [
+ "Auto",
+ "Manual"
+ ],
+ "x-ms-enum": {
+ "name": "qosType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Auto",
+ "description": "qos type Auto"
+ },
+ {
+ "value": "Manual",
+ "description": "qos type Manual"
+ }
+ ]
+ },
+ "example": "Manual",
+ "default": "Auto"
+ },
+ "coolAccess": {
+ "type": "boolean",
+ "default": false,
+ "example": false,
+ "description": "If enabled (true) the pool can contain cool Access enabled volumes."
+ },
+ "encryptionType": {
+ "title": "encryptionType",
+ "type": "string",
+ "x-nullable": true,
+ "description": "Encryption type of the capacity pool, set encryption type for data at rest for this pool and all volumes in it. This value can only be set when creating new pool.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "enum": [
+ "Single",
+ "Double"
+ ],
+ "x-ms-enum": {
+ "name": "encryptionType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Single",
+ "description": "EncryptionType Single, volumes will use single encryption at rest"
+ },
+ {
+ "value": "Double",
+ "description": "EncryptionType Double, volumes will use double encryption at rest"
+ }
+ ]
+ },
+ "example": "Single",
+ "default": "Single"
+ }
+ }
+ },
+ "capacityPoolPatch": {
+ "description": "Capacity pool patch resource",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Capacity pool properties",
+ "$ref": "#/definitions/poolPatchProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "poolPatchProperties": {
+ "description": "Patchable pool properties",
+ "type": "object",
+ "properties": {
+ "size": {
+ "title": "size",
+ "type": "integer",
+ "format": "int64",
+ "description": "Provisioned size of the pool (in bytes). Allowed values are in 1TiB chunks (value must be multiply of 4398046511104).",
+ "default": 4398046511104
+ },
+ "qosType": {
+ "title": "qosType",
+ "type": "string",
+ "description": "The qos type of the pool",
+ "enum": [
+ "Auto",
+ "Manual"
+ ],
+ "x-ms-enum": {
+ "name": "qosType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Auto",
+ "description": "qos type Auto"
+ },
+ {
+ "value": "Manual",
+ "description": "qos type Manual"
+ }
+ ]
+ },
+ "example": "Manual",
+ "default": "Auto"
+ },
+ "coolAccess": {
+ "type": "boolean",
+ "example": false,
+ "description": "If enabled (true) the pool can contain cool Access enabled volumes."
+ }
+ }
+ },
+ "volumeList": {
+ "description": "List of volume resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of volumes",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/volume"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ }
+ },
+ "volume": {
+ "description": "Volume resource",
+ "type": "object",
+ "required": [
+ "location",
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "zones": {
+ "type": "array",
+ "description": "Availability Zone",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "items": {
+ "type": "string",
+ "maxLength": 255,
+ "minLength": 1,
+ "example": "1"
+ }
+ },
+ "properties": {
+ "description": "Volume properties",
+ "$ref": "#/definitions/volumeProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "resourceIdentity": {
+ "type": "object",
+ "description": "Identity for the resource.",
+ "properties": {
+ "principalId": {
+ "description": "Object id of the identity resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "The tenant id of the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Type of Identity. Supported values are: 'None', 'SystemAssigned'",
+ "type": "string"
+ }
+ }
+ },
+ "resourceTags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Tags are a list of key-value pairs that describe the resource"
+ },
+ "volumeProperties": {
+ "description": "Volume properties",
+ "type": "object",
+ "required": [
+ "creationToken",
+ "usageThreshold",
+ "subnetId"
+ ],
+ "properties": {
+ "fileSystemId": {
+ "title": "FileSystem ID",
+ "type": "string",
+ "readOnly": true,
+ "description": "Unique FileSystem Identifier.",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca7778"
+ },
+ "creationToken": {
+ "title": "Creation Token or File Path",
+ "type": "string",
+ "description": "A unique file path for the volume. Used when creating mount targets",
+ "pattern": "^[a-zA-Z][a-zA-Z0-9\\-]{0,79}$",
+ "minLength": 1,
+ "maxLength": 80,
+ "example": "some-amazing-filepath"
+ },
+ "serviceLevel": {
+ "title": "serviceLevel",
+ "$ref": "#/definitions/serviceLevel"
+ },
+ "usageThreshold": {
+ "title": "usageThreshold",
+ "type": "integer",
+ "format": "int64",
+ "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB, 500Tib for LargeVolume or 2400Tib for LargeVolume on exceptional basis. Specified in bytes.",
+ "minimum": 107374182400,
+ "maximum": 2638827906662400,
+ "default": 107374182400,
+ "example": 107374182400
+ },
+ "exportPolicy": {
+ "title": "exportPolicy",
+ "description": "Set of export policy rules",
+ "properties": {
+ "rules": {
+ "title": "Export policy rule",
+ "description": "Export policy rule",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/exportPolicyRule"
+ },
+ "x-ms-identifiers": [
+ "ruleIndex"
+ ]
+ }
+ }
+ },
+ "protocolTypes": {
+ "title": "protocolTypes",
+ "description": "Set of protocol types, default NFSv3, CIFS for SMB protocol",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "NFSv4.1"
+ ]
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure lifecycle management"
+ },
+ "snapshotId": {
+ "title": "Snapshot ID",
+ "type": "string",
+ "x-nullable": true,
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "Resource identifier used to identify the Snapshot.",
+ "example": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1"
+ },
+ "deleteBaseSnapshot": {
+ "type": "boolean",
+ "description": "If enabled (true) the snapshot the volume was created from will be automatically deleted after the volume create operation has finished. Defaults to false"
+ },
+ "backupId": {
+ "title": "Backup ID",
+ "type": "string",
+ "x-nullable": true,
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "Resource identifier used to identify the Backup.",
+ "example": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupVaults/backupVault1/backups/backup1"
+ },
+ "baremetalTenantId": {
+ "title": "Baremetal Tenant ID",
+ "type": "string",
+ "readOnly": true,
+ "description": "Unique Baremetal Tenant Identifier.",
+ "example": "9560acf5-4e3a-12e7-9bdb-02007cca7779"
+ },
+ "subnetId": {
+ "type": "string",
+ "description": "The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes"
+ },
+ "networkFeatures": {
+ "$ref": "#/definitions/networkFeatures"
+ },
+ "networkSiblingSetId": {
+ "title": "Network Sibling Set ID",
+ "description": "Network Sibling Set ID for the the group of volumes sharing networking resources.",
+ "type": "string",
+ "readOnly": true,
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca3333"
+ },
+ "storageToNetworkProximity": {
+ "title": "Storage to Network Proximity",
+ "description": "Provides storage to network proximity information for the volume.",
+ "type": "string",
+ "enum": [
+ "Default",
+ "T1",
+ "T2",
+ "AcrossT2"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "VolumeStorageToNetworkProximity",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Default",
+ "description": "Basic storage to network connectivity."
+ },
+ {
+ "value": "T1",
+ "description": "Standard T1 storage to network connectivity."
+ },
+ {
+ "value": "T2",
+ "description": "Standard T2 storage to network connectivity."
+ },
+ {
+ "value": "AcrossT2",
+ "description": "Standard AcrossT2 storage to network connectivity."
+ }
+ ]
+ },
+ "example": "T1"
+ },
+ "mountTargets": {
+ "title": "mountTargets",
+ "type": "array",
+ "readOnly": true,
+ "description": "List of mount targets",
+ "items": {
+ "$ref": "#/definitions/mountTargetProperties"
+ },
+ "x-ms-identifiers": [
+ "fileSystemId"
+ ]
+ },
+ "volumeType": {
+ "type": "string",
+ "description": "What type of volume is this. For destination volumes in Cross Region Replication, set type to DataProtection. For creating clone volume, set type to ShortTermClone",
+ "example": "DataProtection"
+ },
+ "dataProtection": {
+ "title": "DataProtection",
+ "description": "DataProtection type volumes include an object containing details of the replication",
+ "properties": {
+ "backup": {
+ "title": "Backup",
+ "description": "Backup Properties",
+ "type": "object",
+ "$ref": "#/definitions/volumeBackupProperties"
+ },
+ "replication": {
+ "title": "Replication",
+ "description": "Replication properties",
+ "type": "object",
+ "$ref": "#/definitions/replicationObject"
+ },
+ "snapshot": {
+ "title": "Snapshot",
+ "description": "Snapshot properties.",
+ "$ref": "#/definitions/volumeSnapshotProperties"
+ },
+ "volumeRelocation": {
+ "title": "VolumeRelocation",
+ "description": "VolumeRelocation properties",
+ "type": "object",
+ "$ref": "#/definitions/volumeRelocationProperties"
+ }
+ }
+ },
+ "acceptGrowCapacityPoolForShortTermCloneSplit": {
+ "title": "acceptGrowCapacityPoolForShortTermCloneSplit",
+ "type": "string",
+ "description": "While auto splitting the short term clone volume, if the parent pool does not have enough space to accommodate the volume after split, it will be automatically resized, which will lead to increased billing. To accept capacity pool size auto grow and create a short term clone volume, set the property as accepted.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "enum": [
+ "Accepted",
+ "Declined"
+ ],
+ "x-ms-enum": {
+ "name": "acceptGrowCapacityPoolForShortTermCloneSplit",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Accepted",
+ "description": "Auto grow capacity pool for short term clone split is accepted."
+ },
+ {
+ "value": "Declined",
+ "description": "Auto grow capacity pool for short term clone split is declined. Short term clone volume creation will not be allowed, to create short term clone volume accept auto grow capacity pool."
+ }
+ ]
+ },
+ "example": "Accepted"
+ },
+ "isRestoring": {
+ "type": "boolean",
+ "description": "Restoring"
+ },
+ "snapshotDirectoryVisible": {
+ "type": "boolean",
+ "default": true,
+ "description": "If enabled (true) the volume will contain a read-only snapshot directory which provides access to each of the volume's snapshots (defaults to true)."
+ },
+ "kerberosEnabled": {
+ "type": "boolean",
+ "description": "Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "example": false,
+ "default": false
+ },
+ "securityStyle": {
+ "type": "string",
+ "description": "The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol",
+ "default": "unix",
+ "enum": [
+ "ntfs",
+ "unix"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityStyle",
+ "modelAsString": true
+ }
+ },
+ "smbEncryption": {
+ "type": "boolean",
+ "description": "Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol volume. To be used with swagger version 2020-08-01 or later",
+ "example": false,
+ "default": false
+ },
+ "smbAccessBasedEnumeration": {
+ "$ref": "#/definitions/smbAccessBasedEnumeration"
+ },
+ "smbNonBrowsable": {
+ "$ref": "#/definitions/smbNonBrowsable"
+ },
+ "smbContinuouslyAvailable": {
+ "type": "boolean",
+ "description": "Enables continuously available share property for smb volume. Only applicable for SMB volume",
+ "example": false,
+ "default": false
+ },
+ "throughputMibps": {
+ "title": "Maximum throughput in MiB/s that can be achieved by this volume and this will be accepted as input only for manual qosType volume",
+ "type": "number",
+ "x-nullable": true,
+ "example": 128.223
+ },
+ "actualThroughputMibps": {
+ "type": "number",
+ "description": "Actual throughput in MiB/s for auto qosType volumes calculated based on size and serviceLevel",
+ "example": 164.221,
+ "readOnly": true
+ },
+ "encryptionKeySource": {
+ "description": "Source of key used to encrypt data in volume. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'. Possible values (case-insensitive) are: 'Microsoft.NetApp, Microsoft.KeyVault'",
+ "type": "string",
+ "enum": [
+ "Microsoft.NetApp",
+ "Microsoft.KeyVault"
+ ],
+ "x-ms-enum": {
+ "name": "EncryptionKeySource",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Microsoft.NetApp",
+ "description": "Microsoft-managed key encryption"
+ },
+ {
+ "value": "Microsoft.KeyVault",
+ "description": "Customer-managed key encryption"
+ }
+ ]
+ },
+ "default": "Microsoft.NetApp"
+ },
+ "keyVaultPrivateEndpointResourceId": {
+ "type": "string",
+ "description": "The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'."
+ },
+ "ldapEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether LDAP is enabled or not for a given NFS volume.",
+ "example": false,
+ "default": false
+ },
+ "coolAccess": {
+ "type": "boolean",
+ "description": "Specifies whether Cool Access(tiering) is enabled for the volume.",
+ "example": false,
+ "default": false
+ },
+ "coolnessPeriod": {
+ "type": "integer",
+ "description": "Specifies the number of days after which data that is not accessed by clients will be tiered.",
+ "example": 7,
+ "minimum": 2,
+ "maximum": 183,
+ "format": "int32"
+ },
+ "coolAccessRetrievalPolicy": {
+ "$ref": "#/definitions/coolAccessRetrievalPolicy"
+ },
+ "unixPermissions": {
+ "type": "string",
+ "description": "UNIX permissions for NFS volume accepted in octal 4 digit format. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. Second digit selects permission for the owner of the file: read (4), write (2) and execute (1). Third selects permissions for other users in the same group. the fourth for other users not in the group. 0755 - gives read/write/execute permissions to owner and read/execute to group and other users.",
+ "minLength": 4,
+ "maxLength": 4,
+ "x-nullable": true,
+ "example": "0770"
+ },
+ "cloneProgress": {
+ "description": "When a volume is being restored from another volume's snapshot, will show the percentage completion of this cloning process. When this value is empty/null there is no cloning process currently happening on this volume. This value will update every 5 minutes during cloning.",
+ "type": "integer",
+ "format": "int32",
+ "example": 10,
+ "x-nullable": true,
+ "readOnly": true
+ },
+ "fileAccessLogs": {
+ "type": "string",
+ "description": "Flag indicating whether file access logs are enabled for the volume, based on active diagnostic settings present on the volume.",
+ "readOnly": true,
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "fileAccessLogs",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Enabled",
+ "description": "fileAccessLogs are enabled"
+ },
+ {
+ "value": "Disabled",
+ "description": "fileAccessLogs are not enabled"
+ }
+ ]
+ },
+ "example": "Disabled",
+ "default": "Disabled"
+ },
+ "avsDataStore": {
+ "title": "avsDataStore",
+ "type": "string",
+ "description": "Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "avsDataStore",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Enabled",
+ "description": "avsDataStore is enabled"
+ },
+ {
+ "value": "Disabled",
+ "description": "avsDataStore is disabled"
+ }
+ ]
+ },
+ "example": "Enabled",
+ "default": "Disabled"
+ },
+ "dataStoreResourceId": {
+ "title": "dataStoreResourceId",
+ "description": "Data store resource unique identifier",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "isDefaultQuotaEnabled": {
+ "type": "boolean",
+ "description": "Specifies if default quota is enabled for the volume.",
+ "example": false,
+ "default": false
+ },
+ "defaultUserQuotaInKiBs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies .",
+ "example": 4,
+ "default": 0
+ },
+ "defaultGroupQuotaInKiBs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies.",
+ "example": 4,
+ "default": 0
+ },
+ "maximumNumberOfFiles": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "Maximum number of files allowed. Needs a service request in order to be changed. Only allowed to be changed if volume quota is more than 4TiB.",
+ "example": 100000000
+ },
+ "volumeGroupName": {
+ "type": "string",
+ "description": "Volume Group Name",
+ "readOnly": true
+ },
+ "capacityPoolResourceId": {
+ "type": "string",
+ "description": "Pool Resource Id used in case of creating a volume through volume group"
+ },
+ "proximityPlacementGroup": {
+ "type": "string",
+ "description": "Proximity placement group associated with the volume",
+ "example": "/subscriptions/aaaaaaaa-1234-1234-1224-234567891011/resourceGroups/testGroup/providers/Microsoft.Compute/proximityPlacementGroups/testppg"
+ },
+ "t2Network": {
+ "type": "string",
+ "description": "T2 network information",
+ "example": "Test-T2-Alias",
+ "readOnly": true
+ },
+ "volumeSpecName": {
+ "type": "string",
+ "description": "Volume spec name is the application specific designation or identifier for the particular volume in a volume group for e.g. data, log",
+ "example": "Data"
+ },
+ "encrypted": {
+ "type": "boolean",
+ "description": "Specifies if the volume is encrypted or not. Only available on volumes created or updated after 2022-01-01.",
+ "readOnly": true
+ },
+ "placementRules": {
+ "title": "Volume placement rules",
+ "description": "Application specific placement rules for the particular volume",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/placementKeyValuePairs"
+ },
+ "x-ms-identifiers": [
+ "key"
+ ]
+ },
+ "enableSubvolumes": {
+ "type": "string",
+ "description": "Flag indicating whether subvolume operations are enabled on the volume",
+ "example": "Enabled",
+ "default": "Disabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "enableSubvolumes",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Enabled",
+ "description": "subvolumes are enabled"
+ },
+ {
+ "value": "Disabled",
+ "description": "subvolumes are not enabled"
+ }
+ ]
+ }
+ },
+ "provisionedAvailabilityZone": {
+ "title": "Provisioned Availability Zone",
+ "type": "string",
+ "readOnly": true,
+ "description": "The availability zone where the volume is provisioned. This refers to the logical availability zone where the volume resides.",
+ "example": "2",
+ "x-nullable": true
+ },
+ "isLargeVolume": {
+ "title": "Is Large Volume",
+ "type": "boolean",
+ "description": "Specifies whether volume is a Large Volume or Regular Volume.",
+ "example": false,
+ "default": false
+ },
+ "originatingResourceId": {
+ "title": "Originating Resource Id",
+ "type": "string",
+ "description": "Id of the snapshot or backup that the volume is restored from.",
+ "example": "/subscriptions/aaaaaaaa-1234-1234-1224-234567891011/resourceGroups/testGroup/providers/Microsoft.NetApp/netAppAccounts/accountOriginatingResourceId/capacityPools/originatingResourceIdPool/volumes/theOriginalVolume/snapshots/theSnapshot",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "inheritedSizeInBytes": {
+ "title": "inheritedSizeInBytes",
+ "type": "integer",
+ "format": "int64",
+ "description": "Space shared by short term clone volume with parent volume in bytes.",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "language": {
+ "title": "language",
+ "$ref": "#/definitions/VolumeLanguage"
+ }
+ }
+ },
+ "exportPolicyRule": {
+ "description": "Volume Export Policy Rule",
+ "type": "object",
+ "properties": {
+ "ruleIndex": {
+ "type": "integer",
+ "description": "Order index",
+ "format": "int32"
+ },
+ "unixReadOnly": {
+ "type": "boolean",
+ "description": "Read only access"
+ },
+ "unixReadWrite": {
+ "type": "boolean",
+ "description": "Read and write access"
+ },
+ "kerberos5ReadOnly": {
+ "type": "boolean",
+ "description": "Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later",
+ "example": false,
+ "default": false
+ },
+ "kerberos5ReadWrite": {
+ "type": "boolean",
+ "description": "Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later",
+ "example": false,
+ "default": false
+ },
+ "kerberos5iReadOnly": {
+ "type": "boolean",
+ "description": "Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later",
+ "example": false,
+ "default": false
+ },
+ "kerberos5iReadWrite": {
+ "type": "boolean",
+ "description": "Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later",
+ "example": false,
+ "default": false
+ },
+ "kerberos5pReadOnly": {
+ "type": "boolean",
+ "description": "Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later",
+ "example": false,
+ "default": false
+ },
+ "kerberos5pReadWrite": {
+ "type": "boolean",
+ "description": "Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later",
+ "example": false,
+ "default": false
+ },
+ "cifs": {
+ "type": "boolean",
+ "description": "Allows CIFS protocol"
+ },
+ "nfsv3": {
+ "type": "boolean",
+ "description": "Allows NFSv3 protocol. Enable only for NFSv3 type volumes"
+ },
+ "nfsv41": {
+ "type": "boolean",
+ "description": "Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes"
+ },
+ "allowedClients": {
+ "type": "string",
+ "description": "Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names"
+ },
+ "hasRootAccess": {
+ "type": "boolean",
+ "description": "Has root access to volume",
+ "example": true,
+ "default": true
+ },
+ "chownMode": {
+ "type": "string",
+ "description": "This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own.",
+ "default": "Restricted",
+ "enum": [
+ "Restricted",
+ "Unrestricted"
+ ],
+ "x-ms-enum": {
+ "name": "ChownMode",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "replicationObject": {
+ "description": "Replication properties",
+ "type": "object",
+ "required": [
+ "remoteVolumeResourceId"
+ ],
+ "properties": {
+ "replicationId": {
+ "type": "string",
+ "description": "Id",
+ "readOnly": true
+ },
+ "endpointType": {
+ "type": "string",
+ "description": "Indicates whether the local volume is the source or destination for the Volume Replication",
+ "enum": [
+ "src",
+ "dst"
+ ],
+ "x-ms-enum": {
+ "name": "EndpointType",
+ "modelAsString": true
+ }
+ },
+ "replicationSchedule": {
+ "type": "string",
+ "description": "Schedule",
+ "enum": [
+ "_10minutely",
+ "hourly",
+ "daily"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicationSchedule",
+ "modelAsString": true
+ }
+ },
+ "remoteVolumeResourceId": {
+ "type": "string",
+ "description": "The resource ID of the remote volume. Required for cross region and cross zone replication",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "remotePath": {
+ "description": "The full path to a volume that is to be migrated into ANF. Required for Migration volumes",
+ "type": "object",
+ "$ref": "#/definitions/remotePath",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "remoteVolumeRegion": {
+ "type": "string",
+ "description": "The remote region for the other end of the Volume Replication."
+ }
+ }
+ },
+ "remotePath": {
+ "description": "The full path to a volume that is to be migrated into ANF. Required for Migration volumes",
+ "type": "object",
+ "required": [
+ "externalHostName",
+ "serverName",
+ "volumeName"
+ ],
+ "properties": {
+ "externalHostName": {
+ "type": "string",
+ "description": "The Path to a ONTAP Host"
+ },
+ "serverName": {
+ "type": "string",
+ "description": "The name of a server on the ONTAP Host"
+ },
+ "volumeName": {
+ "type": "string",
+ "description": "The name of a volume on the server"
+ }
+ }
+ },
+ "replication": {
+ "description": "Replication properties",
+ "type": "object",
+ "required": [
+ "remoteVolumeResourceId"
+ ],
+ "properties": {
+ "replicationId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "UUID v4 used to identify the replication.",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "5ee41ce4-8f44-4ecd-ad89-8c1e573fe3b8"
+ },
+ "endpointType": {
+ "type": "string",
+ "description": "Indicates whether the local volume is the source or destination for the Volume Replication",
+ "enum": [
+ "src",
+ "dst"
+ ],
+ "x-ms-enum": {
+ "name": "EndpointType",
+ "modelAsString": true
+ }
+ },
+ "replicationSchedule": {
+ "type": "string",
+ "description": "Schedule",
+ "enum": [
+ "_10minutely",
+ "hourly",
+ "daily"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicationSchedule",
+ "modelAsString": true
+ }
+ },
+ "remoteVolumeResourceId": {
+ "type": "string",
+ "description": "The resource ID of the remote volume."
+ },
+ "remoteVolumeRegion": {
+ "type": "string",
+ "description": "The remote region for the other end of the Volume Replication."
+ }
+ }
+ },
+ "volumeRelocationProperties": {
+ "description": "Volume relocation properties",
+ "type": "object",
+ "properties": {
+ "relocationRequested": {
+ "type": "boolean",
+ "description": "Has relocation been requested for this volume"
+ },
+ "readyToBeFinalized": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Has relocation finished and is ready to be cleaned up"
+ }
+ }
+ },
+ "volumeSnapshotProperties": {
+ "description": "Volume Snapshot Properties",
+ "type": "object",
+ "properties": {
+ "snapshotPolicyId": {
+ "type": "string",
+ "description": "Snapshot Policy ResourceId"
+ }
+ }
+ },
+ "replicationStatus": {
+ "description": "Replication status",
+ "type": "object",
+ "properties": {
+ "healthy": {
+ "type": "boolean",
+ "description": "Replication health check"
+ },
+ "relationshipStatus": {
+ "type": "string",
+ "description": "Status of the mirror relationship",
+ "enum": [
+ "Idle",
+ "Transferring"
+ ],
+ "x-ms-enum": {
+ "name": "RelationshipStatus",
+ "modelAsString": true
+ }
+ },
+ "mirrorState": {
+ "type": "string",
+ "description": "The status of the replication",
+ "enum": [
+ "Uninitialized",
+ "Mirrored",
+ "Broken"
+ ],
+ "x-ms-enum": {
+ "name": "MirrorState",
+ "modelAsString": true
+ }
+ },
+ "totalProgress": {
+ "type": "string",
+ "description": "The progress of the replication"
+ },
+ "errorMessage": {
+ "type": "string",
+ "description": "Displays error message if the replication is in an error state"
+ }
+ }
+ },
+ "listReplications": {
+ "description": "List Replications",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of replications",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/replication"
+ },
+ "x-ms-identifiers": []
+ }
+ }
+ },
+ "volumePatch": {
+ "description": "Volume patch resource",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Patchable volume properties",
+ "$ref": "#/definitions/volumePatchProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "volumePatchProperties": {
+ "description": "Patchable volume properties",
+ "type": "object",
+ "properties": {
+ "serviceLevel": {
+ "title": "serviceLevel",
+ "$ref": "#/definitions/serviceLevel"
+ },
+ "usageThreshold": {
+ "title": "usageThreshold",
+ "type": "integer",
+ "format": "int64",
+ "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB, 500Tib for LargeVolume or 2400Tib for LargeVolume on exceptional basis. Specified in bytes.",
+ "minimum": 107374182400,
+ "maximum": 2638827906662400,
+ "default": 107374182400,
+ "example": 107374182400
+ },
+ "exportPolicy": {
+ "title": "exportPolicy",
+ "description": "Set of export policy rules",
+ "properties": {
+ "rules": {
+ "title": "Export policy rule",
+ "description": "Export policy rule",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/exportPolicyRule"
+ },
+ "x-ms-identifiers": [
+ "ruleIndex"
+ ]
+ }
+ }
+ },
+ "protocolTypes": {
+ "title": "protocolTypes",
+ "description": "Set of protocol types, default NFSv3, CIFS for SMB protocol",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "NFSv4.1"
+ ]
+ },
+ "throughputMibps": {
+ "title": "Maximum throughput in MiB/s that can be achieved by this volume and this will be accepted as input only for manual qosType volume",
+ "type": "number",
+ "example": 128.22
+ },
+ "dataProtection": {
+ "title": "DataProtection",
+ "description": "DataProtection type volumes include an object containing details of the replication",
+ "properties": {
+ "backup": {
+ "title": "Backup",
+ "description": "Backup Properties",
+ "type": "object",
+ "$ref": "#/definitions/volumeBackupProperties"
+ },
+ "snapshot": {
+ "title": "Snapshot",
+ "description": "Snapshot properties.",
+ "$ref": "#/definitions/volumeSnapshotProperties"
+ }
+ }
+ },
+ "isDefaultQuotaEnabled": {
+ "type": "boolean",
+ "description": "Specifies if default quota is enabled for the volume.",
+ "example": false,
+ "default": false
+ },
+ "defaultUserQuotaInKiBs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies .",
+ "example": 4,
+ "default": 0
+ },
+ "defaultGroupQuotaInKiBs": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies.",
+ "example": 4,
+ "default": 0
+ },
+ "unixPermissions": {
+ "type": "string",
+ "description": "UNIX permissions for NFS volume accepted in octal 4 digit format. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. Second digit selects permission for the owner of the file: read (4), write (2) and execute (1). Third selects permissions for other users in the same group. the fourth for other users not in the group. 0755 - gives read/write/execute permissions to owner and read/execute to group and other users.",
+ "minLength": 4,
+ "maxLength": 4,
+ "x-nullable": true,
+ "example": "0770"
+ },
+ "coolAccess": {
+ "type": "boolean",
+ "description": "Specifies whether Cool Access(tiering) is enabled for the volume.",
+ "example": false
+ },
+ "coolnessPeriod": {
+ "type": "integer",
+ "description": "Specifies the number of days after which data that is not accessed by clients will be tiered.",
+ "example": 7,
+ "minimum": 2,
+ "maximum": 183,
+ "format": "int32"
+ },
+ "coolAccessRetrievalPolicy": {
+ "$ref": "#/definitions/coolAccessRetrievalPolicy"
+ },
+ "snapshotDirectoryVisible": {
+ "type": "boolean",
+ "description": "If enabled (true) the volume will contain a read-only snapshot directory which provides access to each of the volume's snapshots."
+ },
+ "smbAccessBasedEnumeration": {
+ "$ref": "#/definitions/smbAccessBasedEnumeration"
+ },
+ "smbNonBrowsable": {
+ "$ref": "#/definitions/smbNonBrowsable"
+ }
+ }
+ },
+ "mountTarget": {
+ "description": "Mount Target",
+ "type": "object",
+ "required": [
+ "location",
+ "properties"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags",
+ "x-ms-client-flatten": true
+ },
+ "properties": {
+ "description": "Mount Target Properties",
+ "$ref": "#/definitions/mountTargetProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "mountTargetProperties": {
+ "description": "Mount target properties",
+ "type": "object",
+ "required": [
+ "fileSystemId"
+ ],
+ "properties": {
+ "mountTargetId": {
+ "title": "mountTargetId",
+ "type": "string",
+ "readOnly": true,
+ "description": "UUID v4 used to identify the MountTarget",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca3333"
+ },
+ "fileSystemId": {
+ "title": "fileSystemId",
+ "type": "string",
+ "description": "UUID v4 used to identify the MountTarget",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca3333"
+ },
+ "ipAddress": {
+ "title": "ipAddress",
+ "description": "The mount target's IPv4 address",
+ "type": "string",
+ "readOnly": true,
+ "example": "1.2.3.4"
+ },
+ "smbServerFqdn": {
+ "title": "smbServerFQDN",
+ "description": "The SMB server's Fully Qualified Domain Name, FQDN",
+ "type": "string",
+ "example": "fullyqualified.domainname.com"
+ }
+ }
+ },
+ "snapshotsList": {
+ "description": "List of Snapshots",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of Snapshots",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/snapshot"
+ }
+ }
+ }
+ },
+ "snapshot": {
+ "description": "Snapshot of a Volume",
+ "type": "object",
+ "required": [
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "properties": {
+ "description": "Snapshot Properties",
+ "$ref": "#/definitions/snapshotProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "snapshotPatch": {
+ "description": "Snapshot patch",
+ "type": "object",
+ "properties": {}
+ },
+ "snapshotProperties": {
+ "description": "Snapshot properties",
+ "type": "object",
+ "properties": {
+ "snapshotId": {
+ "title": "snapshotId",
+ "type": "string",
+ "readOnly": true,
+ "description": "UUID v4 used to identify the Snapshot",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca3333"
+ },
+ "created": {
+ "title": "name",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The creation date of the snapshot",
+ "example": "2017-08-15 13:23:33"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure lifecycle management"
+ }
+ }
+ },
+ "snapshotPolicyProperties": {
+ "description": "Snapshot policy properties",
+ "type": "object",
+ "properties": {
+ "hourlySchedule": {
+ "title": "hourlySchedule",
+ "description": "Schedule for hourly snapshots",
+ "type": "object",
+ "$ref": "#/definitions/hourlySchedule"
+ },
+ "dailySchedule": {
+ "title": "dailySchedule",
+ "description": "Schedule for daily snapshots",
+ "type": "object",
+ "$ref": "#/definitions/dailySchedule"
+ },
+ "weeklySchedule": {
+ "title": "weeklySchedule",
+ "description": "Schedule for weekly snapshots",
+ "type": "object",
+ "$ref": "#/definitions/weeklySchedule"
+ },
+ "monthlySchedule": {
+ "title": "monthlySchedule",
+ "description": "Schedule for monthly snapshots",
+ "type": "object",
+ "$ref": "#/definitions/monthlySchedule"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "The property to decide policy is enabled or not"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure lifecycle management"
+ }
+ }
+ },
+ "snapshotPolicy": {
+ "description": "Snapshot policy information",
+ "type": "object",
+ "required": [
+ "location",
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "properties": {
+ "description": "Snapshot policy Properties",
+ "$ref": "#/definitions/snapshotPolicyProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "snapshotPoliciesList": {
+ "description": "List of Snapshot Policies",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of snapshot policies",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/snapshotPolicy"
+ }
+ }
+ }
+ },
+ "snapshotPolicyDetails": {
+ "description": "Snapshot policy properties",
+ "type": "object",
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Snapshot policy Properties",
+ "$ref": "#/definitions/snapshotPolicyProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "snapshotPolicyPatch": {
+ "description": "Snapshot policy Details for create and update",
+ "type": "object",
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Snapshot Policy properties",
+ "$ref": "#/definitions/snapshotPolicyProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "snapshotPolicyVolumeList": {
+ "description": "Volumes associated with snapshot policy",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of volumes",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/volume"
+ }
+ }
+ }
+ },
+ "hourlySchedule": {
+ "description": "Hourly Schedule properties",
+ "type": "object",
+ "properties": {
+ "snapshotsToKeep": {
+ "type": "integer",
+ "description": "Hourly snapshot count to keep",
+ "format": "int32"
+ },
+ "minute": {
+ "type": "integer",
+ "description": "Indicates which minute snapshot should be taken",
+ "example": 30,
+ "format": "int32"
+ },
+ "usedBytes": {
+ "type": "integer",
+ "description": "Resource size in bytes, current storage usage for the volume in bytes",
+ "format": "int64"
+ }
+ }
+ },
+ "dailySchedule": {
+ "description": "Daily Schedule properties",
+ "type": "object",
+ "properties": {
+ "snapshotsToKeep": {
+ "type": "integer",
+ "description": "Daily snapshot count to keep",
+ "format": "int32"
+ },
+ "hour": {
+ "type": "integer",
+ "description": "Indicates which hour in UTC timezone a snapshot should be taken",
+ "example": 11,
+ "format": "int32"
+ },
+ "minute": {
+ "type": "integer",
+ "description": "Indicates which minute snapshot should be taken",
+ "example": 30,
+ "format": "int32"
+ },
+ "usedBytes": {
+ "type": "integer",
+ "description": "Resource size in bytes, current storage usage for the volume in bytes",
+ "format": "int64"
+ }
+ }
+ },
+ "weeklySchedule": {
+ "description": "Weekly Schedule properties, make a snapshot every week at a specific day or days",
+ "type": "object",
+ "properties": {
+ "snapshotsToKeep": {
+ "type": "integer",
+ "description": "Weekly snapshot count to keep",
+ "format": "int32"
+ },
+ "day": {
+ "type": "string",
+ "description": "Indicates which weekdays snapshot should be taken, accepts a comma separated list of week day names in english",
+ "example": "Sunday,Monday"
+ },
+ "hour": {
+ "type": "integer",
+ "description": "Indicates which hour in UTC timezone a snapshot should be taken",
+ "example": 11,
+ "format": "int32"
+ },
+ "minute": {
+ "type": "integer",
+ "description": "Indicates which minute snapshot should be taken",
+ "example": 30,
+ "format": "int32"
+ },
+ "usedBytes": {
+ "type": "integer",
+ "description": "Resource size in bytes, current storage usage for the volume in bytes",
+ "format": "int64"
+ }
+ }
+ },
+ "monthlySchedule": {
+ "description": "Monthly Schedule properties",
+ "type": "object",
+ "properties": {
+ "snapshotsToKeep": {
+ "type": "integer",
+ "description": "Monthly snapshot count to keep",
+ "format": "int32"
+ },
+ "daysOfMonth": {
+ "type": "string",
+ "description": "Indicates which days of the month snapshot should be taken. A comma delimited string.",
+ "example": "1,11,21"
+ },
+ "hour": {
+ "type": "integer",
+ "description": "Indicates which hour in UTC timezone a snapshot should be taken",
+ "example": 11,
+ "format": "int32"
+ },
+ "minute": {
+ "type": "integer",
+ "description": "Indicates which minute snapshot should be taken",
+ "example": 30,
+ "format": "int32"
+ },
+ "usedBytes": {
+ "type": "integer",
+ "description": "Resource size in bytes, current storage usage for the volume in bytes",
+ "format": "int64"
+ }
+ }
+ },
+ "volumeRevert": {
+ "description": "revert a volume to the snapshot",
+ "type": "object",
+ "properties": {
+ "snapshotId": {
+ "type": "string",
+ "description": "Resource id of the snapshot"
+ }
+ }
+ },
+ "authorizeRequest": {
+ "description": "Authorize request",
+ "type": "object",
+ "properties": {
+ "remoteVolumeResourceId": {
+ "type": "string",
+ "description": "Resource id of the remote volume"
+ }
+ }
+ },
+ "breakReplicationRequest": {
+ "description": "Break replication request",
+ "type": "object",
+ "properties": {
+ "forceBreakReplication": {
+ "type": "boolean",
+ "description": "If replication is in status transferring and you want to force break the replication, set to true"
+ }
+ }
+ },
+ "reestablishReplicationRequest": {
+ "description": "Re-establish request object supplied in the body of the operation.",
+ "type": "object",
+ "properties": {
+ "sourceVolumeId": {
+ "type": "string",
+ "description": "Resource id of the source volume for the replication"
+ }
+ }
+ },
+ "relocateVolumeRequest": {
+ "description": "Relocate volume request",
+ "type": "object",
+ "properties": {
+ "creationToken": {
+ "type": "string",
+ "description": "New creation token for the volume that controls the mount point name"
+ }
+ }
+ },
+ "breakFileLocksRequest": {
+ "description": "Break file locks request",
+ "type": "object",
+ "properties": {
+ "clientIp": {
+ "type": "string",
+ "description": "To clear file locks on a volume for a particular client",
+ "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
+ "example": "101.102.103.104"
+ },
+ "confirmRunningDisruptiveOperation": {
+ "type": "boolean",
+ "description": "Break File locks could be a disruptive operation for application as locks on the volume will be broken, if want to process, set to true.",
+ "default": false
+ }
+ }
+ },
+ "poolChangeRequest": {
+ "description": "Pool change request",
+ "type": "object",
+ "required": [
+ "newPoolResourceId"
+ ],
+ "properties": {
+ "newPoolResourceId": {
+ "type": "string",
+ "description": "Resource id of the pool to move volume to"
+ }
+ }
+ },
+ "backupPolicyProperties": {
+ "description": "Backup policy properties",
+ "type": "object",
+ "properties": {
+ "backupPolicyId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Backup Policy Resource ID"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure lifecycle management"
+ },
+ "dailyBackupsToKeep": {
+ "type": "integer",
+ "description": "Daily backups count to keep",
+ "format": "int32"
+ },
+ "weeklyBackupsToKeep": {
+ "type": "integer",
+ "description": "Weekly backups count to keep",
+ "format": "int32"
+ },
+ "monthlyBackupsToKeep": {
+ "type": "integer",
+ "description": "Monthly backups count to keep",
+ "format": "int32"
+ },
+ "volumesAssigned": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "Volumes using current backup policy",
+ "format": "int32"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "The property to decide policy is enabled or not"
+ },
+ "volumeBackups": {
+ "description": "A list of volumes assigned to this policy",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/volumeBackups"
+ },
+ "x-ms-identifiers": [
+ "volumeName"
+ ]
+ }
+ }
+ },
+ "backupPolicy": {
+ "description": "Backup policy information",
+ "type": "object",
+ "required": [
+ "location",
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ },
+ "properties": {
+ "description": "Backup policy Properties",
+ "$ref": "#/definitions/backupPolicyProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "backupPoliciesList": {
+ "description": "List of Backup Policies",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of backup policies",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/backupPolicy"
+ }
+ }
+ }
+ },
+ "backupPolicyPatch": {
+ "description": "Backup policy Details for create and update",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Backup policy Properties",
+ "$ref": "#/definitions/backupPolicyProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "volumeBackups": {
+ "description": "Volume details using the backup policy",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "volumeName": {
+ "type": "string",
+ "description": "Volume name"
+ },
+ "volumeResourceId": {
+ "type": "string",
+ "description": "ResourceId used to identify the Volume",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes"
+ }
+ ]
+ }
+ },
+ "backupsCount": {
+ "type": "integer",
+ "description": "Total count of backups for volume",
+ "format": "int32"
+ },
+ "policyEnabled": {
+ "type": "boolean",
+ "description": "Policy enabled"
+ }
+ }
+ },
+ "restoreStatus": {
+ "description": "Restore status",
+ "type": "object",
+ "properties": {
+ "healthy": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Restore health status"
+ },
+ "relationshipStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Status of the restore SnapMirror relationship",
+ "enum": [
+ "Idle",
+ "Transferring",
+ "Failed",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "RelationshipStatus",
+ "modelAsString": true
+ }
+ },
+ "mirrorState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The status of the restore",
+ "enum": [
+ "Uninitialized",
+ "Mirrored",
+ "Broken"
+ ],
+ "x-ms-enum": {
+ "name": "MirrorState",
+ "modelAsString": true
+ }
+ },
+ "unhealthyReason": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Reason for the unhealthy restore relationship"
+ },
+ "errorMessage": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Displays error message if the restore is in an error state"
+ },
+ "totalTransferBytes": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "Displays the total bytes transferred"
+ }
+ }
+ },
+ "getGroupIdListForLDAPUserRequest": {
+ "description": "Get group Id list for LDAP User request",
+ "type": "object",
+ "required": [
+ "username"
+ ],
+ "properties": {
+ "username": {
+ "type": "string",
+ "description": "username is required to fetch the group to which user is part of",
+ "maxLength": 255,
+ "minLength": 1
+ }
+ }
+ },
+ "getGroupIdListForLDAPUserResponse": {
+ "description": "Group Id list for Ldap user",
+ "type": "object",
+ "properties": {
+ "groupIdsForLdapUser": {
+ "description": "Group Id list",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "123",
+ "224"
+ ]
+ }
+ }
+ },
+ "cloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/cloudErrorBody",
+ "description": "Cloud error body."
+ }
+ },
+ "description": "An error response from the service."
+ },
+ "cloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ }
+ },
+ "description": "An error response from the service."
+ },
+ "serviceLevel": {
+ "title": "serviceLevel",
+ "type": "string",
+ "description": "The service level of the file system",
+ "enum": [
+ "Standard",
+ "Premium",
+ "Ultra",
+ "StandardZRS"
+ ],
+ "default": "Premium",
+ "x-ms-enum": {
+ "name": "ServiceLevel",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Standard",
+ "description": "Standard service level"
+ },
+ {
+ "value": "Premium",
+ "description": "Premium service level"
+ },
+ {
+ "value": "Ultra",
+ "description": "Ultra service level"
+ },
+ {
+ "value": "StandardZRS",
+ "description": "Zone redundant storage service level"
+ }
+ ]
+ }
+ },
+ "VolumeLanguage": {
+ "title": "VolumeLanguage",
+ "type": "string",
+ "x-nullable": true,
+ "description": "Language supported for volume.",
+ "enum": [
+ "c.utf-8",
+ "utf8mb4",
+ "ar",
+ "ar.utf-8",
+ "hr",
+ "hr.utf-8",
+ "cs",
+ "cs.utf-8",
+ "da",
+ "da.utf-8",
+ "nl",
+ "nl.utf-8",
+ "en",
+ "en.utf-8",
+ "fi",
+ "fi.utf-8",
+ "fr",
+ "fr.utf-8",
+ "de",
+ "de.utf-8",
+ "he",
+ "he.utf-8",
+ "hu",
+ "hu.utf-8",
+ "it",
+ "it.utf-8",
+ "ja",
+ "ja.utf-8",
+ "ja-v1",
+ "ja-v1.utf-8",
+ "ja-jp.pck",
+ "ja-jp.pck.utf-8",
+ "ja-jp.932",
+ "ja-jp.932.utf-8",
+ "ja-jp.pck-v2",
+ "ja-jp.pck-v2.utf-8",
+ "ko",
+ "ko.utf-8",
+ "no",
+ "no.utf-8",
+ "pl",
+ "pl.utf-8",
+ "pt",
+ "pt.utf-8",
+ "c",
+ "ro",
+ "ro.utf-8",
+ "ru",
+ "ru.utf-8",
+ "zh",
+ "zh.utf-8",
+ "zh.gbk",
+ "zh.gbk.utf-8",
+ "zh-tw.big5",
+ "zh-tw.big5.utf-8",
+ "zh-tw",
+ "zh-tw.utf-8",
+ "sk",
+ "sk.utf-8",
+ "sl",
+ "sl.utf-8",
+ "es",
+ "es.utf-8",
+ "sv",
+ "sv.utf-8",
+ "tr",
+ "tr.utf-8",
+ "en-us",
+ "en-us.utf-8"
+ ],
+ "x-ms-enum": {
+ "name": "VolumeLanguage",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "c.utf-8",
+ "description": "Posix with UTF-8"
+ },
+ {
+ "value": "utf8mb4",
+ "description": "UTF-8 with 4 byte character support"
+ },
+ {
+ "value": "ar",
+ "description": "Arabic - Deprecated"
+ },
+ {
+ "value": "ar.utf-8",
+ "description": "Arabic with UTF-8"
+ },
+ {
+ "value": "hr",
+ "description": "Croatian - Deprecated"
+ },
+ {
+ "value": "hr.utf-8",
+ "description": "Croatian with UTF-8"
+ },
+ {
+ "value": "cs",
+ "description": "Czech - Deprecated"
+ },
+ {
+ "value": "cs.utf-8",
+ "description": "Czech with UTF-8"
+ },
+ {
+ "value": "da",
+ "description": "Danish - Deprecated"
+ },
+ {
+ "value": "da.utf-8",
+ "description": "Danish with UTF-8"
+ },
+ {
+ "value": "nl",
+ "description": "Dutch - Deprecated"
+ },
+ {
+ "value": "nl.utf-8",
+ "description": "Dutch with UTF-8"
+ },
+ {
+ "value": "en",
+ "description": "English - Deprecated"
+ },
+ {
+ "value": "en.utf-8",
+ "description": "English with UTF-8"
+ },
+ {
+ "value": "fi",
+ "description": "Finnish - Deprecated"
+ },
+ {
+ "value": "fi.utf-8",
+ "description": "Finnish with UTF-8"
+ },
+ {
+ "value": "fr",
+ "description": "French - Deprecated"
+ },
+ {
+ "value": "fr.utf-8",
+ "description": "French with UTF-8"
+ },
+ {
+ "value": "de",
+ "description": "German - Deprecated"
+ },
+ {
+ "value": "de.utf-8",
+ "description": "German with UTF-8"
+ },
+ {
+ "value": "he",
+ "description": "Hebrew - Deprecated"
+ },
+ {
+ "value": "he.utf-8",
+ "description": "Hebrew with UTF-8"
+ },
+ {
+ "value": "hu",
+ "description": "Hungarian - Deprecated"
+ },
+ {
+ "value": "hu.utf-8",
+ "description": "Hungarian with UTF-8"
+ },
+ {
+ "value": "it",
+ "description": "Italian - Deprecated"
+ },
+ {
+ "value": "it.utf-8",
+ "description": "Italian with UTF-8"
+ },
+ {
+ "value": "ja",
+ "description": "Japanese euc-j - Deprecated"
+ },
+ {
+ "value": "ja.utf-8",
+ "description": "Japanese euc-j with UTF-8"
+ },
+ {
+ "value": "ja-v1",
+ "description": "Japanese euc-j - Deprecated"
+ },
+ {
+ "value": "ja-v1.utf-8",
+ "description": "Japanese euc-j with UTF-8"
+ },
+ {
+ "value": "ja-jp.pck",
+ "description": "Japanese pck"
+ },
+ {
+ "value": "ja-jp.pck.utf-8",
+ "description": "Japanese pck with UTF-8 - Deprecated"
+ },
+ {
+ "value": "ja-jp.932",
+ "description": "Japanese cp932"
+ },
+ {
+ "value": "ja-jp.932.utf-8",
+ "description": "Japanese cp932 with UTF-8 - Deprecated"
+ },
+ {
+ "value": "ja-jp.pck-v2",
+ "description": "Japanese pck - sjis"
+ },
+ {
+ "value": "ja-jp.pck-v2.utf-8",
+ "description": "Japanese pck - sjis with UTF-8 - Deprecated"
+ },
+ {
+ "value": "ko",
+ "description": "Korean - Deprecated"
+ },
+ {
+ "value": "ko.utf-8",
+ "description": "Korean with UTF-8"
+ },
+ {
+ "value": "no",
+ "description": "Norwegian - Deprecated"
+ },
+ {
+ "value": "no.utf-8",
+ "description": "Norwegian with UTF-8"
+ },
+ {
+ "value": "pl",
+ "description": "Polish - Deprecated"
+ },
+ {
+ "value": "pl.utf-8",
+ "description": "Polish with UTF-8"
+ },
+ {
+ "value": "pt",
+ "description": "Portuguese - Deprecated"
+ },
+ {
+ "value": "pt.utf-8",
+ "description": "Portuguese with UTF-8"
+ },
+ {
+ "value": "c",
+ "description": "Posix - Deprecated"
+ },
+ {
+ "value": "ro",
+ "description": "Romanian - Deprecated"
+ },
+ {
+ "value": "ro.utf-8",
+ "description": "Romanian with UTF-8"
+ },
+ {
+ "value": "ru",
+ "description": "Russian - Deprecated"
+ },
+ {
+ "value": "ru.utf-8",
+ "description": "Russian with UTF-8"
+ },
+ {
+ "value": "zh",
+ "description": "Simplified Chinese - Deprecated"
+ },
+ {
+ "value": "zh.utf-8",
+ "description": "Simplified Chinese with UTF-8"
+ },
+ {
+ "value": "zh.gbk",
+ "description": "Simplified gbk Chinese"
+ },
+ {
+ "value": "zh.gbk.utf-8",
+ "description": "Simplified gbk Chinese with UTF-8 - Deprecated"
+ },
+ {
+ "value": "zh-tw.big5",
+ "description": "Traditional Chinese BIG 5"
+ },
+ {
+ "value": "zh-tw.big5.utf-8",
+ "description": "Traditional Chinese BIG 5 with UTF-8 - Deprecated"
+ },
+ {
+ "value": "zh-tw",
+ "description": "Traditional Chinese EUC-TW"
+ },
+ {
+ "value": "zh-tw.utf-8",
+ "description": "Traditional Chinese EUC-TW with UTF-8 - Deprecated"
+ },
+ {
+ "value": "sk",
+ "description": "Slovak - Deprecated"
+ },
+ {
+ "value": "sk.utf-8",
+ "description": "Slovak with UTF-8"
+ },
+ {
+ "value": "sl",
+ "description": "Slovenian - Deprecated"
+ },
+ {
+ "value": "sl.utf-8",
+ "description": "Slovenian with UTF-8"
+ },
+ {
+ "value": "es",
+ "description": "Spanish - Deprecated"
+ },
+ {
+ "value": "es.utf-8",
+ "description": "Spanish with UTF-8"
+ },
+ {
+ "value": "sv",
+ "description": "Swedish - Deprecated"
+ },
+ {
+ "value": "sv.utf-8",
+ "description": "Swedish with UTF-8"
+ },
+ {
+ "value": "tr",
+ "description": "Turkish - Deprecated"
+ },
+ {
+ "value": "tr.utf-8",
+ "description": "Turkish with UTF-8"
+ },
+ {
+ "value": "en-us",
+ "description": "US English - Deprecated"
+ },
+ {
+ "value": "en-us.utf-8",
+ "description": "US English with UTF-8"
+ }
+ ]
+ }
+ },
+ "volumeQuotaRulesList": {
+ "description": "List of Volume Quota Rules",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of Volume Quota Rules",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/volumeQuotaRule"
+ }
+ }
+ }
+ },
+ "volumeQuotaRule": {
+ "description": "Quota Rule of a Volume",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Volume Quota Rule Properties",
+ "$ref": "#/definitions/volumeQuotaRulesProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "volumeQuotaRulePatch": {
+ "description": "Patchable Quota Rule of a Volume",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "properties": {
+ "description": "Volume Quota Rule Properties",
+ "$ref": "#/definitions/volumeQuotaRulesProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "volumeQuotaRulesProperties": {
+ "description": "Volume Quota Rule properties",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/netappProvisioningState"
+ },
+ "quotaSizeInKiBs": {
+ "type": "integer",
+ "description": "Size of quota",
+ "format": "int64",
+ "example": "100006"
+ },
+ "quotaType": {
+ "title": "quotaType",
+ "type": "string",
+ "description": "Type of quota",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "enum": [
+ "DefaultUserQuota",
+ "DefaultGroupQuota",
+ "IndividualUserQuota",
+ "IndividualGroupQuota"
+ ],
+ "x-ms-enum": {
+ "name": "type",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "DefaultUserQuota",
+ "description": "Default user quota"
+ },
+ {
+ "value": "DefaultGroupQuota",
+ "description": "Default group quota"
+ },
+ {
+ "value": "IndividualUserQuota",
+ "description": "Individual user quota"
+ },
+ {
+ "value": "IndividualGroupQuota",
+ "description": "Individual group quota"
+ }
+ ]
+ },
+ "example": "DefaultUserQuota"
+ },
+ "quotaTarget": {
+ "type": "string",
+ "description": "UserID/GroupID/SID based on the quota target type. UserID and groupID can be found by running ‘id’ or ‘getent’ command for the user or group and SID can be found by running ",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ }
+ }
+ },
+ "volumeGroupList": {
+ "description": "List of volume group resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of volume Groups",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/volumeGroup"
+ }
+ }
+ }
+ },
+ "volumeGroup": {
+ "description": "Volume group resource",
+ "type": "object",
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "properties": {
+ "description": "Volume group properties",
+ "$ref": "#/definitions/volumeGroupListProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "volumeGroupDetails": {
+ "description": "Volume group resource for create",
+ "type": "object",
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "properties": {
+ "description": "Volume group properties",
+ "$ref": "#/definitions/volumeGroupProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "volumeGroupMetaData": {
+ "description": "Volume group properties",
+ "type": "object",
+ "properties": {
+ "groupDescription": {
+ "type": "string",
+ "description": "Group Description",
+ "example": "group description"
+ },
+ "applicationType": {
+ "type": "string",
+ "description": "Application Type",
+ "enum": [
+ "SAP-HANA",
+ "ORACLE"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationType",
+ "modelAsString": true
+ },
+ "example": "SAP-HANA"
+ },
+ "applicationIdentifier": {
+ "type": "string",
+ "description": "Application specific identifier",
+ "example": "SH1"
+ },
+ "globalPlacementRules": {
+ "title": "Global volume placement rules",
+ "description": "Application specific placement rules for the volume group",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/placementKeyValuePairs"
+ },
+ "x-ms-identifiers": [
+ "key"
+ ]
+ },
+ "volumesCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of volumes in volume group",
+ "example": 5,
+ "readOnly": true
+ }
+ }
+ },
+ "volumeGroupProperties": {
+ "description": "Volume group properties",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "description": "Azure lifecycle management",
+ "example": "Available",
+ "readOnly": true
+ },
+ "groupMetaData": {
+ "title": "groupMetaData",
+ "description": "Volume group details",
+ "type": "object",
+ "$ref": "#/definitions/volumeGroupMetaData"
+ },
+ "volumes": {
+ "description": "List of volumes from group",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/volumeGroupVolumeProperties"
+ }
+ }
+ }
+ },
+ "volumeGroupListProperties": {
+ "description": "Volume group properties",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "description": "Azure lifecycle management",
+ "example": "Available",
+ "readOnly": true
+ },
+ "groupMetaData": {
+ "title": "groupMetaData",
+ "description": "Volume group details",
+ "type": "object",
+ "$ref": "#/definitions/volumeGroupMetaData"
+ }
+ }
+ },
+ "volumeGroupVolumeProperties": {
+ "description": "Volume resource",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ },
+ "zones": {
+ "type": "array",
+ "description": "Availability Zone",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "items": {
+ "type": "string",
+ "maxLength": 255,
+ "minLength": 1,
+ "example": "1"
+ }
+ },
+ "properties": {
+ "description": "Volume properties",
+ "$ref": "#/definitions/volumeProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "placementKeyValuePairs": {
+ "description": "Application specific parameters for the placement of volumes in the volume group",
+ "type": "object",
+ "required": [
+ "key",
+ "value"
+ ],
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Key for an application specific parameter for the placement of volumes in the volume group",
+ "example": "key1"
+ },
+ "value": {
+ "type": "string",
+ "description": "Value for an application specific parameter for the placement of volumes in the volume group",
+ "example": "value1"
+ }
+ }
+ },
+ "networkSiblingSet": {
+ "title": "Network sibling set",
+ "description": "Describes the contents of a network sibling set.",
+ "type": "object",
+ "properties": {
+ "networkSiblingSetId": {
+ "$ref": "#/definitions/networkSiblingSetId"
+ },
+ "subnetId": {
+ "$ref": "#/definitions/subnetId"
+ },
+ "networkSiblingSetStateId": {
+ "$ref": "#/definitions/networkSiblingSetStateId"
+ },
+ "networkFeatures": {
+ "$ref": "#/definitions/networkFeatures"
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/networkSiblingSetProvisioningState"
+ },
+ "nicInfoList": {
+ "type": "array",
+ "x-ms-identifiers": [],
+ "description": "List of NIC information",
+ "items": {
+ "$ref": "#/definitions/nicInfo"
+ }
+ }
+ }
+ },
+ "QueryNetworkSiblingSetRequest": {
+ "title": "QueryNetworkSiblingSetRequest",
+ "description": "Network sibling set query.",
+ "type": "object",
+ "required": [
+ "networkSiblingSetId",
+ "subnetId"
+ ],
+ "properties": {
+ "networkSiblingSetId": {
+ "$ref": "#/definitions/networkSiblingSetId"
+ },
+ "subnetId": {
+ "$ref": "#/definitions/subnetId"
+ }
+ }
+ },
+ "UpdateNetworkSiblingSetRequest": {
+ "title": "UpdateNetworkSiblingSetRequest",
+ "description": "Network sibling set update.",
+ "type": "object",
+ "required": [
+ "networkSiblingSetId",
+ "subnetId",
+ "networkSiblingSetStateId",
+ "networkFeatures"
+ ],
+ "properties": {
+ "networkSiblingSetId": {
+ "$ref": "#/definitions/networkSiblingSetId"
+ },
+ "subnetId": {
+ "$ref": "#/definitions/subnetId"
+ },
+ "networkSiblingSetStateId": {
+ "$ref": "#/definitions/networkSiblingSetStateId"
+ },
+ "networkFeatures": {
+ "$ref": "#/definitions/networkFeatures",
+ "description": "Network features available to the volume."
+ }
+ }
+ },
+ "networkFeatures": {
+ "title": "Network features",
+ "description": "Network features available to the volume, or current state of update.",
+ "type": "string",
+ "enum": [
+ "Basic",
+ "Standard",
+ "Basic_Standard",
+ "Standard_Basic"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkFeatures",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Basic",
+ "description": "Basic network features."
+ },
+ {
+ "value": "Standard",
+ "description": "Standard network features."
+ },
+ {
+ "value": "Basic_Standard",
+ "description": "Updating from Basic to Standard network features."
+ },
+ {
+ "value": "Standard_Basic",
+ "description": "Updating from Standard to Basic network features."
+ }
+ ]
+ },
+ "example": "Standard",
+ "default": "Basic"
+ },
+ "networkSiblingSetProvisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets the status of the NetworkSiblingSet at the time the operation was called.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkSiblingSetProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "networkSiblingSetId": {
+ "title": "Network Sibling Set ID",
+ "description": "Network Sibling Set ID for a group of volumes sharing networking resources in a subnet.",
+ "type": "string",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca3333"
+ },
+ "networkSiblingSetStateId": {
+ "title": "Network sibling set state Id",
+ "description": "Network sibling set state Id identifying the current state of the sibling set.",
+ "type": "string",
+ "example": "12345_44420.8001578125"
+ },
+ "nicInfo": {
+ "title": "NIC information",
+ "description": "NIC information and list of volumes for which the NIC has the primary mount ip address.",
+ "type": "object",
+ "properties": {
+ "ipAddress": {
+ "$ref": "#/definitions/ipAddress"
+ },
+ "volumeResourceIds": {
+ "$ref": "#/definitions/volumeResourceIds"
+ }
+ }
+ },
+ "ipAddress": {
+ "title": "ipAddress",
+ "type": "string",
+ "readOnly": true,
+ "example": "1.2.3.4"
+ },
+ "volumeResourceIds": {
+ "title": "Volume resource Ids",
+ "type": "array",
+ "items": {
+ "title": "Resource Id of volume",
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes"
+ }
+ ]
+ }
+ }
+ },
+ "subnetId": {
+ "title": "Subnet resource Id",
+ "description": "The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes. Example /subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/{mySubnet}",
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Network/virtualNetworks/subnets"
+ }
+ ]
+ }
+ },
+ "snapshotRestoreFiles": {
+ "description": "Restore payload for Single File Snapshot Restore",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "required": [
+ "filePaths"
+ ],
+ "properties": {
+ "filePaths": {
+ "description": "List of files to be restored",
+ "type": "array",
+ "minItems": 1,
+ "maxItems": 10,
+ "items": {
+ "type": "string",
+ "maxLength": 1024,
+ "minLength": 1
+ },
+ "example": [
+ "/dir1/customer1.db",
+ "/dir1/customer2.db"
+ ]
+ },
+ "destinationPath": {
+ "description": "Destination folder where the files will be restored",
+ "type": "string",
+ "example": "/AVSdataStore"
+ }
+ }
+ },
+ "subvolumesList": {
+ "description": "List of Subvolumes",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of Subvolumes",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/subvolumeInfo"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ }
+ },
+ "subvolumeInfo": {
+ "description": "Subvolume Information properties",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Subvolume Properties",
+ "$ref": "#/definitions/subvolumeProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "subvolumePatchRequest": {
+ "description": "Subvolume Patch Request properties",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "properties": {
+ "description": "Subvolume Properties",
+ "$ref": "#/definitions/subvolumePatchParams",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "subvolumePatchParams": {
+ "description": "Parameters with which a subvolume can be updated",
+ "type": "object",
+ "properties": {
+ "size": {
+ "title": "size",
+ "type": "integer",
+ "x-nullable": true,
+ "format": "int64",
+ "description": "Truncate subvolume to the provided size in bytes",
+ "example": 5
+ },
+ "path": {
+ "title": "path",
+ "type": "string",
+ "description": "path to the subvolume",
+ "example": "/pathToSubvolume"
+ }
+ }
+ },
+ "subvolumeProperties": {
+ "description": "This represents path associated with the subvolume",
+ "type": "object",
+ "properties": {
+ "path": {
+ "title": "path",
+ "type": "string",
+ "description": "Path to the subvolume",
+ "example": "/subvolume1"
+ },
+ "size": {
+ "title": "size",
+ "type": "integer",
+ "x-nullable": true,
+ "format": "int64",
+ "description": "Truncate subvolume to the provided size in bytes",
+ "example": 5
+ },
+ "parentPath": {
+ "title": "name",
+ "x-nullable": true,
+ "type": "string",
+ "description": "parent path to the subvolume",
+ "example": "/parentPath"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Azure lifecycle management",
+ "readOnly": true,
+ "example": "Available"
+ }
+ }
+ },
+ "subvolumeModel": {
+ "description": "Result of the post subvolume and action is to get metadata of the subvolume.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type"
+ },
+ "properties": {
+ "description": "It represents the minimal properties of the subvolume.",
+ "$ref": "#/definitions/subvolumeModelProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "subvolumeModelProperties": {
+ "description": "Properties which represents actual subvolume model which is stored as a file in the system.",
+ "type": "object",
+ "properties": {
+ "path": {
+ "title": "path",
+ "type": "string",
+ "description": "Path to the subvolume",
+ "example": "/subvolume1"
+ },
+ "parentPath": {
+ "title": "parentpath",
+ "type": "string",
+ "description": "Path to the parent subvolume",
+ "example": "/parentPath"
+ },
+ "size": {
+ "title": "size",
+ "type": "integer",
+ "format": "int64",
+ "description": "Size of subvolume",
+ "example": 5
+ },
+ "bytesUsed": {
+ "title": "bytesUsed",
+ "type": "integer",
+ "format": "int64",
+ "description": "Bytes used",
+ "example": 5
+ },
+ "permissions": {
+ "title": "permissions",
+ "type": "string",
+ "description": "Permissions of the subvolume",
+ "example": "777"
+ },
+ "creationTimeStamp": {
+ "title": "creationTimeStamp",
+ "type": "string",
+ "format": "date-time",
+ "description": "Creation time and date",
+ "example": "2017-08-15T13:23:33Z"
+ },
+ "accessedTimeStamp": {
+ "title": "accessedTimeStamp",
+ "type": "string",
+ "format": "date-time",
+ "description": "Most recent access time and date",
+ "example": "2017-08-15T13:23:33Z"
+ },
+ "modifiedTimeStamp": {
+ "title": "modifiedTimeStamp",
+ "type": "string",
+ "format": "date-time",
+ "description": "Most recent modification time and date",
+ "example": "2017-08-15T13:23:33Z"
+ },
+ "changedTimeStamp": {
+ "title": "changedTimeStamp",
+ "type": "string",
+ "format": "date-time",
+ "description": "Most recent change time and date",
+ "example": "2017-08-15T13:23:33Z"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Azure lifecycle management",
+ "example": "Available"
+ }
+ }
+ },
+ "netappProvisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets the status of the VolumeQuotaRule at the time the operation was called.",
+ "enum": [
+ "Accepted",
+ "Creating",
+ "Patching",
+ "Deleting",
+ "Moving",
+ "Failed",
+ "Succeeded"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": false
+ }
+ },
+ "encryptionMigrationRequest": {
+ "description": "Encryption migration request",
+ "type": "object",
+ "required": [
+ "virtualNetworkId",
+ "privateEndpointId"
+ ],
+ "properties": {
+ "virtualNetworkId": {
+ "title": "virtualNetworkId",
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Network/virtualNetworks"
+ }
+ ]
+ },
+ "description": "Identifier for the virtual network",
+ "example": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.Network/virtualNetworks/vnet1"
+ },
+ "privateEndpointId": {
+ "title": "privateEndpointId",
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Network/privateEndpoints"
+ }
+ ]
+ },
+ "description": "Identifier of the private endpoint to reach the Azure Key Vault",
+ "example": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.Network/privateEndpoints/privateIP1"
+ }
+ }
+ },
+ "coolAccessRetrievalPolicy": {
+ "type": "string",
+ "description": "coolAccessRetrievalPolicy determines the data retrieval behavior from the cool tier to standard storage based on the read pattern for cool access enabled volumes. The possible values for this field are: \n Default - Data will be pulled from cool tier to standard storage on random reads. This policy is the default.\n OnRead - All client-driven data read is pulled from cool tier to standard storage on both sequential and random reads.\n Never - No client-driven data is pulled from cool tier to standard storage.",
+ "enum": [
+ "Default",
+ "OnRead",
+ "Never"
+ ],
+ "x-ms-enum": {
+ "name": "coolAccessRetrievalPolicy",
+ "modelAsString": true
+ }
+ },
+ "smbAccessBasedEnumeration": {
+ "title": "smbAccessBasedEnumeration",
+ "type": "string",
+ "description": "Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "smbAccessBasedEnumeration",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Disabled",
+ "description": "smbAccessBasedEnumeration share setting is disabled"
+ },
+ {
+ "value": "Enabled",
+ "description": "smbAccessBasedEnumeration share setting is enabled"
+ }
+ ]
+ },
+ "x-nullable": true,
+ "example": "Enabled"
+ },
+ "smbNonBrowsable": {
+ "title": "smbNonBrowsable",
+ "type": "string",
+ "description": "Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "smbNonBrowsable",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Disabled",
+ "description": "smbNonBrowsable share setting is disabled"
+ },
+ {
+ "value": "Enabled",
+ "description": "smbNonBrowsable share setting is enabled"
+ }
+ ]
+ },
+ "example": "Enabled"
+ },
+ "backupRestoreFiles": {
+ "description": "Restore payload for Single File Backup Restore",
+ "type": "object",
+ "required": [
+ "fileList",
+ "destinationVolumeId"
+ ],
+ "properties": {
+ "fileList": {
+ "description": "List of files to be restored",
+ "type": "array",
+ "minItems": 1,
+ "maxItems": 8,
+ "items": {
+ "type": "string",
+ "maxLength": 1024,
+ "minLength": 1
+ },
+ "example": [
+ "/dir1/customer1.db",
+ "/dir1/customer2.db"
+ ]
+ },
+ "restoreFilePath": {
+ "description": "Destination folder where the files will be restored. The path name should start with a forward slash. If it is omitted from request then restore is done at the root folder of the destination volume by default",
+ "type": "string",
+ "pattern": "^\\/.*$",
+ "example": "/AVSdataStore"
+ },
+ "destinationVolumeId": {
+ "description": "Resource Id of the destination volume on which the files need to be restored",
+ "type": "string",
+ "example": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1"
+ }
+ }
+ },
+ "volumeBackupProperties": {
+ "description": "Volume Backup Properties",
+ "type": "object",
+ "properties": {
+ "backupPolicyId": {
+ "type": "string",
+ "description": "Backup Policy Resource ID"
+ },
+ "policyEnforced": {
+ "type": "boolean",
+ "description": "Policy Enforced"
+ },
+ "backupVaultId": {
+ "type": "string",
+ "description": "Backup Vault Resource ID"
+ }
+ }
+ },
+ "backupsList": {
+ "description": "List of Backups",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of Backups",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/backup"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ }
+ },
+ "backup": {
+ "description": "Backup under a Backup Vault",
+ "type": "object",
+ "required": [
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Backup Properties",
+ "$ref": "#/definitions/backupProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "backupPatch": {
+ "description": "Backup patch",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Backup Patch Properties",
+ "$ref": "#/definitions/backupPatchProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "backupProperties": {
+ "description": "Backup properties",
+ "type": "object",
+ "required": [
+ "volumeResourceId"
+ ],
+ "properties": {
+ "backupId": {
+ "title": "backupId",
+ "type": "string",
+ "readOnly": true,
+ "description": "UUID v4 used to identify the Backup",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "maxLength": 36,
+ "minLength": 36,
+ "example": "9760acf5-4638-11e7-9bdb-020073ca3333"
+ },
+ "creationDate": {
+ "title": "creationDate",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The creation date of the backup",
+ "example": "2017-08-15 13:23:33"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure lifecycle management"
+ },
+ "size": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "Size of backup in bytes",
+ "format": "int64"
+ },
+ "label": {
+ "type": "string",
+ "description": "Label for backup"
+ },
+ "backupType": {
+ "title": "backupType",
+ "type": "string",
+ "readOnly": true,
+ "description": "Type of backup Manual or Scheduled",
+ "enum": [
+ "Manual",
+ "Scheduled"
+ ],
+ "x-ms-enum": {
+ "name": "backupType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Manual",
+ "description": "Manual backup"
+ },
+ {
+ "value": "Scheduled",
+ "description": "Scheduled backup"
+ }
+ ]
+ },
+ "example": "Manual"
+ },
+ "failureReason": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Failure reason"
+ },
+ "volumeResourceId": {
+ "type": "string",
+ "description": "ResourceId used to identify the Volume",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes"
+ }
+ ]
+ }
+ },
+ "useExistingSnapshot": {
+ "type": "boolean",
+ "description": "Manual backup an already existing snapshot. This will always be false for scheduled backups and true/false for manual backups",
+ "example": true,
+ "default": false,
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "snapshotName": {
+ "type": "string",
+ "description": "The name of the snapshot",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "backupPolicyResourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "ResourceId used to identify the backup policy",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.NetApp/netAppAccounts/backupPolicies"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "backupPatchProperties": {
+ "description": "Backup patch properties",
+ "type": "object",
+ "properties": {
+ "label": {
+ "type": "string",
+ "description": "Label for backup"
+ }
+ }
+ },
+ "backupStatus": {
+ "description": "Backup status",
+ "type": "object",
+ "properties": {
+ "healthy": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Backup health status"
+ },
+ "relationshipStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Status of the backup mirror relationship",
+ "enum": [
+ "Idle",
+ "Transferring",
+ "Failed",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "RelationshipStatus",
+ "modelAsString": true
+ }
+ },
+ "mirrorState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The status of the backup",
+ "enum": [
+ "Uninitialized",
+ "Mirrored",
+ "Broken"
+ ],
+ "x-ms-enum": {
+ "name": "MirrorState",
+ "modelAsString": true
+ }
+ },
+ "unhealthyReason": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Reason for the unhealthy backup relationship"
+ },
+ "errorMessage": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Displays error message if the backup is in an error state"
+ },
+ "lastTransferSize": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "Displays the last transfer size"
+ },
+ "lastTransferType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Displays the last transfer type"
+ },
+ "totalTransferBytes": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "Displays the total bytes transferred"
+ },
+ "transferProgressBytes": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "Displays the total number of bytes transferred for the ongoing operation"
+ }
+ }
+ },
+ "backupVaultsList": {
+ "description": "List of Backup Vaults",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of Backup Vaults",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/backupVault"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of results."
+ }
+ }
+ },
+ "backupVault": {
+ "description": "Backup Vault information",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "required": [
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Backup Vault Properties",
+ "$ref": "#/definitions/backupVaultProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "backupVaultPatch": {
+ "description": "Backup Vault information",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "tags": {
+ "description": "Resource tags",
+ "$ref": "#/definitions/resourceTags"
+ }
+ }
+ },
+ "backupVaultProperties": {
+ "description": "Backup Vault properties",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure lifecycle management"
+ }
+ }
+ },
+ "backupsMigrationRequest": {
+ "description": "Migrate Backups Request",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "required": [
+ "backupVaultId"
+ ],
+ "properties": {
+ "backupVaultId": {
+ "type": "string",
+ "description": "The ResourceId of the Backup Vault",
+ "example": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupVaults/backupVault1"
+ }
+ }
+ },
+ "changeKeyVault": {
+ "description": "Change key vault request",
+ "type": "object",
+ "required": [
+ "keyVaultUri",
+ "keyName",
+ "keyVaultResourceId",
+ "keyVaultPrivateEndpoints"
+ ],
+ "properties": {
+ "keyVaultUri": {
+ "title": "keyVaultUri",
+ "description": "The URI of the key vault/managed HSM that should be used for encryption.",
+ "type": "string",
+ "example": "https://my-key-vault.managedhsm.azure.net"
+ },
+ "keyName": {
+ "title": "keyName",
+ "description": "The name of the key that should be used for encryption.",
+ "type": "string",
+ "example": "rsaKeyName"
+ },
+ "keyVaultResourceId": {
+ "title": "keyVaultResourceId",
+ "description": "Azure resource ID of the key vault/managed HSM that should be used for encryption.",
+ "type": "string",
+ "example": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.KeyVault/managedHSMs/my-hsm"
+ },
+ "keyVaultPrivateEndpoints": {
+ "title": "keyVaultPrivateEndpoints",
+ "description": "Pairs of virtual network ID and private endpoint ID. Every virtual network that has volumes encrypted with customer-managed keys needs its own key vault private endpoint.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/keyVaultPrivateEndpoint"
+ },
+ "x-ms-identifiers": [
+ "virtualNetworkId"
+ ]
+ }
+ }
+ },
+ "keyVaultPrivateEndpoint": {
+ "title": "keyVaultPrivateEndpoint",
+ "description": "Pairs of virtual network ID and private endpoint ID. Every virtual network that has volumes encrypted with customer-managed keys needs its own key vault private endpoint.",
+ "type": "object",
+ "properties": {
+ "virtualNetworkId": {
+ "title": "virtualNetworkId",
+ "type": "string",
+ "description": "Identifier for the virtual network id",
+ "example": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.Network/virtualNetworks/vnet1"
+ },
+ "privateEndpointId": {
+ "title": "privateEndpointId",
+ "type": "string",
+ "description": "Identifier of the private endpoint to reach the Azure Key Vault",
+ "example": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.Network/privateEndpoints/privateIP1"
+ }
+ }
+ },
+ "clusterPeerCommandResponse": {
+ "description": "Information about cluster peering process",
+ "type": "object",
+ "properties": {
+ "peerAcceptCommand": {
+ "description": "A command that needs to be run on the external ONTAP to accept cluster peering. Will only be present if clusterPeeringStatus
is pending
",
+ "type": "string"
+ }
+ }
+ },
+ "svmPeerCommandResponse": {
+ "description": "Information about SVM peering process",
+ "type": "object",
+ "properties": {
+ "svmPeeringCommand": {
+ "description": "A command that needs to be run on the external ONTAP to accept SVM peering. Will only be present if svmPeeringStatus
is pending
",
+ "type": "string"
+ }
+ }
+ },
+ "peerClusterForVolumeMigrationRequest": {
+ "description": "Source cluster properties for a cluster peer request",
+ "type": "object",
+ "required": [
+ "peerAddresses"
+ ],
+ "properties": {
+ "peerAddresses": {
+ "type": "array",
+ "minItems": 1,
+ "description": "A list of IC-LIF IPs that can be used to connect to the on-prem cluster",
+ "example": [
+ "0.0.0.1",
+ "0.0.0.2",
+ "0.0.0.3",
+ "0.0.0.4",
+ "0.0.0.5",
+ "0.0.0.6"
+ ],
+ "items": {
+ "type": "string"
+ }
+ },
+ "remotePath": {
+ "description": "The full path to a volume that is to be migrated into ANF. Required for Migration volumes",
+ "type": "object",
+ "$ref": "#/definitions/remotePath",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ }
+ }
+ }
+ },
+ "parameters": {
+ "AccountName": {
+ "name": "accountName",
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,127}$",
+ "in": "path",
+ "required": true,
+ "description": "The name of the NetApp account",
+ "x-ms-parameter-location": "method"
+ },
+ "PoolName": {
+ "name": "poolName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$",
+ "minLength": 1,
+ "maxLength": 64,
+ "description": "The name of the capacity pool",
+ "x-ms-parameter-location": "method"
+ },
+ "VolumeName": {
+ "name": "volumeName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$",
+ "minLength": 1,
+ "maxLength": 64,
+ "description": "The name of the volume",
+ "x-ms-parameter-location": "method"
+ },
+ "MountTargetName": {
+ "name": "mountTargetName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "description": "The name of the mount target",
+ "x-ms-parameter-location": "method"
+ },
+ "SnapshotName": {
+ "name": "snapshotName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "description": "The name of the snapshot",
+ "x-ms-parameter-location": "method"
+ },
+ "SnapshotPolicyName": {
+ "name": "snapshotPolicyName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "description": "The name of the snapshot policy",
+ "x-ms-parameter-location": "method"
+ },
+ "BackupPolicyName": {
+ "name": "backupPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Backup policy Name which uniquely identify backup policy.",
+ "x-ms-parameter-location": "method"
+ },
+ "QuotaLimitName": {
+ "name": "quotaLimitName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "description": "The name of the Quota Limit",
+ "x-ms-parameter-location": "method"
+ },
+ "VolumeGroupName": {
+ "name": "volumeGroupName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$",
+ "minLength": 1,
+ "maxLength": 64,
+ "description": "The name of the volumeGroup",
+ "x-ms-parameter-location": "method"
+ },
+ "SubvolumeName": {
+ "name": "subvolumeName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the subvolume.",
+ "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$",
+ "minLength": 1,
+ "maxLength": 64,
+ "x-ms-parameter-location": "method"
+ },
+ "VolumeQuotaRuleName": {
+ "name": "volumeQuotaRuleName",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "description": "The name of volume quota rule",
+ "x-ms-parameter-location": "method"
+ },
+ "BackupName": {
+ "name": "backupName",
+ "type": "string",
+ "in": "path",
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_.]{0,255}$",
+ "required": true,
+ "description": "The name of the backup",
+ "x-ms-parameter-location": "method"
+ },
+ "BackupVaultName": {
+ "name": "backupVaultName",
+ "in": "path",
+ "required": true,
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$",
+ "type": "string",
+ "description": "The name of the Backup Vault",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-11-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-11-01/netapp.json
index 8a783b13e97c..c870dd3f0c38 100644
--- a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-11-01/netapp.json
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2023-11-01/netapp.json
@@ -6606,7 +6606,7 @@
"type": "integer",
"description": "Specifies the number of days after which data that is not accessed by clients will be tiered.",
"example": 7,
- "minimum": 7,
+ "minimum": 2,
"maximum": 183,
"format": "int32"
},
@@ -7136,6 +7136,17 @@
}
}
},
+ "protocolTypes": {
+ "title": "protocolTypes",
+ "description": "Set of protocol types, default NFSv3, CIFS for SMB protocol",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "NFSv4.1"
+ ]
+ },
"throughputMibps": {
"title": "Maximum throughput in MiB/s that can be achieved by this volume and this will be accepted as input only for manual qosType volume",
"type": "number",
diff --git a/specification/netapp/resource-manager/readme.md b/specification/netapp/resource-manager/readme.md
index ca3881394a07..7034493e594a 100644
--- a/specification/netapp/resource-manager/readme.md
+++ b/specification/netapp/resource-manager/readme.md
@@ -28,7 +28,16 @@ These are the global settings for the Azure NetApp Files API.
title: NetAppManagementClient
description: Microsoft NetApp Files Azure Resource Provider specification
openapi-type: arm
-tag: package-netapp-2023-11-01
+tag: package-preview-2023-11
+```
+
+### Tag: package-preview-2023-11
+
+These settings apply only when `--tag=package-preview-2023-11` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2023-11'
+input-file:
+ - Microsoft.NetApp/preview/2023-11-01-preview/netapp.json
```
### Tag: package-netapp-2023-11-01
@@ -65,7 +74,7 @@ These settings apply only when `--tag=package-preview-2023-05` is specified on t
``` yaml $(tag) == 'package-preview-2023-05'
input-file:
- Microsoft.NetApp/preview/2023-05-01-preview/netapp.json
-tag: package-2023-07
+tag: package-preview-2023-11
```
### Tag: package-netapp-2023-05-01
From 75731b44dbf23b73d03cb1698c558f1edfe58f69 Mon Sep 17 00:00:00 2001
From: Anand Bulusu <71119784+anand-bulusu@users.noreply.github.com>
Date: Tue, 11 Jun 2024 12:19:39 +0530
Subject: [PATCH 149/343] Added missing continuation settings for execute
dataflow activity (#29230)
* Update Pipeline.json with continuation settings for execute dataflow activity
* Update continuation settings for dataflow - Synapse
* Lint fix
* Lint fix
* Prettier fix
* Removed x-ms-format for synapse swagger
---
.../2018-06-01/entityTypes/Pipeline.json | 25 +++++++++++++++++++
.../2020-12-01/entityTypes/Pipeline.json | 22 ++++++++++++++++
2 files changed, 47 insertions(+)
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 d094cd8aa3c1..3914b9560d42 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
@@ -8359,6 +8359,10 @@
"description": "The integration runtime reference.",
"$ref": "../datafactory.json#/definitions/IntegrationRuntimeReference"
},
+ "continuationSettings": {
+ "description": "Continuation settings for execute data flow activity.",
+ "$ref": "#/definitions/ContinuationSettingsReference"
+ },
"compute": {
"description": "Compute properties for data flow activity.",
"type": "object",
@@ -8400,6 +8404,27 @@
"dataFlow"
]
},
+ "ContinuationSettingsReference": {
+ "description": "Continuation settings for execute data flow activity.",
+ "type": "object",
+ "properties": {
+ "continuationTtlInMinutes": {
+ "description": "Continuation TTL in minutes.",
+ "x-ms-format": "dfe-int",
+ "type": "object"
+ },
+ "idleCondition": {
+ "description": "Idle condition.",
+ "x-ms-format": "dfe-string",
+ "type": "object"
+ },
+ "customizedCheckpointKey": {
+ "description": "Customized checkpoint key.",
+ "x-ms-format": "dfe-string",
+ "type": "object"
+ }
+ }
+ },
"ExecutePowerQueryActivityTypeProperties": {
"description": "Execute power query data flow activity properties.",
"type": "object",
diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json
index e7fe05e9e3e5..ebed021dcfb7 100644
--- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json
+++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json
@@ -7411,6 +7411,10 @@
"description": "The integration runtime reference.",
"$ref": "../artifacts.json#/definitions/IntegrationRuntimeReference"
},
+ "continuationSettings": {
+ "description": "Continuation settings for execute data flow activity.",
+ "$ref": "#/definitions/ContinuationSettingsReference"
+ },
"compute": {
"description": "Compute properties for data flow activity.",
"type": "object",
@@ -7446,6 +7450,24 @@
"dataflow"
]
},
+ "ContinuationSettingsReference": {
+ "description": "Continuation settings for execute data flow activity.",
+ "type": "object",
+ "properties": {
+ "continuationTtlInMinutes": {
+ "description": "Continuation TTL in minutes.",
+ "type": "object"
+ },
+ "idleCondition": {
+ "description": "Idle condition.",
+ "type": "object"
+ },
+ "customizedCheckpointKey": {
+ "description": "Customized checkpoint key.",
+ "type": "object"
+ }
+ }
+ },
"DataFlowComputeType": {
"description": "All available DataFlowComputeType values.",
"type": "string",
From 0b17872255d025c072ce970752c470a02c9723a7 Mon Sep 17 00:00:00 2001
From: virginiaho-ms <111312414+virginiaho-ms@users.noreply.github.com>
Date: Mon, 10 Jun 2024 23:50:17 -0700
Subject: [PATCH 150/343] Replace apiKey with more obvious dummy value (#29268)
---
.../stable/2015-05-01/examples/APIKeysCreate.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/APIKeysCreate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/APIKeysCreate.json
index ca44f85cbb91..6e5496b52716 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/APIKeysCreate.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/APIKeysCreate.json
@@ -18,7 +18,7 @@
"responses": {
"200": {
"body": {
- "id": "/subscriptions/subid/resourcegroups/my-resource-group/providers/Microsoft.Insights/components/my-component/apikeys/fe2e0138-47c1-46c5-8726-872f54c1ca08",
+ "id": "/subscriptions/subid/resourcegroups/my-resource-group/providers/Microsoft.Insights/components/my-component/apikeys/00000000-0000-0000-0000-000000000000",
"name": "test",
"linkedReadProperties": [
"/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component/api",
@@ -27,7 +27,7 @@
"linkedWriteProperties": [
"/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component/annotations"
],
- "apiKey": "eip8wlzuzlf4wzczhnzao54zcswew25azs4kadhb",
+ "apiKey": "0000000000000000000000000000000000000000",
"createdDate": "Thu, 28 Sep 2017 16:58:52 GMT"
}
}
From 6ab56f07ee3f346dd6e26c39b37e14e9f9f15559 Mon Sep 17 00:00:00 2001
From: justbelieve
Date: Tue, 11 Jun 2024 12:23:33 +0530
Subject: [PATCH 151/343] Azure site recovery Swagger for 2024-04-01 Api
version (#29277)
* Copy files from stable/2024-02-01
Copied the files in a separate commit.
This allows reviewers to easily diff subsequent changes against the previous spec.
* Update version to stable/2024-04-01
Updated the API version from stable/2024-02-01 to stable/2024-04-01.
* Added tag for 2024-04-01 in readme file
* Fixed style check
* Fixed style
* fixed prettier
---------
Co-authored-by: Roopesh Manda
Co-authored-by: Himanshu Agarwal
---
.../examples/ClusterRecoveryPoint_Get.json | 33 +
...ts_ListByReplicationProtectionCluster.json | 36 +
.../examples/MigrationRecoveryPoints_Get.json | 28 +
...oints_ListByReplicationMigrationItems.json | 40 +
.../2024-04-01/examples/Operations_List.json | 1228 +
.../examples/RecoveryPoints_Get.json | 28 +
...oints_ListByReplicationProtectedItems.json | 40 +
.../ReplicationAlertSettings_Create.json | 37 +
.../ReplicationAlertSettings_Get.json | 28 +
.../ReplicationAlertSettings_List.json | 31 +
.../examples/ReplicationAppliances_List.json | 27 +
.../ReplicationEligibilityResults_Get.json | 32 +
.../ReplicationEligibilityResults_List.json | 43 +
.../examples/ReplicationEvents_Get.json | 37 +
.../examples/ReplicationEvents_List.json | 68 +
.../ReplicationFabrics_CheckConsistency.json | 43 +
.../examples/ReplicationFabrics_Create.json | 50 +
.../examples/ReplicationFabrics_Delete.json | 22 +
.../examples/ReplicationFabrics_Get.json | 37 +
.../examples/ReplicationFabrics_List.json | 40 +
.../ReplicationFabrics_MigrateToAad.json | 22 +
.../examples/ReplicationFabrics_Purge.json | 22 +
...ReplicationFabrics_ReassociateGateway.json | 55 +
.../ReplicationFabrics_RenewCertificate.json | 48 +
.../ReplicationInfrastructure_Delete.json | 17 +
.../examples/ReplicationJobs_Cancel.json | 60 +
.../examples/ReplicationJobs_Export.json | 51 +
.../examples/ReplicationJobs_Get.json | 62 +
.../examples/ReplicationJobs_List.json | 73 +
.../examples/ReplicationJobs_Restart.json | 61 +
.../examples/ReplicationJobs_Resume.json | 84 +
.../ReplicationLogicalNetworks_Get.json | 28 +
...icalNetworks_ListByReplicationFabrics.json | 42 +
.../ReplicationMigrationItems_Create.json | 73 +
.../ReplicationMigrationItems_Delete.json | 24 +
.../ReplicationMigrationItems_Get.json | 46 +
.../ReplicationMigrationItems_List.json | 47 +
...ListByReplicationProtectionContainers.json | 49 +
.../ReplicationMigrationItems_Migrate.json | 60 +
...cationMigrationItems_PauseReplication.json | 53 +
...ationMigrationItems_ResumeReplication.json | 56 +
.../ReplicationMigrationItems_Resync.json | 59 +
...ReplicationMigrationItems_TestMigrate.json | 60 +
...tionMigrationItems_TestMigrateCleanup.json | 56 +
.../ReplicationMigrationItems_Update.json | 58 +
.../ReplicationNetworkMappings_Create.json | 51 +
.../ReplicationNetworkMappings_Delete.json | 24 +
.../ReplicationNetworkMappings_Get.json | 36 +
.../ReplicationNetworkMappings_List.json | 38 +
...orkMappings_ListByReplicationNetworks.json | 39 +
.../ReplicationNetworkMappings_Update.json | 51 +
.../examples/ReplicationNetworks_Get.json | 28 +
.../examples/ReplicationNetworks_List.json | 52 +
...tionNetworks_ListByReplicationFabrics.json | 53 +
.../examples/ReplicationPolicies_Create.json | 40 +
.../examples/ReplicationPolicies_Delete.json | 22 +
.../examples/ReplicationPolicies_Get.json | 27 +
.../examples/ReplicationPolicies_List.json | 30 +
.../examples/ReplicationPolicies_Update.json | 40 +
.../ReplicationProtectableItems_Get.json | 35 +
...ListByReplicationProtectionContainers.json | 56 +
.../ReplicationProtectedItems_AddDisks.json | 81 +
...tionProtectedItems_ApplyRecoveryPoint.json | 74 +
.../ReplicationProtectedItems_Create.json | 72 +
.../ReplicationProtectedItems_Delete.json | 31 +
...licationProtectedItems_FailoverCancel.json | 64 +
...licationProtectedItems_FailoverCommit.json | 65 +
.../ReplicationProtectedItems_Get.json | 57 +
.../ReplicationProtectedItems_List.json | 58 +
...ListByReplicationProtectionContainers.json | 60 +
...icationProtectedItems_PlannedFailover.json | 74 +
.../ReplicationProtectedItems_Purge.json | 24 +
...ReplicationProtectedItems_RemoveDisks.json | 76 +
...ationProtectedItems_RepairReplication.json | 63 +
.../ReplicationProtectedItems_Reprotect.json | 74 +
...ionProtectedItems_ResolveHealthErrors.json | 76 +
...licationProtectedItems_SwitchProvider.json | 77 +
...eplicationProtectedItems_TestFailover.json | 71 +
...ionProtectedItems_TestFailoverCleanup.json | 71 +
...ationProtectedItems_UnplannedFailover.json | 75 +
.../ReplicationProtectedItems_Update.json | 88 +
...icationProtectedItems_UpdateAppliance.json | 76 +
...nProtectedItems_UpdateMobilityService.json | 67 +
...ProtectionClusters_ApplyRecoveryPoint.json | 178 +
.../ReplicationProtectionClusters_Create.json | 191 +
...tionProtectionClusters_FailoverCommit.json | 165 +
.../ReplicationProtectionClusters_Get.json | 145 +
...rotectionClusters_GetOperationResults.json | 96 +
.../ReplicationProtectionClusters_List.json | 107 +
...ListByReplicationProtectionContainers.json | 109 +
.../ReplicationProtectionClusters_Purge.json | 21 +
...nProtectionClusters_RepairReplication.json | 152 +
...cationProtectionClusters_TestFailover.json | 180 +
...rotectionClusters_TestFailoverCleanup.json | 172 +
...nProtectionClusters_UnplannedFailover.json | 180 +
...ionProtectionContainerMappings_Create.json | 51 +
...ionProtectionContainerMappings_Delete.json | 29 +
...cationProtectionContainerMappings_Get.json | 35 +
...ationProtectionContainerMappings_List.json | 36 +
...ListByReplicationProtectionContainers.json | 38 +
...tionProtectionContainerMappings_Purge.json | 24 +
...ionProtectionContainerMappings_Update.json | 57 +
...eplicationProtectionContainers_Create.json | 45 +
...eplicationProtectionContainers_Delete.json | 23 +
...ionContainers_DiscoverProtectableItem.json | 43 +
.../ReplicationProtectionContainers_Get.json | 30 +
.../ReplicationProtectionContainers_List.json | 32 +
...onContainers_ListByReplicationFabrics.json | 33 +
...ionContainers_SwitchClusterProtection.json | 69 +
...ProtectionContainers_SwitchProtection.json | 44 +
.../ReplicationProtectionIntents_Create.json | 43 +
.../ReplicationProtectionIntents_Get.json | 34 +
.../ReplicationProtectionIntents_List.json | 37 +
.../ReplicationRecoveryPlans_Create.json | 88 +
.../ReplicationRecoveryPlans_Delete.json | 22 +
...plicationRecoveryPlans_FailoverCancel.json | 51 +
...plicationRecoveryPlans_FailoverCommit.json | 88 +
.../ReplicationRecoveryPlans_Get.json | 73 +
.../ReplicationRecoveryPlans_List.json | 41 +
...licationRecoveryPlans_PlannedFailover.json | 99 +
.../ReplicationRecoveryPlans_Reprotect.json | 88 +
...ReplicationRecoveryPlans_TestFailover.json | 96 +
...tionRecoveryPlans_TestFailoverCleanup.json | 93 +
...cationRecoveryPlans_UnplannedFailover.json | 100 +
.../ReplicationRecoveryPlans_Update.json | 119 +
...ationRecoveryServicesProviders_Create.json | 61 +
...ationRecoveryServicesProviders_Delete.json | 23 +
...licationRecoveryServicesProviders_Get.json | 36 +
...icationRecoveryServicesProviders_List.json | 38 +
...cesProviders_ListByReplicationFabrics.json | 39 +
...cationRecoveryServicesProviders_Purge.json | 23 +
...veryServicesProviders_RefreshProvider.json | 42 +
...nStorageClassificationMappings_Create.json | 37 +
...nStorageClassificationMappings_Delete.json | 24 +
...tionStorageClassificationMappings_Get.json | 26 +
...ionStorageClassificationMappings_List.json | 27 +
...stByReplicationStorageClassifications.json | 29 +
...ReplicationStorageClassifications_Get.json | 25 +
...eplicationStorageClassifications_List.json | 27 +
...ssifications_ListByReplicationFabrics.json | 28 +
.../examples/ReplicationVaultHealth_Get.json | 44 +
.../ReplicationVaultHealth_Refresh.json | 37 +
.../ReplicationVaultSetting_Create.json | 29 +
.../examples/ReplicationVaultSetting_Get.json | 24 +
.../ReplicationVaultSetting_List.json | 28 +
.../examples/ReplicationvCenters_Create.json | 47 +
.../examples/ReplicationvCenters_Delete.json | 23 +
.../examples/ReplicationvCenters_Get.json | 32 +
.../examples/ReplicationvCenters_List.json | 34 +
...tionvCenters_ListByReplicationFabrics.json | 35 +
.../examples/ReplicationvCenters_Update.json | 43 +
.../SupportedOperatingSystems_Get.json | 48 +
...Sizes_ListByReplicationProtectedItems.json | 57 +
.../stable/2024-04-01/service.json | 28093 ++++++++++++++++
.../resource-manager/readme.md | 11 +-
155 files changed, 37716 insertions(+), 1 deletion(-)
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ClusterRecoveryPoint_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ClusterRecoveryPoints_ListByReplicationProtectionCluster.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/MigrationRecoveryPoints_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/MigrationRecoveryPoints_ListByReplicationMigrationItems.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/Operations_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/RecoveryPoints_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/RecoveryPoints_ListByReplicationProtectedItems.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationAlertSettings_Create.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationAlertSettings_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationAlertSettings_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationAppliances_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationEligibilityResults_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationEligibilityResults_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationEvents_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationEvents_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_CheckConsistency.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_Create.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_Delete.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_MigrateToAad.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_Purge.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_ReassociateGateway.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_RenewCertificate.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationInfrastructure_Delete.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_Cancel.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_Export.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_Restart.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_Resume.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationLogicalNetworks_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Create.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Delete.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_ListByReplicationProtectionContainers.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Migrate.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_PauseReplication.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_ResumeReplication.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Resync.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_TestMigrate.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_TestMigrateCleanup.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Update.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_Create.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_Delete.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_Update.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworks_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworks_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworks_ListByReplicationFabrics.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationPolicies_Create.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationPolicies_Delete.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationPolicies_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationPolicies_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationPolicies_Update.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectableItems_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_AddDisks.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Create.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Delete.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_FailoverCancel.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_FailoverCommit.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_PlannedFailover.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Purge.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_RemoveDisks.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_RepairReplication.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Reprotect.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_ResolveHealthErrors.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_SwitchProvider.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_TestFailover.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_TestFailoverCleanup.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_UnplannedFailover.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Update.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_UpdateAppliance.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_UpdateMobilityService.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_ApplyRecoveryPoint.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_Create.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_FailoverCommit.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_GetOperationResults.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_ListByReplicationProtectionContainers.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_Purge.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_RepairReplication.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_TestFailover.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_TestFailoverCleanup.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_UnplannedFailover.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_Create.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_Delete.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_Purge.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_Update.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_Create.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_Delete.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_SwitchClusterProtection.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_SwitchProtection.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionIntents_Create.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionIntents_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionIntents_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_Create.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_Delete.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_FailoverCancel.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_FailoverCommit.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_PlannedFailover.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_Reprotect.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_TestFailover.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_UnplannedFailover.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_Update.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_Create.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_Delete.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_Purge.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassificationMappings_Create.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassificationMappings_Delete.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassificationMappings_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassificationMappings_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassifications_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassifications_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationVaultHealth_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationVaultHealth_Refresh.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationVaultSetting_Create.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationVaultSetting_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationVaultSetting_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_Create.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_Delete.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_List.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_ListByReplicationFabrics.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_Update.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/SupportedOperatingSystems_Get.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/TargetComputeSizes_ListByReplicationProtectedItems.json
create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/service.json
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ClusterRecoveryPoint_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ClusterRecoveryPoint_Get.json
new file mode 100644
index 000000000000..686e003f5fa5
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ClusterRecoveryPoint_Get.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicationProtectionClusterName": "testcluster",
+ "protectionContainerName": "pri-cloud-eastus",
+ "fabricName": "fabric-pri-eastus",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
+ "recoveryPointName": "06b9ae7f-f21d-4a76-9897-5cf5d6004d80"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster/recoveryPoints/06b9ae7f-f21d-4a76-9897-5cf5d6004d80",
+ "name": "06b9ae7f-f21d-4a76-9897-5cf5d6004d80",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionClusters/recoveryPoints",
+ "properties": {
+ "recoveryPointTime": "2024-01-19T10:51:29.6329144Z",
+ "recoveryPointType": "CrashConsistent",
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "recoveryPointSyncType": "MultiVmSyncRecoveryPoint",
+ "nodes": [
+ "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectedItems/kdUdWvpVnm3QgOQPHoVMX8YAtAO8OC4kKNjt40ERSr4",
+ "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectedItems/yNdYnDYKZ7hYU7zyVeBychFBCyAbEkrJcJNUarDrXio"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ClusterRecoveryPoints_ListByReplicationProtectionCluster.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ClusterRecoveryPoints_ListByReplicationProtectionCluster.json
new file mode 100644
index 000000000000..66fb0aea12a7
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ClusterRecoveryPoints_ListByReplicationProtectionCluster.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicationProtectionClusterName": "testcluster",
+ "protectionContainerName": "pri-cloud-eastus",
+ "fabricName": "fabric-pri-eastus",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster/recoveryPoints/cc48b7f3-b267-432b-ad76-45528974dc62",
+ "name": "cc48b7f3-b267-432b-ad76-45528974dc62",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionClusters/recoveryPoints",
+ "properties": {
+ "recoveryPointTime": "2024-01-19T08:55:51.1764251Z",
+ "recoveryPointType": "CrashConsistent",
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "recoveryPointSyncType": "MultiVmSyncRecoveryPoint",
+ "nodes": [
+ "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectedItems/kdUdWvpVnm3QgOQPHoVMX8YAtAO8OC4kKNjt40ERSr4",
+ "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectedItems/yNdYnDYKZ7hYU7zyVeBychFBCyAbEkrJcJNUarDrXio"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/MigrationRecoveryPoints_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/MigrationRecoveryPoints_Get.json
new file mode 100644
index 000000000000..9a735dda260d
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/MigrationRecoveryPoints_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "migrationRecoveryPointName": "b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems/migrationRecoveryPoints",
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1/migrationRecoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "properties": {
+ "recoveryPointTime": "2017-04-26T06:37:50.8082715Z",
+ "recoveryPointType": "CrashConsistent"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/MigrationRecoveryPoints_ListByReplicationMigrationItems.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/MigrationRecoveryPoints_ListByReplicationMigrationItems.json
new file mode 100644
index 000000000000..38c432a5723f
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/MigrationRecoveryPoints_ListByReplicationMigrationItems.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "648336ef-2d70-4d98-b100-8c299f97cd41",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems/migrationRecoveryPoints",
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1/migrationRecoveryPoints/648336ef-2d70-4d98-b100-8c299f97cd41",
+ "properties": {
+ "recoveryPointTime": "2017-04-26T06:37:50.8082715Z",
+ "recoveryPointType": "CrashConsistent"
+ }
+ },
+ {
+ "name": "34cb2d05-e730-4d3f-b96b-a60a5e92acb2",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems/migrationRecoveryPoints",
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1/migrationRecoveryPoints/34cb2d05-e730-4d3f-b96b-a60a5e92acb2",
+ "properties": {
+ "recoveryPointTime": "2017-04-26T07:37:30.9722019Z",
+ "recoveryPointType": "CrashConsistent"
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/Operations_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/Operations_List.json
new file mode 100644
index 000000000000..4839fe9754e7
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/Operations_List.json
@@ -0,0 +1,1228 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/vaultTokens/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Vault Token",
+ "description": "The Vault Token operation can be used to get Vault Token for vault level backend operations."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Register Service Container",
+ "description": "The Register Service Container operation can be used to register a container with Recovery Service."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Get Operation Results",
+ "description": "The Get Operation Results operation can be used get the operation status and result for the asynchronously submitted operation"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Get Containers",
+ "description": "The Get Containers operation can be used get the containers registered for a resource."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/delete",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Unregister Service Container",
+ "description": "The UnRegister Container operation can be used to unregister a container."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/certificates/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Update Resource Certificate",
+ "description": "The Update Resource Certificate operation updates the resource/vault credential certificate."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationAlertSettings/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Alerts Settings",
+ "operation": "Read Alerts Settings",
+ "description": "Read Any Alerts Settings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationAlertSettings/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Alerts Settings",
+ "operation": "Create or Update Alerts Settings",
+ "description": "Create or Update Any Alerts Settings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationEvents/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Events",
+ "operation": "Read Events",
+ "description": "Read Any Events"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Networks",
+ "operation": "Read Networks",
+ "description": "Read Any Networks"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Network Mappings",
+ "operation": "Read Network Mappings",
+ "description": "Read Any Network Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Network Mappings",
+ "operation": "Create or Update Network Mappings",
+ "description": "Create or Update Any Network Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Network Mappings",
+ "operation": "Delete Network Mappings",
+ "description": "Delete Any Network Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protectable Items",
+ "operation": "Read Protectable Items",
+ "description": "Read Any Protectable Items"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Container Mappings",
+ "operation": "Read Protection Container Mappings",
+ "description": "Read Any Protection Container Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Container Mappings",
+ "operation": "Create or Update Protection Container Mappings",
+ "description": "Create or Update Any Protection Container Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/remove/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Container Mappings",
+ "operation": "Remove Protection Container Mapping",
+ "description": "Remove Protection Container Mapping"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Container Mappings",
+ "operation": "Delete Protection Container Mappings",
+ "description": "Delete Any Protection Container Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Replication Recovery Points",
+ "operation": "Read Replication Recovery Points",
+ "description": "Read Any Replication Recovery Points"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Read Protected Items",
+ "description": "Read Any Protected Items"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Create or Update Protected Items",
+ "description": "Create or Update Any Protected Items"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Delete Protected Items",
+ "description": "Delete Any Protected Items"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/remove/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Remove Protected Item",
+ "description": "Remove Protected Item"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/plannedFailover/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Planned Failover",
+ "description": "Planned Failover"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/unplannedFailover/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Failover",
+ "description": "Failover"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailover/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Test Failover",
+ "description": "Test Failover"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailoverCleanup/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Test Failover Cleanup",
+ "description": "Test Failover Cleanup"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/failoverCommit/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Failover Commit",
+ "description": "Failover Commit"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/reProtect/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "ReProtect Protected Item",
+ "description": "ReProtect Protected Item"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/updateMobilityService/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Update Mobility Service",
+ "description": "Update Mobility Service"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/repairReplication/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Repair replication",
+ "description": "Repair replication"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/applyRecoveryPoint/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protected Items",
+ "operation": "Apply Recovery Point",
+ "description": "Apply Recovery Point"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationJobs/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Read Jobs",
+ "description": "Read Any Jobs"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationJobs/cancel/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Cancel Job",
+ "description": "Cancel Job"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationJobs/restart/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Restart job",
+ "description": "Restart job"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationJobs/resume/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Resume Job",
+ "description": "Resume Job"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Containers",
+ "operation": "Read Protection Containers",
+ "description": "Read Any Protection Containers"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/discoverProtectableItem/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Containers",
+ "operation": "Discover Protectable Item",
+ "description": "Discover Protectable Item"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Containers",
+ "operation": "Create or Update Protection Containers",
+ "description": "Create or Update Any Protection Containers"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/remove/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Containers",
+ "operation": "Remove Protection Container",
+ "description": "Remove Protection Container"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/switchprotection/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Protection Containers",
+ "operation": "Switch Protection Container",
+ "description": "Switch Protection Container"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationPolicies/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Policies",
+ "operation": "Read Policies",
+ "description": "Read Any Policies"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationPolicies/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Policies",
+ "operation": "Create or Update Policies",
+ "description": "Create or Update Any Policies"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationPolicies/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Policies",
+ "operation": "Delete Policies",
+ "description": "Delete Any Policies"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Read Recovery Plans",
+ "description": "Read Any Recovery Plans"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Create or Update Recovery Plans",
+ "description": "Create or Update Any Recovery Plans"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Delete Recovery Plans",
+ "description": "Delete Any Recovery Plans"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/plannedFailover/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Planned Failover Recovery Plan",
+ "description": "Planned Failover Recovery Plan"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/unplannedFailover/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Failover Recovery Plan",
+ "description": "Failover Recovery Plan"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailover/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Test Failover Recovery Plan",
+ "description": "Test Failover Recovery Plan"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailoverCleanup/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Test Failover Cleanup Recovery Plan",
+ "description": "Test Failover Cleanup Recovery Plan"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/failoverCommit/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "Failover Commit Recovery Plan",
+ "description": "Failover Commit Recovery Plan"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/reProtect/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Plans",
+ "operation": "ReProtect Recovery Plan",
+ "description": "ReProtect Recovery Plan"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Services Providers",
+ "operation": "Read Recovery Services Providers",
+ "description": "Read Any Recovery Services Providers"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/remove/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Services Providers",
+ "operation": "Remove Recovery Services Provider",
+ "description": "Remove Recovery Services Provider"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Services Providers",
+ "operation": "Delete Recovery Services Providers",
+ "description": "Delete Any Recovery Services Providers"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/refreshProvider/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Recovery Services Providers",
+ "operation": "Refresh Provider",
+ "description": "Refresh Provider"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Read Fabrics",
+ "description": "Read Any Fabrics"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Create or Update Fabrics",
+ "description": "Create or Update Any Fabrics"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/remove/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Remove Fabric",
+ "description": "Remove Fabric"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/checkConsistency/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Checks Consistency of the Fabric",
+ "description": "Checks Consistency of the Fabric"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Delete Fabrics",
+ "description": "Delete Any Fabrics"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/renewcertificate/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Renew Certificate for Fabric",
+ "description": "Renew Certificate for Fabric"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/deployProcessServerImage/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Deploy Process Server Image",
+ "description": "Deploy Process Server Image"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/reassociateGateway/action",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Fabrics",
+ "operation": "Reassociate Gateway",
+ "description": "Reassociate Gateway"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Storage Classifications",
+ "operation": "Read Storage Classifications",
+ "description": "Read Any Storage Classifications"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Storage Classification Mappings",
+ "operation": "Read Storage Classification Mappings",
+ "description": "Read Any Storage Classification Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Storage Classification Mappings",
+ "operation": "Create or Update Storage Classification Mappings",
+ "description": "Create or Update Any Storage Classification Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Storage Classification Mappings",
+ "operation": "Delete Storage Classification Mappings",
+ "description": "Delete Any Storage Classification Mappings"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/usages/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Vault Usages",
+ "operation": "Read Vault Usages",
+ "description": "Read Any Vault Usages"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/read",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Read Jobs",
+ "description": "Read Any Jobs"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/write",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Create or Update Jobs",
+ "description": "Create or Update Any Jobs"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/delete",
+ "display": {
+ "provider": "Microsoft Recovery Services",
+ "resource": "Jobs",
+ "operation": "Delete Jobs",
+ "description": "Delete Any Jobs"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/usages/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vault Usage",
+ "operation": "Recovery Services Vault usage details.",
+ "description": "Returns usage details for a Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupUsageSummaries/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Usages Summaries",
+ "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.",
+ "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services ."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/storageConfig/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vault Storage Config",
+ "operation": "Get Resource Storage Config",
+ "description": "Returns Storage Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/storageConfig/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vault Storage Config",
+ "operation": "Write Resource Storage Config",
+ "description": "Updates Storage Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupconfig/vaultconfig/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vault Config",
+ "operation": "Get Resource Config",
+ "description": "Returns Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupconfig/vaultconfig/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vault Config",
+ "operation": "Update Resource Config",
+ "description": "Updates Configuration for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/tokenInfo/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Token Info",
+ "operation": "Get Vault Token Info",
+ "description": "Returns token information for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupSecurityPIN/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "SecurityPINInfo",
+ "operation": "Get Security PIN Info",
+ "description": "Returns Security PIN Information for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupManagementMetaData/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Management Metadata",
+ "operation": "Get Backup Management Metadata",
+ "description": "Returns Backup Management Metadata for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupOperationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Operation Results",
+ "operation": "Get Backup Operation Result",
+ "description": "Returns Backup Operation Result for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupOperations/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Operation Status",
+ "operation": "Get Backup Operation Status",
+ "description": "Returns Backup Operation Status for Recovery Services Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupJobs/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Jobs",
+ "operation": "Get Jobs",
+ "description": "Returns all Job Objects"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupJobs/cancel/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Jobs",
+ "operation": "Cancel Jobs",
+ "description": "Cancel the Job"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupJobsExport/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Export Backup Jobs",
+ "operation": "Export Jobs",
+ "description": "Export Jobs"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupJobs/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Jobs Operation Results",
+ "operation": "Get Job Operation Result",
+ "description": "Returns the Result of Job Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupJobsExport/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Export Backup Jobs Operation Results",
+ "operation": "Get Export Job Operation Result",
+ "description": "Returns the Result of Export Job Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Recovery Points",
+ "operation": "Get Recovery Points",
+ "description": "Get Recovery Points for Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Recovery Points",
+ "operation": "Restore Recovery Points",
+ "description": "Restore Recovery Points for Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Recovery Points",
+ "operation": "Provision Instant Item Recovery for Protected Item",
+ "description": "Provision Instant Item Recovery for Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Recovery Points",
+ "operation": "Revoke Instant Item Recovery for Protected Item",
+ "description": "Revoke Instant Item Recovery for Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Policies",
+ "operation": "Get Protection Policy",
+ "description": "Returns all Protection Policies"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Policies",
+ "operation": "Create Protection Policy",
+ "description": "Creates Protection Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/delete",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Policies",
+ "operation": "Delete Protection Policy",
+ "description": "Delete a Protection Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Policy Operation Results",
+ "operation": "Get Policy Operation Results",
+ "description": "Get Results of Policy Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/operationStatus/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Policy Operation Status",
+ "operation": "Get Policy Operation Status",
+ "description": "Get Status of Policy Operation."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Items",
+ "operation": "Get Protected Item Details",
+ "description": "Returns object details of the Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupProtectedItems/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Items",
+ "operation": "Get All Protected Items",
+ "description": "Returns the list of all Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Items",
+ "operation": "Create Backup Protected Item",
+ "description": "Create a backup Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/delete",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Items",
+ "operation": "Delete Protected Items",
+ "description": "Deletes Protected Item"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Item Operation Results",
+ "operation": "Get Protected Items Operation Results",
+ "description": "Gets Result of Operation Performed on Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationStatus/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Item Operation Status",
+ "operation": "Get Protected Items operation status",
+ "description": "Returns the status of Operation performed on Protected Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/backup/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protected Items",
+ "operation": "Backup Protected Item",
+ "description": "Performs Backup for Protected Item."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupProtectableItems/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Protectable Items",
+ "operation": "Get Protectable Items",
+ "description": "Returns list of all Protectable Items."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/refreshContainers/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Refresh Containers",
+ "operation": "Refresh container",
+ "description": "Refreshes the container list"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Refresh Containers Operation Results",
+ "operation": "Get Operation Results",
+ "description": "Returns status of the operation"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupProtectionContainers/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Protection Containers",
+ "operation": "Get Containers In Subscription",
+ "description": "Returns all containers belonging to the subscription"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protection Containers",
+ "operation": "Get Registered Container",
+ "description": "Returns all registered containers"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/operationResults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Protection Containers Operation Results",
+ "operation": "Get Container Operation Results",
+ "description": "Gets result of Operation performed on Protection Container."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupEngines",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Engines",
+ "operation": "List of backup management servers.",
+ "description": "Returns all the backup management servers registered with vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/backupStatus",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Backup Status",
+ "operation": "Check Backup Status for Vault",
+ "description": "Check Backup Status for Recovery Services Vaults"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Create Vault",
+ "description": "Create Vault operation creates an Azure resource of type 'vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Get Vault",
+ "description": "The Get Vault operation gets an object representing the Azure resource of type 'vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/delete",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Delete Vault",
+ "description": "The Delete Vault operation deletes the specified Azure resource of type 'vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/extendedInformation/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Get Extended Info",
+ "description": "The Get Extended Info operation gets an object's Extended Info representing the Azure resource of type ?vault?"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/extendedInformation/write",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Get Extended Info",
+ "description": "The Get Extended Info operation gets an object's Extended Info representing the Azure resource of type ?vault?"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/Vaults/extendedInformation/delete",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "Vaults",
+ "operation": "Get Extended Info",
+ "description": "The Get Extended Info operation gets an object's Extended Info representing the Azure resource of type ?vault?"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/locations/allocatedStamp/read",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "locations/allocatedStamp",
+ "operation": "Get Allocated Stamp",
+ "description": "GetAllocatedStamp is internal operation used by service"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.RecoveryServices/locations/allocateStamp/action",
+ "display": {
+ "provider": "Microsoft.RecoveryServices",
+ "resource": "locations/allocateStamp",
+ "operation": "Allocated Stamp Action",
+ "description": "AllocateStamp is internal operation used by service"
+ },
+ "origin": "user"
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/RecoveryPoints_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/RecoveryPoints_Get.json
new file mode 100644
index 000000000000..0487a57a7914
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/RecoveryPoints_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPointName": "b22134ea-620c-474b-9fa5-3c1cb47708e3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "properties": {
+ "recoveryPointTime": "2017-04-26T06:37:50.8082715Z",
+ "recoveryPointType": "CrashConsistent"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/RecoveryPoints_ListByReplicationProtectedItems.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/RecoveryPoints_ListByReplicationProtectedItems.json
new file mode 100644
index 000000000000..697a1d43bc18
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/RecoveryPoints_ListByReplicationProtectedItems.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "properties": {
+ "recoveryPointTime": "2017-04-26T06:37:50.8082715Z",
+ "recoveryPointType": "CrashConsistent"
+ }
+ },
+ {
+ "name": "34cb2d05-e730-4d3f-b96b-a60a5e92acb2",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/34cb2d05-e730-4d3f-b96b-a60a5e92acb2",
+ "properties": {
+ "recoveryPointTime": "2017-04-26T07:37:30.9722019Z",
+ "recoveryPointType": "CrashConsistent"
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationAlertSettings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationAlertSettings_Create.json
new file mode 100644
index 000000000000..82f765ae9f0b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationAlertSettings_Create.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "alertSettingName": "defaultAlertSetting",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "request": {
+ "properties": {
+ "sendToOwners": "false",
+ "customEmailAddresses": [
+ "ronehr@microsoft.com"
+ ],
+ "locale": ""
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationAlertSettings",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationAlertSettings/defaultAlertSetting",
+ "name": "defaultAlertSetting",
+ "properties": {
+ "sendToOwners": "false",
+ "customEmailAddresses": [
+ "ronehr@microsoft.com"
+ ],
+ "locale": "en-US"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationAlertSettings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationAlertSettings_Get.json
new file mode 100644
index 000000000000..dfbd497127c4
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationAlertSettings_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "alertSettingName": "defaultAlertSetting",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationAlertSettings",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationAlertSettings/defaultAlertSetting",
+ "name": "defaultAlertSetting",
+ "properties": {
+ "sendToOwners": "false",
+ "customEmailAddresses": [
+ "ronehr@microsoft.com"
+ ],
+ "locale": "en-US"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationAlertSettings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationAlertSettings_List.json
new file mode 100644
index 000000000000..148f9b63a5e0
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationAlertSettings_List.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationAlertSettings",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationAlertSettings/defaultAlertSetting",
+ "name": "defaultAlertSetting",
+ "properties": {
+ "sendToOwners": "false",
+ "customEmailAddresses": [
+ "ronehr@microsoft.com"
+ ],
+ "locale": "en-US"
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationAppliances_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationAppliances_List.json
new file mode 100644
index 000000000000..b5c53ede1dfa
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationAppliances_List.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "providerSpecificDetails": {
+ "instanceType": "InMageRcm",
+ "appliances": []
+ }
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationEligibilityResults_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationEligibilityResults_Get.json
new file mode 100644
index 000000000000..fcf88084f94b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationEligibilityResults_Get.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "virtualMachineName": "testVm1",
+ "resourceGroupName": "testRg1",
+ "subscriptionId": "d90d145a-4cdd-45a3-b2c4-971d69775278"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "default",
+ "type": "Microsoft.RecoveryServices/replicationEligibilityResults",
+ "id": "/subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/testRg1/providers/Microsoft.Compute/virtualMachines/testVm1/providers/Microsoft.RecoveryServices/replicationEligibilityResults/default",
+ "properties": {
+ "clientRequestId": "7d72ade7-b9f7-4d9b-8a19-15d9728c6190",
+ "errors": [
+ {
+ "code": "A2AOperatingSystemNotSupported",
+ "message": "The A2A operation could not be completed as the virtual machine is running OS 'ubuntu' with version '18.04' which is not supported for replication.",
+ "possibleCauses": "OS version not supported.",
+ "recommendedAction": "The virtual machine is running unsupported Operating system. Refer to the documentation for supported OS versions - https://aka.ms/a2a-os-support-matrix.",
+ "status": "Error"
+ }
+ ]
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/testRg1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationEligibilityResults_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationEligibilityResults_List.json
new file mode 100644
index 000000000000..3cd196dfd043
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationEligibilityResults_List.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "virtualMachineName": "testVm2",
+ "resourceGroupName": "testRg1",
+ "subscriptionId": "d90d145a-4cdd-45a3-b2c4-971d69775278"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "default",
+ "type": "Microsoft.RecoveryServices/replicationEligibilityResults",
+ "id": "/subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/testRg1/providers/Microsoft.Compute/virtualMachines/testVm2/providers/Microsoft.RecoveryServices/replicationEligibilityResults/default",
+ "properties": {
+ "clientRequestId": "a62c81df-e26e-47ea-ab4b-f1fcc1e5b135",
+ "errors": [
+ {
+ "code": "AzureVmIsNotInDesiredProvisioningState",
+ "message": "Azure virtual machine with Id (/subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/testRg1/providers/Microsoft.Compute/virtualMachines/testVm2) is with provisioning state 'failed'. To enable replication, VM's provisioning state should be 'succeeded'.",
+ "possibleCauses": "Virtual machine is not in desired state.",
+ "recommendedAction": "\n Ensure that the VM's provisioning state is 'succeeded'.\n Refer to https://aka.ms/a2a-vm-state-issues to troubleshoot VM provisioning state issues.\n ",
+ "status": "Error"
+ },
+ {
+ "code": "AzureVmIsNotInDesiredPowerState",
+ "message": "Azure virtual machine with Id (/subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/testRg1/providers/Microsoft.Compute/virtualMachines/testVm2) is with power status 'deallocated'. To enable replication, VM's power status should be 'running'.",
+ "possibleCauses": "Virtual machine is not in desired state.",
+ "recommendedAction": "\n Ensure that the VM's power status is 'running'.\n You can check the power status in 'VM > Settings > Properties > Status' in Azure portal.\n ",
+ "status": "Error"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/testRg1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationEvents_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationEvents_Get.json
new file mode 100644
index 000000000000..d8da5e6b5eb1
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationEvents_Get.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "eventName": "654b71d0-b2ce-4e6e-a861-98528d4bd375",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationEvents",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationEvents/VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654",
+ "name": "VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654",
+ "properties": {
+ "eventCode": "d9a07b07-c7b5-49ca-ab6c-6926596dfe47",
+ "description": "Virtual machine health is OK",
+ "eventType": "VmHealth",
+ "affectedObjectFriendlyName": "vm1",
+ "severity": "OK",
+ "timeOfOccurrence": "2017-05-02T14:28:28.5071531Z",
+ "fabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "eventSpecificDetails": {
+ "instanceType": "JobStatus"
+ },
+ "healthErrors": []
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationEvents_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationEvents_List.json
new file mode 100644
index 000000000000..e591ae6b8740
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationEvents_List.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationEvents",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationEvents/JobStatusMonitoringEvent;9091989892524070155_4ed6f1a6-9b6d-4048-9079-1307dd24b814",
+ "name": "JobStatusMonitoringEvent;9091989892524070155_4ed6f1a6-9b6d-4048-9079-1307dd24b814",
+ "properties": {
+ "eventCode": "d32574f6-f59e-4545-b5ac-bc88d545f089",
+ "description": "TestFailover - Failed",
+ "eventType": "JobStatus",
+ "affectedObjectFriendlyName": "vm1",
+ "severity": "Critical",
+ "timeOfOccurrence": "2017-05-02T16:00:33.0705652Z",
+ "fabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "eventSpecificDetails": {
+ "instanceType": "JobStatus"
+ },
+ "healthErrors": [
+ {
+ "errorCode": "499",
+ "errorMessage": "An internal error occurred.",
+ "possibleCauses": "The operation failed due to an internal error.",
+ "recommendedAction": "Retry the last action. If the issue persists, contact Support."
+ }
+ ]
+ }
+ },
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationEvents",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationEvents/VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654",
+ "name": "VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654",
+ "properties": {
+ "eventCode": "d9a07b07-c7b5-49ca-ab6c-6926596dfe47",
+ "description": "Virtual machine health is OK",
+ "eventType": "VmHealth",
+ "affectedObjectFriendlyName": "vm1",
+ "severity": "OK",
+ "timeOfOccurrence": "2017-05-02T14:28:28.5071531Z",
+ "fabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "eventSpecificDetails": {
+ "instanceType": "JobStatus"
+ },
+ "healthErrors": []
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_CheckConsistency.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_CheckConsistency.json
new file mode 100644
index 000000000000..ef95fcc7fa8c
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_CheckConsistency.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cloud1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "properties": {
+ "friendlyName": "cloud1",
+ "encryptionDetails": {
+ "kekState": "None"
+ },
+ "rolloverEncryptionDetails": {
+ "kekState": "None"
+ },
+ "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "bcdrState": "Valid",
+ "customDetails": {
+ "instanceType": "HyperVSite"
+ },
+ "healthErrorDetails": [],
+ "health": "Normal"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_Create.json
new file mode 100644
index 000000000000..d4696627ade1
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_Create.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "input": {
+ "properties": {
+ "customDetails": {
+ "instanceType": "FabricSpecificCreationInput"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cloud1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "properties": {
+ "friendlyName": "cloud1",
+ "encryptionDetails": {
+ "kekState": "None"
+ },
+ "rolloverEncryptionDetails": {
+ "kekState": "None"
+ },
+ "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "bcdrState": "Valid",
+ "customDetails": {
+ "instanceType": "HyperVSite"
+ },
+ "healthErrorDetails": [],
+ "health": "Normal"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_Delete.json
new file mode 100644
index 000000000000..0f94daf70ba8
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_Delete.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ },
+ "204": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_Get.json
new file mode 100644
index 000000000000..89cb0b73b603
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_Get.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cloud1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "properties": {
+ "friendlyName": "cloud1",
+ "encryptionDetails": {
+ "kekState": "None"
+ },
+ "rolloverEncryptionDetails": {
+ "kekState": "None"
+ },
+ "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "bcdrState": "Valid",
+ "customDetails": {
+ "instanceType": "HyperVSite"
+ },
+ "healthErrorDetails": [],
+ "health": "Normal"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_List.json
new file mode 100644
index 000000000000..b880a19f57c3
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_List.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "cloud1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "properties": {
+ "friendlyName": "cloud1",
+ "encryptionDetails": {
+ "kekState": "None"
+ },
+ "rolloverEncryptionDetails": {
+ "kekState": "None"
+ },
+ "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "bcdrState": "Valid",
+ "customDetails": {
+ "instanceType": "HyperVSite"
+ },
+ "healthErrorDetails": [],
+ "health": "Normal"
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_MigrateToAad.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_MigrateToAad.json
new file mode 100644
index 000000000000..0f94daf70ba8
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_MigrateToAad.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ },
+ "204": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_Purge.json
new file mode 100644
index 000000000000..0f94daf70ba8
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_Purge.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ },
+ "204": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_ReassociateGateway.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_ReassociateGateway.json
new file mode 100644
index 000000000000..40fd4324a3ab
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_ReassociateGateway.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "fabricName": "GRACE-V2A-1",
+ "api-version": "2024-04-01",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
+ "failoverProcessServerRequest": {
+ "properties": {
+ "containerName": "cloud_1f3c15af-2256-4568-9e06-e1ef4f728f75",
+ "sourceProcessServerId": "AFA0EC54-1894-4E44-9CAB02DB8854B117",
+ "targetProcessServerId": "5D3ED340-85AE-C646-B338641E015DA405",
+ "vmsToMigrate": [
+ "Vm1",
+ "Vm2"
+ ],
+ "updateType": "ServerLevel"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "bc15edf300344660d9c2965f5d9225593d99734f6580613c997033abc3512a56",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics",
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/bc15edf300344660d9c2965f5d9225593d99734f6580613c997033abc3512a56",
+ "properties": {
+ "friendlyName": "GRACE-V2A-1",
+ "encryptionDetails": {
+ "kekState": "None"
+ },
+ "rolloverEncryptionDetails": {
+ "kekState": "None"
+ },
+ "internalIdentifier": "1f3c15af-2256-4568-9e06-e1ef4f728f75",
+ "bcdrState": "Valid",
+ "customDetails": {
+ "instanceType": "VMware"
+ },
+ "healthErrorDetails": [],
+ "health": "Normal"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_RenewCertificate.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_RenewCertificate.json
new file mode 100644
index 000000000000..cf6902184174
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationFabrics_RenewCertificate.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "renewCertificate": {
+ "properties": {
+ "renewCertificateType": "Cloud"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cloud1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "properties": {
+ "friendlyName": "cloud1",
+ "encryptionDetails": {
+ "kekState": "None"
+ },
+ "rolloverEncryptionDetails": {
+ "kekState": "None"
+ },
+ "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "bcdrState": "Valid",
+ "customDetails": {
+ "instanceType": "HyperVSite"
+ },
+ "healthErrorDetails": [],
+ "health": "Normal"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationInfrastructure_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationInfrastructure_Delete.json
new file mode 100644
index 000000000000..d2f7b0b77424
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationInfrastructure_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_Cancel.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_Cancel.json
new file mode 100644
index 000000000000..cb45b2295b2b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_Cancel.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "jobName": "2653c648-fc72-4316-86f3-fdf8eaa0066b",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/2653c648-fc72-4316-86f3-fdf8eaa0066b",
+ "name": "2653c648-fc72-4316-86f3-fdf8eaa0066b",
+ "properties": {
+ "activityId": "bfbbf6dd-9cbb-4cbc-98a6-faecc8891579 ActivityId: 07cc35ca-b63f-4e42-83c9-81ae0191c322",
+ "scenarioName": "PlannedFailover",
+ "friendlyName": "Planned failover",
+ "state": "Cancelling",
+ "stateDescription": "Cancelling",
+ "tasks": [],
+ "errors": [],
+ "startTime": "2017-05-03T06:16:06.3235186Z",
+ "allowedActions": [],
+ "targetObjectId": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "targetObjectName": "vm1",
+ "targetInstanceType": "ProtectionEntity",
+ "customDetails": {
+ "instanceType": "AsrJobDetails",
+ "affectedObjectDetails": {
+ "PrimaryVmId": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "PrimaryVmName": "vm1",
+ "RecoveryVmId": "",
+ "RecoveryVmName": "vm1",
+ "ProtectionProfileId": "af095a1e-1f1b-5365-87c9-99162ebcfaf0",
+ "PrimaryCloudId": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "PrimaryCloudName": "cloud1",
+ "RecoveryCloudId": "d38048d4-b460-4791-8ece-108395ee8478",
+ "RecoveryCloudName": "Microsoft Azure",
+ "PrimaryVmmId": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "PrimaryVmmName": "cloud1",
+ "RecoveryVmmId": "21a9403c-6ec1-44f2-b744-b4e50b792387",
+ "RecoveryVmmName": "Microsoft Azure",
+ "PrimaryFabricProviderId": "HyperVSite",
+ "RecoveryFabricProviderId": "Azure"
+ }
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_Export.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_Export.json
new file mode 100644
index 000000000000..ae6426e78085
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_Export.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "jobQueryParameter": {
+ "startTime": "2017-04-27T14:26:51.9161395Z",
+ "endTime": "2017-05-04T14:26:51.9161395Z",
+ "affectedObjectTypes": "",
+ "jobStatus": ""
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/37e0fc2b-13f2-4817-aafa-0cd807d46842",
+ "name": "37e0fc2b-13f2-4817-aafa-0cd807d46842",
+ "properties": {
+ "activityId": "36841d27-34f6-49ad-b572-e7dc263f100b-2017-05-04 14:26:47Z-Ibz ActivityId: c124df21-7661-4541-b32a-3c723ebbb045",
+ "scenarioName": "ExportJobs",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "tasks": [],
+ "errors": [],
+ "startTime": "2017-05-04T14:33:42.2765562Z",
+ "endTime": "2017-05-04T14:33:43Z",
+ "allowedActions": [],
+ "targetObjectId": "",
+ "targetObjectName": "",
+ "targetInstanceType": "Other",
+ "customDetails": {
+ "blobUri": "",
+ "sasToken": "",
+ "instanceType": "ExportJobDetails",
+ "affectedObjectDetails": {}
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_Get.json
new file mode 100644
index 000000000000..f6812c88dae1
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_Get.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "jobName": "58776d0b-3141-48b2-a377-9ad863eb160d",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/32ea4b9e-de62-49a1-b062-7864d5c3b897",
+ "name": "32ea4b9e-de62-49a1-b062-7864d5c3b897",
+ "properties": {
+ "activityId": "fc8e9c8f-0e76-4b6b-8e7e-d37c1b31eba0 ActivityId: c506b6ba-0711-411e-8b09-1f3f4dcb824b",
+ "scenarioName": "DeleteRecoveryPlan",
+ "friendlyName": "Delete a recovery plan",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "tasks": [
+ {
+ "taskId": "763326a2-01c9-4257-b2a1-0aac56465014",
+ "name": "DeleteRecoveryPlanTask",
+ "startTime": "2017-04-27T11:25:57.3029434Z",
+ "endTime": "2017-04-27T11:25:57.318574Z",
+ "allowedActions": [],
+ "friendlyName": "Delete a recovery plan task",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "taskType": "TaskDetails",
+ "customDetails": {
+ "instanceType": "ManualActionTaskDetails"
+ },
+ "errors": []
+ }
+ ],
+ "errors": [],
+ "startTime": "2017-04-27T11:25:56.800358Z",
+ "endTime": "2017-04-27T11:25:57Z",
+ "allowedActions": [],
+ "targetObjectId": "966c33bb-66e7-4567-9786-f80b0694f5f9",
+ "targetObjectName": "RPtest1",
+ "targetInstanceType": "RecoveryPlan",
+ "customDetails": {
+ "instanceType": "AsrJobDetails",
+ "affectedObjectDetails": {
+ "PrimaryVmmId": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "PrimaryVmmName": "cloud1",
+ "RecoveryVmmId": "21a9403c-6ec1-44f2-b744-b4e50b792387",
+ "PrimaryFabricProviderId": "HyperVSite",
+ "RecoveryFabricProviderId": "Azure"
+ }
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_List.json
new file mode 100644
index 000000000000..cee487e25c7f
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_List.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/1557d73f-6244-491e-8f0b-d300f752240b",
+ "name": "1557d73f-6244-491e-8f0b-d300f752240b",
+ "properties": {
+ "scenarioName": "AddProtectionProfile",
+ "friendlyName": "Create replication policy",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "tasks": [],
+ "errors": [],
+ "startTime": "2017-04-27T12:46:04.641851Z",
+ "endTime": "2017-04-27T12:46:11Z",
+ "allowedActions": [],
+ "targetObjectId": "af095a1e-1f1b-5365-87c9-99162ebcfaf0",
+ "targetObjectName": "protectionprofile1",
+ "targetInstanceType": "ProtectionProfile"
+ }
+ },
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/0236416a-7573-4913-a4a1-6a286fbb1ceb",
+ "name": "0236416a-7573-4913-a4a1-6a286fbb1ceb",
+ "properties": {
+ "scenarioName": "RegisterDra",
+ "friendlyName": "Register the Azure Site Recovery Provider",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "tasks": [],
+ "errors": [],
+ "startTime": "2017-05-02T14:07:19.2784338Z",
+ "endTime": "2017-05-02T14:07:21Z",
+ "allowedActions": [],
+ "targetObjectId": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "targetObjectName": "CP-B3L40406-12.ntdev.corp.microsoft.com",
+ "targetInstanceType": "Server"
+ }
+ },
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/2438d560-80f0-420b-839e-5c8ee0af90a1",
+ "name": "2438d560-80f0-420b-839e-5c8ee0af90a1",
+ "properties": {
+ "scenarioName": "CreateSite",
+ "friendlyName": "Create a site",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "tasks": [],
+ "errors": [],
+ "startTime": "2017-05-02T05:56:14.569095Z",
+ "endTime": "2017-05-02T05:56:16Z",
+ "allowedActions": [],
+ "targetObjectId": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "targetObjectName": "cloud1",
+ "targetInstanceType": "Server"
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_Restart.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_Restart.json
new file mode 100644
index 000000000000..1ab56bf8fe54
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_Restart.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "jobName": "0664564c-353e-401a-ab0c-722257c10e25",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/42c7d13b-790c-4609-8e0b-0936f1c5e5fb",
+ "name": "42c7d13b-790c-4609-8e0b-0936f1c5e5fb",
+ "properties": {
+ "activityId": "2443a5b4-e675-499f-8983-4126ea0e232c ActivityId: 2a776896-5e56-470b-af55-3c981283c4bc",
+ "scenarioName": "RestartJob",
+ "friendlyName": "Restart job",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "tasks": [
+ {
+ "taskId": "RemediateWfTask",
+ "name": "RemediateTask",
+ "startTime": "2017-05-03T10:45:13.5677237Z",
+ "endTime": "2017-05-03T10:45:13.6458467Z",
+ "allowedActions": [],
+ "friendlyName": "Restarting job",
+ "state": "Succeeded",
+ "stateDescription": "Completed",
+ "taskType": "TaskDetails",
+ "customDetails": {
+ "instanceType": "ManualActionTaskDetails"
+ },
+ "errors": []
+ }
+ ],
+ "errors": [],
+ "startTime": "2017-05-03T10:45:12.1320757Z",
+ "endTime": "2017-05-03T10:45:14Z",
+ "allowedActions": [],
+ "targetObjectId": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "targetObjectName": "vm1",
+ "targetInstanceType": "ProtectionEntity",
+ "customDetails": {
+ "instanceType": "AsrJobDetails",
+ "affectedObjectDetails": {}
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_Resume.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_Resume.json
new file mode 100644
index 000000000000..63129be8ef49
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationJobs_Resume.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "jobName": "58776d0b-3141-48b2-a377-9ad863eb160d",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "resumeJobParams": {
+ "properties": {
+ "comments": " "
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/58776d0b-3141-48b2-a377-9ad863eb160d",
+ "name": "58776d0b-3141-48b2-a377-9ad863eb160d",
+ "properties": {
+ "activityId": "1b808dfe-0451-44ac-894c-c7270711cd8c ActivityId: 9f6f849e-922a-43ec-a7a6-0be45fc85c56",
+ "scenarioName": "TestFailover",
+ "friendlyName": "Test failover",
+ "state": "Suspended",
+ "stateDescription": "WaitingForStopTestFailover",
+ "tasks": [],
+ "errors": [],
+ "startTime": "2017-04-25T09:57:57.0357829Z",
+ "allowedActions": [
+ "Cancel",
+ "Resume"
+ ],
+ "targetObjectId": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "targetObjectName": "vm1",
+ "targetInstanceType": "ProtectionEntity",
+ "customDetails": {
+ "instanceType": "TestFailoverJobDetails",
+ "testFailoverStatus": "Completed",
+ "comments": " ",
+ "networkName": "vnetavrai",
+ "networkFriendlyName": "vnetavrai",
+ "networkType": "VmNetworkAsInput",
+ "protectedItemDetails": [
+ {
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "friendlyName": "vm1",
+ "testVmName": "vm1-test",
+ "testVmFriendlyName": "vm1-test",
+ "networkConnectionStatus": "Connected",
+ "networkFriendlyName": "vnetavrai",
+ "subnet": "Subnet1"
+ }
+ ],
+ "affectedObjectDetails": {
+ "PrimaryVmId": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "PrimaryVmName": "vm1",
+ "RecoveryVmId": "",
+ "RecoveryVmName": "vm1",
+ "ProtectionProfileId": "af095a1e-1f1b-5365-87c9-99162ebcfaf0",
+ "PrimaryCloudId": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "PrimaryCloudName": "cloud1",
+ "RecoveryCloudId": "d38048d4-b460-4791-8ece-108395ee8478",
+ "RecoveryCloudName": "Microsoft Azure",
+ "PrimaryVmmId": "6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "PrimaryVmmName": "cloud1",
+ "RecoveryVmmId": "21a9403c-6ec1-44f2-b744-b4e50b792387",
+ "RecoveryVmmName": "Microsoft Azure",
+ "PrimaryFabricProviderId": "HyperVSite",
+ "RecoveryFabricProviderId": "Azure"
+ }
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationLogicalNetworks_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationLogicalNetworks_Get.json
new file mode 100644
index 000000000000..837c8734c4f3
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationLogicalNetworks_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "logicalNetworkName": "87ab394f-165f-4aa9-bd84-b018500b4509",
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationLogicalNetworks",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationLogicalNetworks/53f5a278-ae85-4001-bd5f-f6a02e1f579d",
+ "name": "87ab394f-165f-4aa9-bd84-b018500b4509",
+ "properties": {
+ "friendlyName": "corp",
+ "networkVirtualizationStatus": "NetworkVirtualizationNotEnabled",
+ "logicalNetworkUsage": "NotUsedAsPrivateNetworkForTestFailover",
+ "logicalNetworkDefinitionsStatus": "LogicalNetworkDefinitionsNotIsolated"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..a16577d0e1e3
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationLogicalNetworks",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationLogicalNetworks/53f5a278-ae85-4001-bd5f-f6a02e1f579d",
+ "name": "87ab394f-165f-4aa9-bd84-b018500b4509",
+ "properties": {
+ "friendlyName": "corp",
+ "networkVirtualizationStatus": "NetworkVirtualizationNotEnabled",
+ "logicalNetworkUsage": "NotUsedAsPrivateNetworkForTestFailover",
+ "logicalNetworkDefinitionsStatus": "LogicalNetworkDefinitionsNotIsolated"
+ }
+ },
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationLogicalNetworks",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationLogicalNetworks/87ab394f-165f-4aa9-bd84-b018500b4509",
+ "name": "53f5a278-ae85-4001-bd5f-f6a02e1f579d",
+ "properties": {
+ "friendlyName": "LN-VLANNetwork-4",
+ "networkVirtualizationStatus": "NetworkVirtualizationNotEnabled",
+ "logicalNetworkUsage": "NotUsedAsPrivateNetworkForTestFailover",
+ "logicalNetworkDefinitionsStatus": "LogicalNetworkDefinitionsIsolated"
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Create.json
new file mode 100644
index 000000000000..c9c44a6a1eeb
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Create.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "input": {
+ "properties": {
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt",
+ "disksToInclude": [
+ {
+ "diskId": "disk1",
+ "isOSDisk": "true",
+ "logStorageAccountId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.Storage/storageAccounts/logStorageAccount1",
+ "logStorageAccountSasSecretName": "logStorageSas"
+ }
+ ],
+ "vmwareMachineId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.OffAzure/VMwareSites/vmwaresite1/machines/virtualmachine1",
+ "targetNetworkId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1",
+ "targetResourceGroupId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1",
+ "snapshotRunAsAccountId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.OffAzure/VMwareSites/vmwaresite1/runasaccounts/snapshotRunAsAccount1",
+ "dataMoverRunAsAccountId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.OffAzure/VMwareSites/vmwaresite1/runasaccounts/dataMoverRunAsAccount1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Delete.json
new file mode 100644
index 000000000000..318201241b9b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Delete.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ },
+ "204": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Get.json
new file mode 100644
index 000000000000..6513364ff2a2
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Get.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_List.json
new file mode 100644
index 000000000000..4f3f27accd63
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_List.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_ListByReplicationProtectionContainers.json
new file mode 100644
index 000000000000..8e23e36557a3
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_ListByReplicationProtectionContainers.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Migrate.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Migrate.json
new file mode 100644
index 000000000000..d68f678c9c6d
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Migrate.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "migrateInput": {
+ "properties": {
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt",
+ "performShutdown": "true"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_PauseReplication.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_PauseReplication.json
new file mode 100644
index 000000000000..f4e78cb1c368
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_PauseReplication.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "pauseReplicationInput": {
+ "properties": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "ProtectionSuspended",
+ "migrationStateDescription": "Paused",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "DisableMigration"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_ResumeReplication.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_ResumeReplication.json
new file mode 100644
index 000000000000..3a680fffe918
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_ResumeReplication.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "resumeReplicationInput": {
+ "properties": {
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt",
+ "deleteMigrationResources": "false"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "ResumeInitiated",
+ "migrationStateDescription": "Resuming",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "DisableMigration"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Resync.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Resync.json
new file mode 100644
index 000000000000..299bd0308587
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Resync.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "input": {
+ "properties": {
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt",
+ "skipCbtReset": "true"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_TestMigrate.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_TestMigrate.json
new file mode 100644
index 000000000000..912f3a8bc4c6
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_TestMigrate.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "testMigrateInput": {
+ "properties": {
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt",
+ "recoveryPointId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1/migrationRecoveryPoints/9e737191-317e-43d0-8c83-e32ac3b34686",
+ "networkId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_TestMigrateCleanup.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_TestMigrateCleanup.json
new file mode 100644
index 000000000000..8bf003c24b15
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_TestMigrateCleanup.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "testMigrateCleanupInput": {
+ "properties": {
+ "comments": "Test Failover Cleanup"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Update.json
new file mode 100644
index 000000000000..b7e477cd8455
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationMigrationItems_Update.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "input": {
+ "properties": {
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_Create.json
new file mode 100644
index 000000000000..502ca5c30bdd
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_Create.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2024-04-01",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071",
+ "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "networkMappingName": "corpe2amap",
+ "input": {
+ "properties": {
+ "recoveryFabricName": "Microsoft Azure",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "fabricSpecificDetails": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap",
+ "name": "corpe2amap",
+ "properties": {
+ "state": "Paired",
+ "primaryNetworkFriendlyName": "corp",
+ "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com",
+ "recoveryNetworkFriendlyName": "vnetavrai",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "fabricSpecificSettings": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_Delete.json
new file mode 100644
index 000000000000..a8fbcb6176b2
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_Delete.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2024-04-01",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071",
+ "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "networkMappingName": "corpe2amap"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ },
+ "204": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_Get.json
new file mode 100644
index 000000000000..685b930a954b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_Get.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2024-04-01",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071",
+ "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "networkMappingName": "corpe2amap"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap",
+ "name": "corpe2amap",
+ "properties": {
+ "state": "Paired",
+ "primaryNetworkFriendlyName": "corp",
+ "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com",
+ "recoveryNetworkFriendlyName": "vnetavrai",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "fabricSpecificSettings": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_List.json
new file mode 100644
index 000000000000..ff65bed5c8f5
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_List.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServicesBVTD2/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServicesBVTD2/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap",
+ "name": "corpe2amap",
+ "properties": {
+ "state": "Paired",
+ "primaryNetworkFriendlyName": "corp",
+ "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServicesBVTD2/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com",
+ "recoveryNetworkFriendlyName": "vnetavrai",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServicesBVTD2/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "fabricSpecificSettings": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json
new file mode 100644
index 000000000000..930e4f6ced30
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2024-04-01",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap",
+ "name": "corpe2amap",
+ "properties": {
+ "state": "Paired",
+ "primaryNetworkFriendlyName": "corp",
+ "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com",
+ "recoveryNetworkFriendlyName": "vnetavrai",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "fabricSpecificSettings": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_Update.json
new file mode 100644
index 000000000000..9c4a735e06db
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworkMappings_Update.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2024-04-01",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071",
+ "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "networkMappingName": "corpe2amap",
+ "input": {
+ "properties": {
+ "recoveryFabricName": "Microsoft Azure",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai2",
+ "fabricSpecificDetails": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap",
+ "name": "corpe2amap",
+ "properties": {
+ "state": "Paired",
+ "primaryNetworkFriendlyName": "corp",
+ "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com",
+ "recoveryNetworkFriendlyName": "vnetavrai2",
+ "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai2",
+ "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "fabricSpecificSettings": {
+ "instanceType": "VmmToAzure"
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworks_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworks_Get.json
new file mode 100644
index 000000000000..e35081cfa453
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworks_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2024-04-01",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071",
+ "networkName": "93ce99d7-1219-4914-aa61-73fe5023988e"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/93ce99d7-1219-4914-aa61-73fe5023988e",
+ "name": "93ce99d7-1219-4914-aa61-73fe5023988e",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "VSwitch_VLan",
+ "networkType": "NoIsolation"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworks_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworks_List.json
new file mode 100644
index 000000000000..4f869a4bab35
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworks_List.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/93ce99d7-1219-4914-aa61-73fe5023988e",
+ "name": "93ce99d7-1219-4914-aa61-73fe5023988e",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "VSwitch_VLan",
+ "networkType": "NoIsolation"
+ }
+ },
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/b83bf8fd-f304-48d7-82c9-5d74e6215c1b",
+ "name": "b83bf8fd-f304-48d7-82c9-5d74e6215c1b",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "VSwitch_NoIso",
+ "networkType": "NoIsolation"
+ }
+ },
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "name": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "corp",
+ "networkType": "NoIsolation"
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworks_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworks_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..96d97505f9ec
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationNetworks_ListByReplicationFabrics.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2024-04-01",
+ "resourceName": "srce2avaultbvtaC27",
+ "resourceGroupName": "srcBvte2a14C27",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/93ce99d7-1219-4914-aa61-73fe5023988e",
+ "name": "93ce99d7-1219-4914-aa61-73fe5023988e",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "VSwitch_VLan",
+ "networkType": "NoIsolation"
+ }
+ },
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/b83bf8fd-f304-48d7-82c9-5d74e6215c1b",
+ "name": "b83bf8fd-f304-48d7-82c9-5d74e6215c1b",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "VSwitch_NoIso",
+ "networkType": "NoIsolation"
+ }
+ },
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks",
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "name": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "properties": {
+ "fabricType": "VMM",
+ "subnets": [],
+ "friendlyName": "corp",
+ "networkType": "NoIsolation"
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationPolicies_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationPolicies_Create.json
new file mode 100644
index 000000000000..30ddd6b34c1a
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationPolicies_Create.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "policyName": "protectionprofile1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "input": {
+ "properties": {
+ "providerSpecificInput": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "name": "protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationPolicies",
+ "properties": {
+ "friendlyName": "protectionprofile1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationPolicies_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationPolicies_Delete.json
new file mode 100644
index 000000000000..6d5584fb2a92
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationPolicies_Delete.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "policyName": "protectionprofile1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ },
+ "204": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationPolicies_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationPolicies_Get.json
new file mode 100644
index 000000000000..c4706b9305df
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationPolicies_Get.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "policyName": "protectionprofile1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "name": "protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationPolicies",
+ "properties": {
+ "friendlyName": "protectionprofile1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationPolicies_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationPolicies_List.json
new file mode 100644
index 000000000000..06e7f475c241
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationPolicies_List.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "name": "protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationPolicies",
+ "properties": {
+ "friendlyName": "protectionprofile1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationPolicies_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationPolicies_Update.json
new file mode 100644
index 000000000000..ec8e5b7b46ff
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationPolicies_Update.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "policyName": "protectionprofile1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "input": {
+ "properties": {
+ "replicationProviderSettings": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "name": "protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationPolicies",
+ "properties": {
+ "friendlyName": "protectionprofile1",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectableItems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectableItems_Get.json
new file mode 100644
index 000000000000..bb1e4d1ba61e
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectableItems_Get.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "protectableItemName": "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "name": "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems",
+ "properties": {
+ "friendlyName": "vm2",
+ "protectionStatus": "Unprotected",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "protectionReadinessErrors": [],
+ "supportedReplicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "customDetails": {
+ "instanceType": "ReplicationGroupDetails"
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json
new file mode 100644
index 000000000000..44c3485e2454
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "name": "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems",
+ "properties": {
+ "friendlyName": "vm2",
+ "protectionStatus": "Unprotected",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "protectionReadinessErrors": [],
+ "supportedReplicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "customDetails": {
+ "instanceType": "ReplicationGroupDetails"
+ }
+ }
+ },
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectionStatus": "Unprotected",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "protectionReadinessErrors": [],
+ "supportedReplicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "customDetails": {
+ "instanceType": "ReplicationGroupDetails"
+ }
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems?api-version=2021-06-01&%24skipToken=ReplicationGroup%3aBegin"
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_AddDisks.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_AddDisks.json
new file mode 100644
index 000000000000..e51a87b661e7
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_AddDisks.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "addDisksInput": {
+ "properties": {
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "vmDisks": [
+ {
+ "diskUri": "https://vmstorage.blob.core.windows.net/vhds/datadisk1.vhd",
+ "recoveryAzureStorageAccountId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourcegroups/recoveryResource/providers/Microsoft.Storage/storageAccounts/recoverystorage",
+ "primaryStagingAzureStorageAccountId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourcegroups/primaryResource/providers/Microsoft.Storage/storageAccounts/vmcachestorage"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectedItemType": "",
+ "protectableItemId": null,
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/6d2940f9-4c34-5989-9f56-1243a6e76ecf",
+ "primaryFabricFriendlyName": "cloud1",
+ "primaryFabricProvider": "AzureFabric",
+ "recoveryFabricFriendlyName": "cloud2",
+ "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2",
+ "primaryProtectionContainerFriendlyName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "recoveryProtectionContainerFriendlyName": "cloud_81224fc6-f326-5d35-96de-fbf51efb3188",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "RepairReplication",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "failoverHealth": "Normal",
+ "healthErrors": [],
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/A2APolicy",
+ "policyFriendlyName": "A2APolicy",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1752-12-31T19:31:01Z"
+ },
+ "failoverRecoveryPointId": null,
+ "providerSpecificDetails": {
+ "instanceType": "A2A"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2/replicationProtectionContainers/cloud_81224fc6-f326-5d35-96de-fbf51efb3188"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json
new file mode 100644
index 000000000000..1a413aced4b5
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "applyRecoveryPointInput": {
+ "properties": {
+ "recoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/e4d05fe9-5dfd-47be-b50b-aad306b2802d",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "UnplannedFailoverCommitPendingStatesBegin",
+ "protectionStateDescription": "Failover completed",
+ "activeLocation": "Recovery",
+ "testFailoverState": "MarkedForDeletion",
+ "testFailoverStateDescription": "Cleaning up test environment",
+ "allowedOperations": [
+ "CompleteMigration",
+ "Commit",
+ "DisableProtection",
+ "ChangePit"
+ ],
+ "replicationHealth": "Critical",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2017-04-26T08:42:33.0996129Z",
+ "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/e4d05fe9-5dfd-47be-b50b-aad306b2802d",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Create.json
new file mode 100644
index 000000000000..2c6fa029b087
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Create.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "input": {
+ "properties": {
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Delete.json
new file mode 100644
index 000000000000..eb3681501cfc
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Delete.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "disableProtectionInput": {
+ "properties": {
+ "replicationProviderInput": {
+ "instanceType": "DisableProtectionProviderSpecificInput"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ },
+ "204": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_FailoverCancel.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_FailoverCancel.json
new file mode 100644
index 000000000000..d2a0c3bcf097
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_FailoverCancel.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "cloud1",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PlannedFailover",
+ "DisableProtection"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2021-02-24T06:37:23.1578655Z",
+ "lastSuccessfulTestFailoverTime": "1601-01-01T00:00:00.0000000Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "2021-02-24T07:17:23.1358752Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "providerSpecificDetails": {
+ "instanceType": "InMageRcmFailback"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_FailoverCommit.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_FailoverCommit.json
new file mode 100644
index 000000000000..e5dd9ab94b8c
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_FailoverCommit.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "PlannedFailoverStatesBegin",
+ "protectionStateDescription": "Planned failover committed",
+ "activeLocation": "Recovery",
+ "testFailoverState": "MarkedForDeletion",
+ "testFailoverStateDescription": "Cleaning up test environment",
+ "allowedOperations": [
+ "CompleteMigration",
+ "DisableProtection",
+ "Failback"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z",
+ "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Get.json
new file mode 100644
index 000000000000..5787d79d3072
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Get.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_List.json
new file mode 100644
index 000000000000..963571fc0402
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_List.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json
new file mode 100644
index 000000000000..2e0b8afaa8ec
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_PlannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_PlannedFailover.json
new file mode 100644
index 000000000000..c2b44ef0d4b0
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_PlannedFailover.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "failoverInput": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "PlannedFailoverCommitRequired",
+ "protectionStateDescription": "Planned failover finished",
+ "activeLocation": "Recovery",
+ "testFailoverState": "MarkedForDeletion",
+ "testFailoverStateDescription": "Cleaning up test environment",
+ "allowedOperations": [
+ "CompleteMigration",
+ "Commit",
+ "DisableProtection",
+ "ChangePit"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z",
+ "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Purge.json
new file mode 100644
index 000000000000..9a8be4e1027c
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Purge.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ },
+ "204": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_RemoveDisks.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_RemoveDisks.json
new file mode 100644
index 000000000000..26ae37836701
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_RemoveDisks.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "removeDisksInput": {
+ "properties": {
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "vmDisksUris": [
+ "https://vmstorage.blob.core.windows.net/vhds/datadisk1.vhd"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectedItemType": "",
+ "protectableItemId": null,
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/6d2940f9-4c34-5989-9f56-1243a6e76ecf",
+ "primaryFabricFriendlyName": "cloud1",
+ "primaryFabricProvider": "AzureFabric",
+ "recoveryFabricFriendlyName": "cloud2",
+ "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2",
+ "primaryProtectionContainerFriendlyName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "recoveryProtectionContainerFriendlyName": "cloud_81224fc6-f326-5d35-96de-fbf51efb3188",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "RepairReplication",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "failoverHealth": "Normal",
+ "healthErrors": [],
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/A2APolicy",
+ "policyFriendlyName": "A2APolicy",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1752-12-31T19:31:01Z"
+ },
+ "failoverRecoveryPointId": null,
+ "providerSpecificDetails": {
+ "instanceType": "A2A"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2/replicationProtectionContainers/cloud_81224fc6-f326-5d35-96de-fbf51efb3188"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_RepairReplication.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_RepairReplication.json
new file mode 100644
index 000000000000..0b1a144d39aa
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_RepairReplication.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Reprotect.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Reprotect.json
new file mode 100644
index 000000000000..db7856c3adcf
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Reprotect.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "reprotectInput": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "MarkedForDeletion",
+ "testFailoverStateDescription": "Cleaning up test environment",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z",
+ "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_ResolveHealthErrors.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_ResolveHealthErrors.json
new file mode 100644
index 000000000000..701f8c504a0f
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_ResolveHealthErrors.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "resolveHealthInput": {
+ "properties": {
+ "healthErrors": [
+ {
+ "healthErrorId": "3:8020"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectedItemType": "",
+ "protectableItemId": null,
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/6d2940f9-4c34-5989-9f56-1243a6e76ecf",
+ "primaryFabricFriendlyName": "cloud1",
+ "primaryFabricProvider": "AzureFabric",
+ "recoveryFabricFriendlyName": "cloud2",
+ "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2",
+ "primaryProtectionContainerFriendlyName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "recoveryProtectionContainerFriendlyName": "cloud_81224fc6-f326-5d35-96de-fbf51efb3188",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "RepairReplication",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "failoverHealth": "Normal",
+ "healthErrors": [],
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/A2APolicy",
+ "policyFriendlyName": "A2APolicy",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1752-12-31T19:31:01Z"
+ },
+ "failoverRecoveryPointId": null,
+ "providerSpecificDetails": {
+ "instanceType": "A2A"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2/replicationProtectionContainers/cloud_81224fc6-f326-5d35-96de-fbf51efb3188"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_SwitchProvider.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_SwitchProvider.json
new file mode 100644
index 000000000000..89ba83e299e1
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_SwitchProvider.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "switchProviderInput": {
+ "properties": {
+ "targetInstanceType": "InMageRcm",
+ "providerSpecificDetails": {
+ "instanceType": "InMageAzureV2",
+ "targetVaultID": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault2",
+ "targetFabricID": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2",
+ "targetApplianceID": "5efaa202-e958-435e-8171-706bf735fcc4"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "PlannedFailoverCommitRequired",
+ "protectionStateDescription": "Planned failover finished",
+ "activeLocation": "Recovery",
+ "testFailoverState": "MarkedForDeletion",
+ "testFailoverStateDescription": "Cleaning up test environment",
+ "allowedOperations": [
+ "CompleteMigration",
+ "Commit",
+ "DisableProtection",
+ "ChangePit"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z",
+ "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_TestFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_TestFailover.json
new file mode 100644
index 000000000000..f4e60e8ca36a
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_TestFailover.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "testfailoverInput": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "networkType": "VmNetworkAsInput",
+ "networkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Cleanup test failover pending",
+ "activeLocation": "Primary",
+ "testFailoverState": "WaitingForCompletion",
+ "testFailoverStateDescription": "Waiting for user input",
+ "allowedOperations": [
+ "TestFailoverCleanup"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "TestFailover",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/2838f9b4-2609-4f76-a7e9-07e6387c5e98",
+ "startTime": "2017-04-25T09:57:57.0357829Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/0689d0d0-3518-4793-8c98-c26bf94526f6",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_TestFailoverCleanup.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_TestFailoverCleanup.json
new file mode 100644
index 000000000000..182b17f905f8
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_TestFailoverCleanup.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "cleanupInput": {
+ "properties": {
+ "comments": "Test Failover Cleanup"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "MarkedForDeletion",
+ "testFailoverStateDescription": "Cleaning up test environment",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z",
+ "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_UnplannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_UnplannedFailover.json
new file mode 100644
index 000000000000..be5ee56f4095
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_UnplannedFailover.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "failoverInput": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "sourceSiteOperations": "NotRequired",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "UnplannedFailoverCommitPendingStatesBegin",
+ "protectionStateDescription": "Failover completed",
+ "activeLocation": "Recovery",
+ "testFailoverState": "MarkedForDeletion",
+ "testFailoverStateDescription": "Cleaning up test environment",
+ "allowedOperations": [
+ "CompleteMigration",
+ "Commit",
+ "DisableProtection",
+ "ChangePit"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "lastSuccessfulFailoverTime": "2017-04-26T08:42:33.0996129Z",
+ "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b2c7b208-0999-40a4-804f-8ee1019c8f76",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Update.json
new file mode 100644
index 000000000000..657eb5d399a4
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_Update.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "updateProtectionInput": {
+ "properties": {
+ "recoveryAzureVMName": "vm1",
+ "recoveryAzureVMSize": "Basic_A0",
+ "selectedRecoveryAzureNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "vmNics": [
+ {
+ "nicId": "TWljcm9zb2Z0OkY4NDkxRTRGLTgxN0EtNDBERC1BOTBDLUFGNzczOTc4Qzc1Qlw3NjAwMzMxRS03NDk4LTQ0QTQtQjdDNy0xQjY1NkJDREQ1MkQ=",
+ "selectionType": "SelectedByUser",
+ "ipConfigs": [
+ {
+ "ipConfigName": "ipconfig1",
+ "isPrimary": true,
+ "recoverySubnetName": "subnet1",
+ "recoveryStaticIPAddress": "10.0.2.46"
+ }
+ ]
+ }
+ ],
+ "licenseType": "WindowsServer",
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "vm1",
+ "protectedItemType": "HyperVVirtualMachine",
+ "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "cloud1",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "policyFriendlyName": "protectionprofile1",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "HyperVReplicaAzure"
+ },
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_UpdateAppliance.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_UpdateAppliance.json
new file mode 100644
index 000000000000..95a271dfea92
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_UpdateAppliance.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "idclab-vcen67_50158124-8857-3e08-0893-2ddf8ebb8c1f",
+ "protectionContainerName": "Ayan-0106-SA-Vaultreplicationcontainer",
+ "fabricName": "Ayan-0106-SA-Vaultreplicationfabric",
+ "resourceName": "Ayan-0106-SA-Vault",
+ "resourceGroupName": "Ayan-0106-SA-RG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
+ "applianceUpdateInput": {
+ "properties": {
+ "targetApplianceId": "",
+ "providerSpecificDetails": {
+ "instanceType": "InMageRcm",
+ "runAsAccountId": ""
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/Ayan-0106-SA-RG/providers/Microsoft.RecoveryServices/vaults/Ayan-0106-SA-Vault/replicationFabrics/Ayan-0106-SA-Vaultreplicationfabric/replicationProtectionContainers/Ayan-0106-SA-Vaultreplicationcontainer/replicationProtectedItems/idclab-vcen67_50158124-8857-3e08-0893-2ddf8ebb8c1f",
+ "name": "idclab-vcen67_50158124-8857-3e08-0893-2ddf8ebb8c1f",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "Ayan-RHEL7-Test2",
+ "protectedItemType": "",
+ "protectableItemId": null,
+ "recoveryServicesProviderId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/Ayan-0106-SA-RG/providers/Microsoft.RecoveryServices/vaults/Ayan-0106-SA-Vault/replicationFabrics/Ayan-0106-SA-Vaultreplicationfabric/replicationRecoveryServicesProviders/a552cf2d-bbb3-4d78-8145-e1992ecb31d1",
+ "primaryFabricFriendlyName": "Ayan-0106-SA-Vaultreplicationfabric",
+ "primaryFabricProvider": "InMageRcmFabric",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "Ayan-0106-SA-Vaultreplicationcontainer",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "failoverHealth": "Normal",
+ "healthErrors": [],
+ "policyId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/Ayan-0106-SA-RG/providers/Microsoft.RecoveryServices/vaults/Ayan-0106-SA-Vault/replicationPolicies/24-hour-replication-policy",
+ "policyFriendlyName": "24-hour-replication-policy",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/Ayan-0106-SA-RG/providers/Microsoft.RecoveryServices/vaults/Ayan-0106-SA-Vault/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "failoverRecoveryPointId": null,
+ "providerSpecificDetails": {
+ "instanceType": "InMageRcm"
+ },
+ "recoveryContainerId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/Ayan-0106-SA-RG/providers/Microsoft.RecoveryServices/vaults/Ayan-0106-SA-Vault/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478",
+ "eventCorrelationId": "fb40d161-cffd-44d9-a252-0b7978e1f73c"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/Ayan-0106-SA-RG/providers/Microsoft.RecoveryServices/vaults/Ayan-0106-SA-Vault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/Ayan-0106-SA-RG/providers/Microsoft.RecoveryServices/vaults/Ayan-0106-SA-Vault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_UpdateMobilityService.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_UpdateMobilityService.json
new file mode 100644
index 000000000000..f46a8c41d89d
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectedItems_UpdateMobilityService.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "79dd20ab-2b40-11e7-9791-0050568f387e",
+ "protectionContainerName": "cloud_c6780228-83bd-4f3e-a70e-cb46b7da33a0",
+ "fabricName": "WIN-JKKJ31QI8U2",
+ "resourceName": "WCUSVault",
+ "resourceGroupName": "wcusValidations",
+ "subscriptionId": "b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c",
+ "updateMobilityServiceRequest": {
+ "properties": {
+ "runAsAccountId": "2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "79dd20ab-2b40-11e7-9791-0050568f387e",
+ "id": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d70b0326a201008a953505ef271dc908e5e23468bc7356862ea178696f5f15c7/replicationProtectionContainers/cloud_c6780228-83bd-4f3e-a70e-cb46b7da33a0/replicationProtectedItems/79dd20ab-2b40-11e7-9791-0050568f387e",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems",
+ "properties": {
+ "friendlyName": "MMR-LIN-V2A-3",
+ "protectedItemType": "",
+ "protectableItemId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d70b0326a201008a953505ef271dc908e5e23468bc7356862ea178696f5f15c7/replicationProtectionContainers/cloud_c6780228-83bd-4f3e-a70e-cb46b7da33a0/replicationProtectableItems/79dd20ab-2b40-11e7-9791-0050568f387e",
+ "recoveryServicesProviderId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d70b0326a201008a953505ef271dc908e5e23468bc7356862ea178696f5f15c7/replicationRecoveryServicesProviders/c6780228-83bd-4f3e-a70e-cb46b7da33a0",
+ "primaryFabricFriendlyName": "WIN-JKKJ31QI8U2",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "recoveryFabricId": "Microsoft Azure",
+ "primaryProtectionContainerFriendlyName": "WIN-JKKJ31QI8U2",
+ "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth": "Normal",
+ "policyId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationPolicies/MadhaviPolicyNew",
+ "policyFriendlyName": "MadhaviPolicyNew",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "InMageAzureV2"
+ },
+ "recoveryContainerId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_ApplyRecoveryPoint.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_ApplyRecoveryPoint.json
new file mode 100644
index 000000000000..dd9b6e284bfe
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_ApplyRecoveryPoint.json
@@ -0,0 +1,178 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicationProtectionClusterName": "testcluster",
+ "protectionContainerName": "pri-cloud-eastus",
+ "fabricName": "fabric-pri-eastus",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
+ "applyClusterRecoveryPointInput": {
+ "properties": {
+ "clusterRecoveryPointId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/shashankvaultpvt/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster/recoveryPoints/cc48b7f3-b267-432b-ad76-45528974dc62",
+ "individualNodeRecoveryPoints": [
+ "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/shashankvaultpvt/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectedItems/testVM/recoveryPoints/b5c2051b-79e3-41ad-9d25-244f6ef8ce7d"
+ ],
+ "providerSpecificDetails": {
+ "instanceType": "A2A"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster",
+ "name": "testcluster",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionClusters",
+ "properties": {
+ "protectionClusterType": "WindowsServerFailoverCluster",
+ "primaryFabricFriendlyName": "East US",
+ "primaryFabricProvider": "AzureFabric",
+ "recoveryFabricFriendlyName": "West US",
+ "recoveryFabricId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-rec-westus",
+ "primaryProtectionContainerFriendlyName": "East US",
+ "recoveryProtectionContainerFriendlyName": "pri-cloud-eastus",
+ "protectionState": "FailoverCompleted",
+ "protectionStateDescription": "Failover completed.",
+ "activeLocation": "Recovery",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "CommitFailoverProtectionCluster",
+ "ChangePitProtectionCluster",
+ "PurgeProtectionCluster"
+ ],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "lastSuccessfulFailoverTime": "2024-01-22T09:31:13.1605059Z",
+ "lastSuccessfulTestFailoverTime": "2024-01-22T06:08:01.7440966Z",
+ "policyFriendlyName": "klncksan",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "recoveryContainerId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-rec-westus/replicationProtectionContainers/rec-cloud-westus",
+ "agentClusterId": "aeeca6a3-171b-4c9d-ae22-0e4adb6416a0",
+ "clusterFqdn": "sdgqlc",
+ "clusterNodeFqdns": [
+ "sdgql0",
+ "sdgql1"
+ ],
+ "clusterProtectedItemIds": [
+ "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectedItems/yNdYnDYKZ7hYU7zyVeBychFBCyAbEkrJcJNUarDrXio",
+ "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectedItems/kdUdWvpVnm3QgOQPHoVMX8YAtAO8OC4kKNjt40ERSr4"
+ ],
+ "provisioningState": "Created",
+ "areAllClusterNodesRegistered": true,
+ "clusterRegisteredNodes": [
+ {
+ "clusterNodeFqdn": "sdgql0",
+ "machineId": "3794026b-6792-4d12-9c0c-de0c79376c90",
+ "biosId": "37D0059C-9118-4220-AA1D-58A10EFA7660",
+ "isSharedDiskVirtualNode": false
+ },
+ {
+ "clusterNodeFqdn": "aeeca6a3-171b-4c9d-ae22-0e4adb6416a0",
+ "machineId": "aeeca6a3-171b-4c9d-ae22-0e4adb6416a0",
+ "biosId": "aeeca6a3-171b-4c9d-ae22-0e4adb6416a0",
+ "isSharedDiskVirtualNode": true
+ },
+ {
+ "clusterNodeFqdn": "sdgql1",
+ "machineId": "cb27913a-a5f2-4691-9eba-78b67f45a57a",
+ "biosId": "83CCE932-67EC-4C13-AB29-ACF5F8F7ED48",
+ "isSharedDiskVirtualNode": false
+ }
+ ],
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "multiVmGroupId": "a7ef77cb-ae59-545f-a32a-bf30575ab1c6",
+ "multiVmGroupName": "testcluster",
+ "multiVmGroupCreateOption": "UserSpecified",
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "westus",
+ "failoverRecoveryPointId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster/recoveryPoints/cc48b7f3-b267-432b-ad76-45528974dc62",
+ "clusterManagementId": "a24d47b2-a80b-4553-9c16-499c30c3be07",
+ "rpoInSeconds": 3213,
+ "lastRpoCalculatedTime": "2024-01-22T10:19:11.0490433Z",
+ "initialPrimaryZone": "",
+ "initialPrimaryFabricLocation": "eastus",
+ "initialRecoveryZone": "",
+ "initialRecoveryFabricLocation": "westus",
+ "initialPrimaryExtendedLocation": null,
+ "initialRecoveryExtendedLocation": null,
+ "primaryAvailabilityZone": null,
+ "recoveryAvailabilityZone": null,
+ "primaryExtendedLocation": null,
+ "recoveryExtendedLocation": null,
+ "lifecycleId": "3d523ab9-8c6d-40af-850d-ccee06513dc6"
+ },
+ "sharedDiskProperties": {
+ "protectionState": "UnplannedFailoverCommitRequired",
+ "testFailoverState": "None",
+ "activeLocation": null,
+ "allowedOperations": [],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "currentScenario": null,
+ "sharedDiskProviderSpecificDetails": {
+ "instanceType": "A2A",
+ "managementId": "a24d47b2-a80b-4553-9c16-499c30c3be07",
+ "unprotectedDisks": null,
+ "protectedManagedDisks": [
+ {
+ "diskId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourcegroups/clustertestrg-19-01/providers/microsoft.compute/disks/sdgql-datadisk0",
+ "recoveryResourceGroupId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/ClusterTestRG-19-01-asr",
+ "recoveryTargetDiskId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/ClusterTestRG-19-01-asr/providers/Microsoft.Compute/disks/sdgql-datadisk0",
+ "recoveryReplicaDiskId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/ClusterTestRG-19-01-asr/providers/Microsoft.Compute/disks/sdgql-datadisk0-ASRReplica",
+ "recoveryOrignalTargetDiskId": null,
+ "recoveryReplicaDiskAccountType": "Premium_LRS",
+ "recoveryTargetDiskAccountType": "Premium_LRS",
+ "recoveryDiskEncryptionSetId": null,
+ "primaryDiskEncryptionSetId": null,
+ "diskName": "sdgql-datadisk0",
+ "diskCapacityInBytes": 274877906944,
+ "primaryStagingAzureStorageAccountId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.Storage/storageAccounts/ix701lshashankvaasrcache",
+ "diskType": "Data",
+ "resyncRequired": false,
+ "monitoringPercentageCompletion": null,
+ "monitoringJobType": null,
+ "dataPendingInStagingStorageAccountInMB": 0.0,
+ "dataPendingAtSourceAgentInMB": 0.0,
+ "diskState": "Protected",
+ "allowedDiskLevelOperation": [],
+ "isDiskEncrypted": false,
+ "secretIdentifier": null,
+ "dekKeyVaultArmId": null,
+ "isDiskKeyEncrypted": false,
+ "keyIdentifier": null,
+ "kekKeyVaultArmId": null,
+ "failoverDiskName": "sdgql-datadisk0",
+ "tfoDiskName": "sdgql-datadisk0-ASRtest"
+ }
+ ],
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "westus",
+ "failoverRecoveryPointId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster/recoveryPoints/cc48b7f3-b267-432b-ad76-45528974dc62",
+ "monitoringPercentageCompletion": null,
+ "monitoringJobType": null,
+ "rpoInSeconds": 10,
+ "lastRpoCalculatedTime": "2024-01-22T09:20:35.9303505Z",
+ "sharedDiskIRErrors": null
+ }
+ },
+ "policyId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/klncksan"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster/operationresults/76e220ab-8ae8-4047-b6e0-e6c0f6fc2241?api-version=2024-04-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/49660b52-ccaa-4f22-87p6-a9c8f0b17674?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_Create.json
new file mode 100644
index 000000000000..4889443e4915
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_Create.json
@@ -0,0 +1,191 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicationProtectionClusterName": "cluster12",
+ "protectionContainerName": "eastus-container",
+ "fabricName": "eastus",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "replicationProtectionCluster": {
+ "properties": {
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/24-hour-retention-policy",
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/centraluseuap/replicationProtectionContainers/centraluseuap-container",
+ "providerSpecificDetails": {
+ "instanceType": "A2A"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/eastus/replicationProtectionContainers/eastus-container/replicationProtectionClusters/cluster12",
+ "name": "cluster12",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionClusters",
+ "properties": {
+ "protectionClusterType": null,
+ "primaryFabricFriendlyName": "eastus",
+ "primaryFabricProvider": "AzureFabric",
+ "recoveryFabricFriendlyName": "centraluseuap",
+ "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/centraluseuap",
+ "primaryProtectionContainerFriendlyName": "eastus",
+ "recoveryProtectionContainerFriendlyName": "eastus-container",
+ "protectionState": "NotProtected",
+ "protectionStateDescription": "NotProtected",
+ "activeLocation": "Primary",
+ "allowedOperations": [
+ "UnplannedFailover",
+ "DisableProtection"
+ ],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "lastSuccessfulFailoverTime": null,
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/24-hour-retention-policy",
+ "policyFriendlyName": "24-hour-retention-policy",
+ "currentScenario": null,
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/centraluseuap/replicationProtectionContainers/centraluseuap-container",
+ "agentClusterId": null,
+ "clusterFqdn": null,
+ "clusterNodeFqdns": [],
+ "clusterProtectedItemIds": [],
+ "provisioningState": "Created",
+ "areAllClusterNodesRegistered": false,
+ "clusterRegisteredNodes": [],
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "multiVmGroupId": null,
+ "multiVmGroupName": null,
+ "multiVmGroupCreateOption": null,
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "centraluseuap",
+ "failoverRecoveryPointId": null,
+ "clusterManagementId": "4b8c1c01-5ad7-4958-a98d-daf7cca6a124",
+ "rpoInSeconds": null,
+ "lastRpoCalculatedTime": null,
+ "initialPrimaryZone": "",
+ "initialPrimaryFabricLocation": "eastus",
+ "initialRecoveryZone": "",
+ "initialRecoveryFabricLocation": "centraluseuap",
+ "initialPrimaryExtendedLocation": null,
+ "initialRecoveryExtendedLocation": null,
+ "primaryAvailabilityZone": null,
+ "recoveryAvailabilityZone": null,
+ "primaryExtendedLocation": null,
+ "recoveryExtendedLocation": null,
+ "lifecycleId": "d5f6f011-7ef5-4c78-80fe-6e1b28401c4d"
+ },
+ "sharedDiskProperties": {
+ "protectionState": "EnablingProtection",
+ "activeLocation": null,
+ "allowedOperations": [],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "currentScenario": null,
+ "sharedDiskProviderSpecificDetails": {
+ "instanceType": "A2A",
+ "managementId": "4b8c1c01-5ad7-4958-a98d-daf7cca6a124",
+ "unprotectedDisks": null,
+ "protectedManagedDisks": [],
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "centraluseuap",
+ "failoverRecoveryPointId": null,
+ "monitoringPercentageCompletion": null,
+ "monitoringJobType": null,
+ "rpoInSeconds": null,
+ "lastRpoCalculatedTime": null,
+ "sharedDiskIRErrors": null
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/eastus/replicationProtectionContainers/eastus-container/replicationProtectionClusters/cluster12/operationresults/bcf9605f-1611-484c-8f52-4eb0c076d0f8?api-version=2024-04-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/bcf9605f-1611-484c-8f52-4eb0c076d0f8?api-version=2024-04-01",
+ "Retry-After": 30
+ },
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/eastus/replicationProtectionContainers/eastus-container/replicationProtectionClusters/cluster12",
+ "name": "cluster12",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionClusters",
+ "properties": {
+ "protectionClusterType": null,
+ "primaryFabricFriendlyName": "eastus",
+ "primaryFabricProvider": "AzureFabric",
+ "recoveryFabricFriendlyName": "centraluseuap",
+ "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/centraluseuap",
+ "primaryProtectionContainerFriendlyName": "eastus",
+ "recoveryProtectionContainerFriendlyName": "eastus-container",
+ "protectionState": "NotProtected",
+ "protectionStateDescription": "NotProtected",
+ "activeLocation": "Primary",
+ "allowedOperations": [
+ "UnplannedFailover",
+ "DisableProtection"
+ ],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "lastSuccessfulFailoverTime": null,
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/24-hour-retention-policy",
+ "policyFriendlyName": "24-hour-retention-policy",
+ "currentScenario": null,
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/centraluseuap/replicationProtectionContainers/centraluseuap-container",
+ "agentClusterId": null,
+ "clusterFqdn": null,
+ "clusterNodeFqdns": [],
+ "clusterProtectedItemIds": [],
+ "provisioningState": "Created",
+ "areAllClusterNodesRegistered": false,
+ "clusterRegisteredNodes": [],
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "multiVmGroupId": null,
+ "multiVmGroupName": null,
+ "multiVmGroupCreateOption": null,
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "centraluseuap",
+ "failoverRecoveryPointId": null,
+ "clusterManagementId": "4b8c1c01-5ad7-4958-a98d-daf7cca6a124",
+ "rpoInSeconds": null,
+ "lastRpoCalculatedTime": null,
+ "initialPrimaryZone": "",
+ "initialPrimaryFabricLocation": "eastus",
+ "initialRecoveryZone": "",
+ "initialRecoveryFabricLocation": "centraluseuap",
+ "initialPrimaryExtendedLocation": null,
+ "initialRecoveryExtendedLocation": null,
+ "primaryAvailabilityZone": null,
+ "recoveryAvailabilityZone": null,
+ "primaryExtendedLocation": null,
+ "recoveryExtendedLocation": null,
+ "lifecycleId": "d5f6f011-7ef5-4c78-80fe-6e1b28401c4d"
+ },
+ "sharedDiskProperties": {
+ "protectionState": "EnablingProtection",
+ "activeLocation": null,
+ "allowedOperations": [],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "currentScenario": null,
+ "sharedDiskProviderSpecificDetails": {
+ "instanceType": "A2A",
+ "managementId": "4b8c1c01-5ad7-4958-a98d-daf7cca6a124",
+ "unprotectedDisks": null,
+ "protectedManagedDisks": [],
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "centraluseuap",
+ "failoverRecoveryPointId": null,
+ "monitoringPercentageCompletion": null,
+ "monitoringJobType": null,
+ "rpoInSeconds": null,
+ "lastRpoCalculatedTime": null,
+ "sharedDiskIRErrors": null
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_FailoverCommit.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_FailoverCommit.json
new file mode 100644
index 000000000000..02716583b32b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_FailoverCommit.json
@@ -0,0 +1,165 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicationProtectionClusterName": "testcluster",
+ "protectionContainerName": "pri-cloud-eastus",
+ "fabricName": "fabric-pri-eastus",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster",
+ "name": "testcluster",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionClusters",
+ "properties": {
+ "protectionClusterType": "WindowsServerFailoverCluster",
+ "primaryFabricFriendlyName": "East US",
+ "primaryFabricProvider": "AzureFabric",
+ "recoveryFabricFriendlyName": "West US",
+ "recoveryFabricId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-rec-westus",
+ "primaryProtectionContainerFriendlyName": "East US",
+ "recoveryProtectionContainerFriendlyName": "pri-cloud-eastus",
+ "protectionState": "FailoverCommited",
+ "protectionStateDescription": "Failover committed.",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PurgeProtectionCluster"
+ ],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "lastSuccessfulFailoverTime": "2024-01-22T09:31:13.1605059Z",
+ "lastSuccessfulTestFailoverTime": "2024-01-22T06:08:01.7440966Z",
+ "policyFriendlyName": "klncksan",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "recoveryContainerId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-rec-westus/replicationProtectionContainers/rec-cloud-westus",
+ "agentClusterId": "aeeca6a3-171b-4c9d-ae22-0e4adb6416a0",
+ "clusterFqdn": "sdgqlc",
+ "clusterNodeFqdns": [
+ "sdgql0",
+ "sdgql1"
+ ],
+ "clusterProtectedItemIds": [
+ "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectedItems/yNdYnDYKZ7hYU7zyVeBychFBCyAbEkrJcJNUarDrXio",
+ "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectedItems/kdUdWvpVnm3QgOQPHoVMX8YAtAO8OC4kKNjt40ERSr4"
+ ],
+ "provisioningState": "Created",
+ "areAllClusterNodesRegistered": true,
+ "clusterRegisteredNodes": [
+ {
+ "clusterNodeFqdn": "sdgql0",
+ "machineId": "3794026b-6792-4d12-9c0c-de0c79376c90",
+ "biosId": "37D0059C-9118-4220-AA1D-58A10EFA7660",
+ "isSharedDiskVirtualNode": false
+ },
+ {
+ "clusterNodeFqdn": "aeeca6a3-171b-4c9d-ae22-0e4adb6416a0",
+ "machineId": "aeeca6a3-171b-4c9d-ae22-0e4adb6416a0",
+ "biosId": "aeeca6a3-171b-4c9d-ae22-0e4adb6416a0",
+ "isSharedDiskVirtualNode": true
+ },
+ {
+ "clusterNodeFqdn": "sdgql1",
+ "machineId": "cb27913a-a5f2-4691-9eba-78b67f45a57a",
+ "biosId": "83CCE932-67EC-4C13-AB29-ACF5F8F7ED48",
+ "isSharedDiskVirtualNode": false
+ }
+ ],
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "multiVmGroupId": "a7ef77cb-ae59-545f-a32a-bf30575ab1c6",
+ "multiVmGroupName": "testcluster",
+ "multiVmGroupCreateOption": "UserSpecified",
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "westus",
+ "failoverRecoveryPointId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster/recoveryPoints/cc48b7f3-b267-432b-ad76-45528974dc62",
+ "clusterManagementId": "a24d47b2-a80b-4553-9c16-499c30c3be07",
+ "rpoInSeconds": 156107,
+ "lastRpoCalculatedTime": "2024-01-24T04:47:24.3271066Z",
+ "initialPrimaryZone": "",
+ "initialPrimaryFabricLocation": "eastus",
+ "initialRecoveryZone": "",
+ "initialRecoveryFabricLocation": "westus",
+ "initialPrimaryExtendedLocation": null,
+ "initialRecoveryExtendedLocation": null,
+ "primaryAvailabilityZone": null,
+ "recoveryAvailabilityZone": null,
+ "primaryExtendedLocation": null,
+ "recoveryExtendedLocation": null,
+ "lifecycleId": "3d523ab9-8c6d-40af-850d-ccee06513dc6"
+ },
+ "sharedDiskProperties": {
+ "protectionState": "UnplannedFailoverCommitted",
+ "testFailoverState": "None",
+ "activeLocation": null,
+ "allowedOperations": [],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "currentScenario": null,
+ "sharedDiskProviderSpecificDetails": {
+ "instanceType": "A2A",
+ "managementId": "a24d47b2-a80b-4553-9c16-499c30c3be07",
+ "unprotectedDisks": null,
+ "protectedManagedDisks": [
+ {
+ "diskId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourcegroups/clustertestrg-19-01/providers/microsoft.compute/disks/sdgql-datadisk0",
+ "recoveryResourceGroupId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/ClusterTestRG-19-01-asr",
+ "recoveryTargetDiskId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/ClusterTestRG-19-01-asr/providers/Microsoft.Compute/disks/sdgql-datadisk0",
+ "recoveryReplicaDiskId": "",
+ "recoveryOrignalTargetDiskId": null,
+ "recoveryReplicaDiskAccountType": "Premium_LRS",
+ "recoveryTargetDiskAccountType": "Premium_LRS",
+ "recoveryDiskEncryptionSetId": null,
+ "primaryDiskEncryptionSetId": null,
+ "diskName": "sdgql-datadisk0",
+ "diskCapacityInBytes": 274877906944,
+ "primaryStagingAzureStorageAccountId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.Storage/storageAccounts/ix701lshashankvaasrcache",
+ "diskType": "Data",
+ "resyncRequired": false,
+ "monitoringPercentageCompletion": null,
+ "monitoringJobType": null,
+ "dataPendingInStagingStorageAccountInMB": 0.0,
+ "dataPendingAtSourceAgentInMB": 0.0,
+ "diskState": "Protected",
+ "allowedDiskLevelOperation": [],
+ "isDiskEncrypted": false,
+ "secretIdentifier": null,
+ "dekKeyVaultArmId": null,
+ "isDiskKeyEncrypted": false,
+ "keyIdentifier": null,
+ "kekKeyVaultArmId": null,
+ "failoverDiskName": "sdgql-datadisk0",
+ "tfoDiskName": "sdgql-datadisk0-ASRtest"
+ }
+ ],
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "westus",
+ "failoverRecoveryPointId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster/recoveryPoints/cc48b7f3-b267-432b-ad76-45528974dc62",
+ "monitoringPercentageCompletion": null,
+ "monitoringJobType": null,
+ "rpoInSeconds": 10,
+ "lastRpoCalculatedTime": "2024-01-22T09:20:35.9303505Z",
+ "sharedDiskIRErrors": null
+ }
+ },
+ "policyId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/klncksan"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster/operationresults/76e220ab-8ae8-4047-b6e0-e6c0f6fc2241?api-version=2024-04-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/76e220ab-8ae8-4047-b6e0-e6c0f6fc2241?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_Get.json
new file mode 100644
index 000000000000..9544ca53712b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_Get.json
@@ -0,0 +1,145 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicationProtectionClusterName": "cluster1",
+ "protectionContainerName": "eastus-container",
+ "fabricName": "eastus",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/eastus/replicationProtectionContainers/eastus-container/replicationProtectionClusters/cluster1",
+ "name": "cluster1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionClusters",
+ "properties": {
+ "protectionClusterType": "WindowsServerFailoverCluster",
+ "primaryFabricFriendlyName": "eastus",
+ "primaryFabricProvider": "AzureFabric",
+ "recoveryFabricFriendlyName": "centraluseuap",
+ "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/centraluseuap",
+ "primaryProtectionContainerFriendlyName": "eastus",
+ "recoveryProtectionContainerFriendlyName": "eastus-container",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "allowedOperations": [
+ "UnplannedFailover",
+ "DisableProtection"
+ ],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "lastSuccessfulFailoverTime": null,
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/24-hour-retention-policy",
+ "policyFriendlyName": "24-hour-retention-policy",
+ "currentScenario": null,
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/centraluseuap/replicationProtectionContainers/centraluseuap-container",
+ "agentClusterId": "dd9925cf-5f90-49e9-bd6d-d4cbdcec956b",
+ "clusterFqdn": "ad45f2fc-f9d6-42ac-8a7c-1c5380c88c28",
+ "clusterNodeFqdns": [],
+ "clusterProtectedItemIds": [
+ "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/eastus/replicationProtectionContainers/eastus-container/replicationProtectedItems/cluster2vm0",
+ "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/eastus/replicationProtectionContainers/eastus-container/replicationProtectedItems/cluster2vm1"
+ ],
+ "provisioningState": "Created",
+ "areAllClusterNodesRegistered": true,
+ "clusterRegisteredNodes": [
+ {
+ "clusterNodeFqdn": "VM0",
+ "machineId": "a7eaf02d-60d9-45be-a444-d1b945f1c7b2",
+ "biosId": "eed7a457-b11f-420e-8e4f-384833a6b7c9",
+ "isSharedDiskVirtualNode": true
+ }
+ ],
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "multiVmGroupId": "4c2988ed-7e2a-566e-9c5f-c33835621e83",
+ "multiVmGroupName": "multiVmGroupName1111",
+ "multiVmGroupCreateOption": "UserSpecified",
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "centraluseuap",
+ "failoverRecoveryPointId": null,
+ "clusterManagementId": "1ed32804-ae51-4752-9448-9f686ae27d7b",
+ "rpoInSeconds": null,
+ "lastRpoCalculatedTime": null,
+ "initialPrimaryZone": "",
+ "initialPrimaryFabricLocation": "eastus",
+ "initialRecoveryZone": "",
+ "initialRecoveryFabricLocation": "centraluseuap",
+ "initialPrimaryExtendedLocation": null,
+ "initialRecoveryExtendedLocation": null,
+ "primaryAvailabilityZone": null,
+ "recoveryAvailabilityZone": null,
+ "primaryExtendedLocation": null,
+ "recoveryExtendedLocation": null,
+ "lifecycleId": null
+ },
+ "sharedDiskProperties": {
+ "protectionState": "Protected",
+ "activeLocation": null,
+ "allowedOperations": [],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "currentScenario": null,
+ "sharedDiskProviderSpecificDetails": {
+ "instanceType": "A2A",
+ "managementId": "1ed32804-ae51-4752-9448-9f686ae27d7b",
+ "unprotectedDisks": [
+ {
+ "diskLunId": 1,
+ "diskAutoProtectionStatus": "Disabled"
+ },
+ {
+ "diskLunId": 2,
+ "diskAutoProtectionStatus": "Disabled"
+ }
+ ],
+ "protectedManagedDisks": [
+ {
+ "diskId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourcegroups/resourceGroupPS2/providers/microsoft.compute/disks/cluster2-datadisk0",
+ "recoveryResourceGroupId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1",
+ "recoveryTargetDiskId": null,
+ "recoveryReplicaDiskId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.Compute/disks/cluster2-datadisk0-ASRReplica",
+ "recoveryOrignalTargetDiskId": null,
+ "recoveryReplicaDiskAccountType": "Premium_LRS",
+ "recoveryTargetDiskAccountType": "Premium_LRS",
+ "recoveryDiskEncryptionSetId": null,
+ "primaryDiskEncryptionSetId": null,
+ "diskName": "cluster2-datadisk0",
+ "diskCapacityInBytes": 0,
+ "primaryStagingAzureStorageAccountId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS2/providers/Microsoft.Storage/storageAccounts/eastus1210192341",
+ "diskType": "Data",
+ "resyncRequired": true,
+ "monitoringPercentageCompletion": null,
+ "monitoringJobType": null,
+ "dataPendingInStagingStorageAccountInMB": 100.0,
+ "dataPendingAtSourceAgentInMB": 10.0,
+ "diskState": "Unavailable",
+ "allowedDiskLevelOperation": [],
+ "isDiskEncrypted": false,
+ "secretIdentifier": null,
+ "dekKeyVaultArmId": null,
+ "isDiskKeyEncrypted": false,
+ "keyIdentifier": null,
+ "kekKeyVaultArmId": null,
+ "failoverDiskName": "cluster2-datadisk0",
+ "tfoDiskName": "cluster2-datadisk0-ASRtest"
+ }
+ ],
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "centraluseuap",
+ "failoverRecoveryPointId": null,
+ "monitoringPercentageCompletion": null,
+ "monitoringJobType": null,
+ "rpoInSeconds": 300,
+ "lastRpoCalculatedTime": "2022-11-11T07:34:58.856Z",
+ "sharedDiskIRErrors": null
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_GetOperationResults.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_GetOperationResults.json
new file mode 100644
index 000000000000..25a677c972ad
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_GetOperationResults.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicationProtectionClusterName": "cluster1",
+ "protectionContainerName": "eastus-container",
+ "fabricName": "eastus",
+ "jobId": "ea63a935-59d5-4b12-aff2-98773f63c116",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/eastus/replicationProtectionContainers/eastus-container/replicationProtectionClusters/cluster12",
+ "name": "cluster12",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionClusters",
+ "properties": {
+ "protectionClusterType": null,
+ "primaryFabricFriendlyName": "eastus",
+ "primaryFabricProvider": "AzureFabric",
+ "recoveryFabricFriendlyName": "centraluseuap",
+ "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/centraluseuap",
+ "primaryProtectionContainerFriendlyName": "eastus",
+ "recoveryProtectionContainerFriendlyName": "eastus-container",
+ "protectionState": "NotProtected",
+ "protectionStateDescription": "NotProtected",
+ "activeLocation": "Primary",
+ "allowedOperations": [
+ "UnplannedFailover",
+ "DisableProtection"
+ ],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "lastSuccessfulFailoverTime": null,
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/24-hour-retention-policy",
+ "policyFriendlyName": "24-hour-retention-policy",
+ "currentScenario": null,
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/centraluseuap/replicationProtectionContainers/centraluseuap-container",
+ "agentClusterId": null,
+ "clusterFqdn": null,
+ "clusterNodeFqdns": [],
+ "clusterProtectedItemIds": [],
+ "provisioningState": "Created",
+ "areAllClusterNodesRegistered": false,
+ "clusterRegisteredNodes": [],
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "multiVmGroupId": null,
+ "multiVmGroupName": null,
+ "multiVmGroupCreateOption": null,
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "centraluseuap",
+ "failoverRecoveryPointId": null,
+ "clusterManagementId": "4b8c1c01-5ad7-4958-a98d-daf7cca6a124",
+ "rpoInSeconds": null,
+ "lastRpoCalculatedTime": null,
+ "initialPrimaryZone": "",
+ "initialPrimaryFabricLocation": "eastus",
+ "initialRecoveryZone": "",
+ "initialRecoveryFabricLocation": "centraluseuap",
+ "initialPrimaryExtendedLocation": null,
+ "initialRecoveryExtendedLocation": null,
+ "primaryAvailabilityZone": null,
+ "recoveryAvailabilityZone": null,
+ "primaryExtendedLocation": null,
+ "recoveryExtendedLocation": null,
+ "lifecycleId": "d5f6f011-7ef5-4c78-80fe-6e1b28401c4d"
+ },
+ "sharedDiskProperties": {
+ "protectionState": "EnablingProtection",
+ "activeLocation": null,
+ "allowedOperations": [],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "currentScenario": null,
+ "sharedDiskProviderSpecificDetails": {
+ "instanceType": "A2A",
+ "managementId": "4b8c1c01-5ad7-4958-a98d-daf7cca6a124",
+ "unprotectedDisks": null,
+ "protectedManagedDisks": [],
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "centraluseuap",
+ "failoverRecoveryPointId": null,
+ "monitoringPercentageCompletion": null,
+ "monitoringJobType": null,
+ "rpoInSeconds": null,
+ "lastRpoCalculatedTime": null,
+ "sharedDiskIRErrors": null
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_List.json
new file mode 100644
index 000000000000..dd3e4adcc72f
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_List.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/eastus/replicationProtectionContainers/eastus-container/replicationProtectionClusters/cluster1",
+ "name": "cluster1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionClusters",
+ "properties": {
+ "protectionClusterType": "WindowsServerFailoverCluster",
+ "primaryFabricFriendlyName": "eastus",
+ "primaryFabricProvider": "AzureFabric",
+ "recoveryFabricFriendlyName": "centraluseuap",
+ "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/centraluseuap",
+ "primaryProtectionContainerFriendlyName": "eastus",
+ "recoveryProtectionContainerFriendlyName": "eastus-container",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "allowedOperations": [
+ "UnplannedFailover",
+ "DisableProtection"
+ ],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "lastSuccessfulFailoverTime": null,
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/24-hour-retention-policy",
+ "policyFriendlyName": "24-hour-retention-policy",
+ "currentScenario": null,
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/centraluseuap/replicationProtectionContainers/centraluseuap-container",
+ "agentClusterId": "dd9925cf-5f90-49e9-bd6d-d4cbdcec956b",
+ "clusterFqdn": "ad45f2fc-f9d6-42ac-8a7c-1c5380c88c28",
+ "clusterNodeFqdns": [],
+ "clusterProtectedItemIds": [
+ "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/eastus/replicationProtectionContainers/eastus-container/replicationProtectedItems/cluster2vm0",
+ "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/eastus/replicationProtectionContainers/eastus-container/replicationProtectedItems/cluster2vm1"
+ ],
+ "provisioningState": "Created",
+ "areAllClusterNodesRegistered": true,
+ "clusterRegisteredNodes": [
+ {
+ "clusterNodeFqdn": "VM0",
+ "machineId": "a7eaf02d-60d9-45be-a444-d1b945f1c7b2",
+ "biosId": "eed7a457-b11f-420e-8e4f-384833a6b7c9",
+ "isSharedDiskVirtualNode": true
+ }
+ ],
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "multiVmGroupId": "4c2988ed-7e2a-566e-9c5f-c33835621e83",
+ "multiVmGroupName": "multiVmGroupName1111",
+ "multiVmGroupCreateOption": "UserSpecified",
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "centraluseuap",
+ "failoverRecoveryPointId": null,
+ "clusterManagementId": "1ed32804-ae51-4752-9448-9f686ae27d7b",
+ "rpoInSeconds": null,
+ "lastRpoCalculatedTime": null,
+ "initialPrimaryZone": "",
+ "initialPrimaryFabricLocation": "eastus",
+ "initialRecoveryZone": "",
+ "initialRecoveryFabricLocation": "centraluseuap",
+ "initialPrimaryExtendedLocation": null,
+ "initialRecoveryExtendedLocation": null,
+ "primaryAvailabilityZone": null,
+ "recoveryAvailabilityZone": null,
+ "primaryExtendedLocation": null,
+ "recoveryExtendedLocation": null,
+ "lifecycleId": null
+ },
+ "sharedDiskProperties": {
+ "protectionState": "Protected",
+ "activeLocation": null,
+ "allowedOperations": [],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "currentScenario": null,
+ "sharedDiskProviderSpecificDetails": {
+ "instanceType": "A2A",
+ "managementId": "1ed32804-ae51-4752-9448-9f686ae27d7b",
+ "unprotectedDisks": null,
+ "protectedManagedDisks": null,
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "centraluseuap",
+ "failoverRecoveryPointId": null,
+ "monitoringPercentageCompletion": null,
+ "monitoringJobType": null,
+ "rpoInSeconds": 300,
+ "lastRpoCalculatedTime": "2022-11-11T07:34:58.856Z",
+ "sharedDiskIRErrors": null
+ }
+ }
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_ListByReplicationProtectionContainers.json
new file mode 100644
index 000000000000..b3c40e2d87b5
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_ListByReplicationProtectionContainers.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "protectionContainerName": "eastus-container",
+ "fabricName": "eastus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/eastus/replicationProtectionContainers/eastus-container/replicationProtectionClusters/cluster1",
+ "name": "cluster1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionClusters",
+ "properties": {
+ "protectionClusterType": "WindowsServerFailoverCluster",
+ "primaryFabricFriendlyName": "eastus",
+ "primaryFabricProvider": "AzureFabric",
+ "recoveryFabricFriendlyName": "centraluseuap",
+ "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/centraluseuap",
+ "primaryProtectionContainerFriendlyName": "eastus",
+ "recoveryProtectionContainerFriendlyName": "eastus-container",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "allowedOperations": [
+ "UnplannedFailover",
+ "DisableProtection"
+ ],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "lastSuccessfulFailoverTime": null,
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/24-hour-retention-policy",
+ "policyFriendlyName": "24-hour-retention-policy",
+ "currentScenario": null,
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/centraluseuap/replicationProtectionContainers/centraluseuap-container",
+ "agentClusterId": "dd9925cf-5f90-49e9-bd6d-d4cbdcec956b",
+ "clusterFqdn": "ad45f2fc-f9d6-42ac-8a7c-1c5380c88c28",
+ "clusterNodeFqdns": [],
+ "clusterProtectedItemIds": [
+ "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/eastus/replicationProtectionContainers/eastus-container/replicationProtectedItems/cluster2vm0",
+ "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/eastus/replicationProtectionContainers/eastus-container/replicationProtectedItems/cluster2vm1"
+ ],
+ "provisioningState": "Created",
+ "areAllClusterNodesRegistered": true,
+ "clusterRegisteredNodes": [
+ {
+ "clusterNodeFqdn": "VM0",
+ "machineId": "a7eaf02d-60d9-45be-a444-d1b945f1c7b2",
+ "biosId": "eed7a457-b11f-420e-8e4f-384833a6b7c9",
+ "isSharedDiskVirtualNode": true
+ }
+ ],
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "multiVmGroupId": "4c2988ed-7e2a-566e-9c5f-c33835621e83",
+ "multiVmGroupName": "multiVmGroupName1111",
+ "multiVmGroupCreateOption": "UserSpecified",
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "centraluseuap",
+ "failoverRecoveryPointId": null,
+ "clusterManagementId": "1ed32804-ae51-4752-9448-9f686ae27d7b",
+ "rpoInSeconds": null,
+ "lastRpoCalculatedTime": null,
+ "initialPrimaryZone": "",
+ "initialPrimaryFabricLocation": "eastus",
+ "initialRecoveryZone": "",
+ "initialRecoveryFabricLocation": "centraluseuap",
+ "initialPrimaryExtendedLocation": null,
+ "initialRecoveryExtendedLocation": null,
+ "primaryAvailabilityZone": null,
+ "recoveryAvailabilityZone": null,
+ "primaryExtendedLocation": null,
+ "recoveryExtendedLocation": null,
+ "lifecycleId": null
+ },
+ "sharedDiskProperties": {
+ "protectionState": "Protected",
+ "activeLocation": null,
+ "allowedOperations": [],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "currentScenario": null,
+ "sharedDiskProviderSpecificDetails": {
+ "instanceType": "A2A",
+ "managementId": "1ed32804-ae51-4752-9448-9f686ae27d7b",
+ "unprotectedDisks": null,
+ "protectedManagedDisks": null,
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "centraluseuap",
+ "failoverRecoveryPointId": null,
+ "monitoringPercentageCompletion": null,
+ "monitoringJobType": null,
+ "rpoInSeconds": 300,
+ "lastRpoCalculatedTime": "2022-11-11T07:34:58.856Z",
+ "sharedDiskIRErrors": null
+ }
+ }
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_Purge.json
new file mode 100644
index 000000000000..4c79d0fff073
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_Purge.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicationProtectionClusterName": "cluster1",
+ "protectionContainerName": "eastus-container",
+ "fabricName": "eastus",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/eastus/replicationProtectionContainers/eastus-container/replicationProtectionClusters/cluster12/operationresults/bcf9605f-1611-484c-8f52-4eb0c076d0f8?api-version=2024-04-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/bcf9605f-1611-484c-8f52-4eb0c076d0f8?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_RepairReplication.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_RepairReplication.json
new file mode 100644
index 000000000000..57a0f87da8d7
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_RepairReplication.json
@@ -0,0 +1,152 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicationProtectionClusterName": "cluster12",
+ "protectionContainerName": "eastus-container",
+ "fabricName": "eastus",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/eastus/replicationProtectionContainers/eastus-container/replicationProtectionClusters/cluster1",
+ "name": "cluster1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionClusters",
+ "properties": {
+ "protectionClusterType": "WindowsServerFailoverCluster",
+ "primaryFabricFriendlyName": "eastus",
+ "primaryFabricProvider": "AzureFabric",
+ "recoveryFabricFriendlyName": "centraluseuap",
+ "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/centraluseuap",
+ "primaryProtectionContainerFriendlyName": "eastus",
+ "recoveryProtectionContainerFriendlyName": "eastus-container",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "allowedOperations": [
+ "UnplannedFailover",
+ "DisableProtection"
+ ],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "lastSuccessfulFailoverTime": null,
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/24-hour-retention-policy",
+ "policyFriendlyName": "24-hour-retention-policy",
+ "currentScenario": null,
+ "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/centraluseuap/replicationProtectionContainers/centraluseuap-container",
+ "agentClusterId": "dd9925cf-5f90-49e9-bd6d-d4cbdcec956b",
+ "clusterFqdn": "ad45f2fc-f9d6-42ac-8a7c-1c5380c88c28",
+ "clusterNodeFqdns": [],
+ "clusterProtectedItemIds": [
+ "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/eastus/replicationProtectionContainers/eastus-container/replicationProtectedItems/cluster2vm0",
+ "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/eastus/replicationProtectionContainers/eastus-container/replicationProtectedItems/cluster2vm1"
+ ],
+ "provisioningState": "Created",
+ "areAllClusterNodesRegistered": true,
+ "clusterRegisteredNodes": [
+ {
+ "clusterNodeFqdn": "VM0",
+ "machineId": "a7eaf02d-60d9-45be-a444-d1b945f1c7b2",
+ "biosId": "eed7a457-b11f-420e-8e4f-384833a6b7c9",
+ "isSharedDiskVirtualNode": true
+ }
+ ],
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "multiVmGroupId": "4c2988ed-7e2a-566e-9c5f-c33835621e83",
+ "multiVmGroupName": "multiVmGroupName1111",
+ "multiVmGroupCreateOption": "UserSpecified",
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "centraluseuap",
+ "failoverRecoveryPointId": null,
+ "clusterManagementId": "1ed32804-ae51-4752-9448-9f686ae27d7b",
+ "rpoInSeconds": null,
+ "lastRpoCalculatedTime": null,
+ "initialPrimaryZone": "",
+ "initialPrimaryFabricLocation": "eastus",
+ "initialRecoveryZone": "",
+ "initialRecoveryFabricLocation": "centraluseuap",
+ "initialPrimaryExtendedLocation": null,
+ "initialRecoveryExtendedLocation": null,
+ "primaryAvailabilityZone": null,
+ "recoveryAvailabilityZone": null,
+ "primaryExtendedLocation": null,
+ "recoveryExtendedLocation": null,
+ "lifecycleId": null
+ },
+ "sharedDiskProperties": {
+ "protectionState": "Protected",
+ "activeLocation": null,
+ "allowedOperations": [],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "currentScenario": null,
+ "sharedDiskProviderSpecificDetails": {
+ "instanceType": "A2A",
+ "managementId": "1ed32804-ae51-4752-9448-9f686ae27d7b",
+ "unprotectedDisks": [
+ {
+ "diskLunId": 1,
+ "diskAutoProtectionStatus": "Disabled"
+ },
+ {
+ "diskLunId": 2,
+ "diskAutoProtectionStatus": "Disabled"
+ }
+ ],
+ "protectedManagedDisks": [
+ {
+ "diskId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourcegroups/resourceGroupPS2/providers/microsoft.compute/disks/cluster2-datadisk0",
+ "recoveryResourceGroupId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1",
+ "recoveryTargetDiskId": null,
+ "recoveryReplicaDiskId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.Compute/disks/cluster2-datadisk0-ASRReplica",
+ "recoveryOrignalTargetDiskId": null,
+ "recoveryReplicaDiskAccountType": "Premium_LRS",
+ "recoveryTargetDiskAccountType": "Premium_LRS",
+ "recoveryDiskEncryptionSetId": null,
+ "primaryDiskEncryptionSetId": null,
+ "diskName": "cluster2-datadisk0",
+ "diskCapacityInBytes": 0,
+ "primaryStagingAzureStorageAccountId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS2/providers/Microsoft.Storage/storageAccounts/eastus1210192341",
+ "diskType": "Data",
+ "resyncRequired": true,
+ "monitoringPercentageCompletion": null,
+ "monitoringJobType": null,
+ "dataPendingInStagingStorageAccountInMB": 100.0,
+ "dataPendingAtSourceAgentInMB": 10.0,
+ "diskState": "Unavailable",
+ "allowedDiskLevelOperation": [],
+ "isDiskEncrypted": false,
+ "secretIdentifier": null,
+ "dekKeyVaultArmId": null,
+ "isDiskKeyEncrypted": false,
+ "keyIdentifier": null,
+ "kekKeyVaultArmId": null,
+ "failoverDiskName": "cluster2-datadisk0",
+ "tfoDiskName": "cluster2-datadisk0-ASRtest"
+ }
+ ],
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "centraluseuap",
+ "failoverRecoveryPointId": null,
+ "monitoringPercentageCompletion": null,
+ "monitoringJobType": null,
+ "rpoInSeconds": 300,
+ "lastRpoCalculatedTime": "2022-11-11T07:34:58.856Z",
+ "sharedDiskIRErrors": null
+ }
+ }
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster/operationresults/76e220ab-8ae8-4047-b6e0-e6c0f6fc2241?api-version=2024-04-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/bcf9605f-1611-484c-8f52-4eb0c076d0f8?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_TestFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_TestFailover.json
new file mode 100644
index 000000000000..41340c28e291
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_TestFailover.json
@@ -0,0 +1,180 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicationProtectionClusterName": "testcluster",
+ "protectionContainerName": "pri-cloud-eastus",
+ "fabricName": "fabric-pri-eastus",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
+ "failoverInput": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "networkType": "VmNetworkAsInput",
+ "networkId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/ClusterTestRG-19-01-asr/providers/Microsoft.Network/virtualNetworks/adVNET-asr",
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "clusterRecoveryPointId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster/recoveryPoints/cc48b7f3-b267-432b-ad76-45528974dc62",
+ "individualNodeRecoveryPoints": [
+ "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectedItems/testVM/recoveryPoints/b5c2051b-79e3-41ad-9d25-244f6ef8ce7d"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster",
+ "name": "testcluster",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionClusters",
+ "properties": {
+ "protectionClusterType": "WindowsServerFailoverCluster",
+ "primaryFabricFriendlyName": "East US",
+ "primaryFabricProvider": "AzureFabric",
+ "recoveryFabricFriendlyName": "West US",
+ "recoveryFabricId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-rec-westus",
+ "primaryProtectionContainerFriendlyName": "East US",
+ "recoveryProtectionContainerFriendlyName": "pri-cloud-eastus",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "WaitingForCleanup",
+ "testFailoverStateDescription": "Waiting for Test Failover Cleanup to start",
+ "allowedOperations": [
+ "ClusterTestFailoverCleanup",
+ "PurgeProtectionCluster"
+ ],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "lastSuccessfulFailoverTime": null,
+ "lastSuccessfulTestFailoverTime": "2024-01-22T06:08:01.7440966Z",
+ "policyFriendlyName": "klncksan",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "recoveryContainerId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-rec-westus/replicationProtectionContainers/rec-cloud-westus",
+ "agentClusterId": "aeeca6a3-171b-4c9d-ae22-0e4adb6416a0",
+ "clusterFqdn": "sdgqlc",
+ "clusterNodeFqdns": [
+ "sdgql0",
+ "sdgql1"
+ ],
+ "clusterProtectedItemIds": [
+ "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectedItems/yNdYnDYKZ7hYU7zyVeBychFBCyAbEkrJcJNUarDrXio",
+ "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectedItems/kdUdWvpVnm3QgOQPHoVMX8YAtAO8OC4kKNjt40ERSr4"
+ ],
+ "provisioningState": "Created",
+ "areAllClusterNodesRegistered": true,
+ "clusterRegisteredNodes": [
+ {
+ "clusterNodeFqdn": "sdgql0",
+ "machineId": "3794026b-6792-4d12-9c0c-de0c79376c90",
+ "biosId": "37D0059C-9118-4220-AA1D-58A10EFA7660",
+ "isSharedDiskVirtualNode": false
+ },
+ {
+ "clusterNodeFqdn": "aeeca6a3-171b-4c9d-ae22-0e4adb6416a0",
+ "machineId": "aeeca6a3-171b-4c9d-ae22-0e4adb6416a0",
+ "biosId": "aeeca6a3-171b-4c9d-ae22-0e4adb6416a0",
+ "isSharedDiskVirtualNode": true
+ },
+ {
+ "clusterNodeFqdn": "sdgql1",
+ "machineId": "cb27913a-a5f2-4691-9eba-78b67f45a57a",
+ "biosId": "83CCE932-67EC-4C13-AB29-ACF5F8F7ED48",
+ "isSharedDiskVirtualNode": false
+ }
+ ],
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "multiVmGroupId": "a7ef77cb-ae59-545f-a32a-bf30575ab1c6",
+ "multiVmGroupName": "testcluster",
+ "multiVmGroupCreateOption": "UserSpecified",
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "westus",
+ "failoverRecoveryPointId": null,
+ "clusterManagementId": "a24d47b2-a80b-4553-9c16-499c30c3be07",
+ "rpoInSeconds": 192,
+ "lastRpoCalculatedTime": "2024-01-22T06:12:49.8370065Z",
+ "initialPrimaryZone": "",
+ "initialPrimaryFabricLocation": "eastus",
+ "initialRecoveryZone": "",
+ "initialRecoveryFabricLocation": "westus",
+ "initialPrimaryExtendedLocation": null,
+ "initialRecoveryExtendedLocation": null,
+ "primaryAvailabilityZone": null,
+ "recoveryAvailabilityZone": null,
+ "primaryExtendedLocation": null,
+ "recoveryExtendedLocation": null,
+ "lifecycleId": "3d523ab9-8c6d-40af-850d-ccee06513dc6"
+ },
+ "sharedDiskProperties": {
+ "protectionState": "Protected",
+ "testFailoverState": "WaitingForCompletion",
+ "activeLocation": null,
+ "allowedOperations": [],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "currentScenario": null,
+ "sharedDiskProviderSpecificDetails": {
+ "instanceType": "A2A",
+ "managementId": "a24d47b2-a80b-4553-9c16-499c30c3be07",
+ "unprotectedDisks": null,
+ "protectedManagedDisks": [
+ {
+ "diskId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourcegroups/clustertestrg-19-01/providers/microsoft.compute/disks/sdgql-datadisk0",
+ "recoveryResourceGroupId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/ClusterTestRG-19-01-asr",
+ "recoveryTargetDiskId": null,
+ "recoveryReplicaDiskId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/ClusterTestRG-19-01-asr/providers/Microsoft.Compute/disks/sdgql-datadisk0-ASRReplica",
+ "recoveryOrignalTargetDiskId": null,
+ "recoveryReplicaDiskAccountType": "Premium_LRS",
+ "recoveryTargetDiskAccountType": "Premium_LRS",
+ "recoveryDiskEncryptionSetId": null,
+ "primaryDiskEncryptionSetId": null,
+ "diskName": "sdgql-datadisk0",
+ "diskCapacityInBytes": 274877906944,
+ "primaryStagingAzureStorageAccountId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.Storage/storageAccounts/ix701lshashankvaasrcache",
+ "diskType": "Data",
+ "resyncRequired": false,
+ "monitoringPercentageCompletion": null,
+ "monitoringJobType": null,
+ "dataPendingInStagingStorageAccountInMB": 0.0,
+ "dataPendingAtSourceAgentInMB": 0.0,
+ "diskState": "Protected",
+ "allowedDiskLevelOperation": [],
+ "isDiskEncrypted": false,
+ "secretIdentifier": null,
+ "dekKeyVaultArmId": null,
+ "isDiskKeyEncrypted": false,
+ "keyIdentifier": null,
+ "kekKeyVaultArmId": null,
+ "failoverDiskName": "sdgql-datadisk0",
+ "tfoDiskName": "sdgql-datadisk0-ASRtest"
+ }
+ ],
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "westus",
+ "failoverRecoveryPointId": null,
+ "monitoringPercentageCompletion": null,
+ "monitoringJobType": null,
+ "rpoInSeconds": 195,
+ "lastRpoCalculatedTime": "2024-01-22T06:12:52.499131Z",
+ "sharedDiskIRErrors": null
+ }
+ },
+ "policyId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/klncksan"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster/operationresults/76e220ab-8ae8-4047-b6e0-e6c0f6fc2241?api-version=2024-04-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/49660b52-ccaa-4f22-87d6-a9c8f0b17674?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_TestFailoverCleanup.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_TestFailoverCleanup.json
new file mode 100644
index 000000000000..fd80ef8b61ca
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_TestFailoverCleanup.json
@@ -0,0 +1,172 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicationProtectionClusterName": "testcluster",
+ "protectionContainerName": "pri-cloud-eastus",
+ "fabricName": "fabric-pri-eastus",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
+ "cleanupInput": {
+ "properties": {
+ "comments": "Test Failover Cleanup"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster",
+ "name": "testcluster",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionClusters",
+ "properties": {
+ "protectionClusterType": "WindowsServerFailoverCluster",
+ "primaryFabricFriendlyName": "East US",
+ "primaryFabricProvider": "AzureFabric",
+ "recoveryFabricFriendlyName": "West US",
+ "recoveryFabricId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-rec-westus",
+ "primaryProtectionContainerFriendlyName": "East US",
+ "recoveryProtectionContainerFriendlyName": "pri-cloud-eastus",
+ "protectionState": "Protected",
+ "protectionStateDescription": "Protected",
+ "activeLocation": "Primary",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "PurgeProtectionCluster",
+ "UnplannedFailoverProtectionCluster",
+ "TestFailoverProtectionCluster"
+ ],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "lastSuccessfulFailoverTime": null,
+ "lastSuccessfulTestFailoverTime": "2024-01-22T06:08:01.7440966Z",
+ "policyFriendlyName": "klncksan",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "recoveryContainerId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-rec-westus/replicationProtectionContainers/rec-cloud-westus",
+ "agentClusterId": "aeeca6a3-171b-4c9d-ae22-0e4adb6416a0",
+ "clusterFqdn": "sdgqlc",
+ "clusterNodeFqdns": [
+ "sdgql0",
+ "sdgql1"
+ ],
+ "clusterProtectedItemIds": [
+ "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectedItems/yNdYnDYKZ7hYU7zyVeBychFBCyAbEkrJcJNUarDrXio",
+ "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectedItems/kdUdWvpVnm3QgOQPHoVMX8YAtAO8OC4kKNjt40ERSr4"
+ ],
+ "provisioningState": "Created",
+ "areAllClusterNodesRegistered": true,
+ "clusterRegisteredNodes": [
+ {
+ "clusterNodeFqdn": "sdgql0",
+ "machineId": "3794026b-6792-4d12-9c0c-de0c79376c90",
+ "biosId": "37D0059C-9118-4220-AA1D-58A10EFA7660",
+ "isSharedDiskVirtualNode": false
+ },
+ {
+ "clusterNodeFqdn": "aeeca6a3-171b-4c9d-ae22-0e4adb6416a0",
+ "machineId": "aeeca6a3-171b-4c9d-ae22-0e4adb6416a0",
+ "biosId": "aeeca6a3-171b-4c9d-ae22-0e4adb6416a0",
+ "isSharedDiskVirtualNode": true
+ },
+ {
+ "clusterNodeFqdn": "sdgql1",
+ "machineId": "cb27913a-a5f2-4691-9eba-78b67f45a57a",
+ "biosId": "83CCE932-67EC-4C13-AB29-ACF5F8F7ED48",
+ "isSharedDiskVirtualNode": false
+ }
+ ],
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "multiVmGroupId": "a7ef77cb-ae59-545f-a32a-bf30575ab1c6",
+ "multiVmGroupName": "testcluster",
+ "multiVmGroupCreateOption": "UserSpecified",
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "westus",
+ "failoverRecoveryPointId": null,
+ "clusterManagementId": "a24d47b2-a80b-4553-9c16-499c30c3be07",
+ "rpoInSeconds": 258,
+ "lastRpoCalculatedTime": "2024-01-22T09:14:51.8546369Z",
+ "initialPrimaryZone": "",
+ "initialPrimaryFabricLocation": "eastus",
+ "initialRecoveryZone": "",
+ "initialRecoveryFabricLocation": "westus",
+ "initialPrimaryExtendedLocation": null,
+ "initialRecoveryExtendedLocation": null,
+ "primaryAvailabilityZone": null,
+ "recoveryAvailabilityZone": null,
+ "primaryExtendedLocation": null,
+ "recoveryExtendedLocation": null,
+ "lifecycleId": "3d523ab9-8c6d-40af-850d-ccee06513dc6"
+ },
+ "sharedDiskProperties": {
+ "protectionState": "Protected",
+ "testFailoverState": "None",
+ "activeLocation": null,
+ "allowedOperations": [],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "currentScenario": null,
+ "sharedDiskProviderSpecificDetails": {
+ "instanceType": "A2A",
+ "managementId": "a24d47b2-a80b-4553-9c16-499c30c3be07",
+ "unprotectedDisks": null,
+ "protectedManagedDisks": [
+ {
+ "diskId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourcegroups/clustertestrg-19-01/providers/microsoft.compute/disks/sdgql-datadisk0",
+ "recoveryResourceGroupId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/ClusterTestRG-19-01-asr",
+ "recoveryTargetDiskId": null,
+ "recoveryReplicaDiskId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/ClusterTestRG-19-01-asr/providers/Microsoft.Compute/disks/sdgql-datadisk0-ASRReplica",
+ "recoveryOrignalTargetDiskId": null,
+ "recoveryReplicaDiskAccountType": "Premium_LRS",
+ "recoveryTargetDiskAccountType": "Premium_LRS",
+ "recoveryDiskEncryptionSetId": null,
+ "primaryDiskEncryptionSetId": null,
+ "diskName": "sdgql-datadisk0",
+ "diskCapacityInBytes": 274877906944,
+ "primaryStagingAzureStorageAccountId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.Storage/storageAccounts/ix701lshashankvaasrcache",
+ "diskType": "Data",
+ "resyncRequired": false,
+ "monitoringPercentageCompletion": null,
+ "monitoringJobType": null,
+ "dataPendingInStagingStorageAccountInMB": 0.0,
+ "dataPendingAtSourceAgentInMB": 0.0,
+ "diskState": "Protected",
+ "allowedDiskLevelOperation": [],
+ "isDiskEncrypted": false,
+ "secretIdentifier": null,
+ "dekKeyVaultArmId": null,
+ "isDiskKeyEncrypted": false,
+ "keyIdentifier": null,
+ "kekKeyVaultArmId": null,
+ "failoverDiskName": "sdgql-datadisk0",
+ "tfoDiskName": "sdgql-datadisk0-ASRtest"
+ }
+ ],
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "westus",
+ "failoverRecoveryPointId": null,
+ "monitoringPercentageCompletion": null,
+ "monitoringJobType": null,
+ "rpoInSeconds": 180,
+ "lastRpoCalculatedTime": "2024-01-22T09:13:33.52001Z",
+ "sharedDiskIRErrors": null
+ }
+ },
+ "policyId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/klncksan"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster/operationresults/76e220ab-8ae8-4047-b6e0-e6c0f6fc2241?api-version=2024-04-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/5fda1f8f-7c2a-4c9e-bb73-3cf018e9df41?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_UnplannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_UnplannedFailover.json
new file mode 100644
index 000000000000..edcd0633f989
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionClusters_UnplannedFailover.json
@@ -0,0 +1,180 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicationProtectionClusterName": "testcluster",
+ "protectionContainerName": "pri-cloud-eastus",
+ "fabricName": "fabric-pri-eastus",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
+ "failoverInput": {
+ "properties": {
+ "failoverDirection": "primarytorecovery",
+ "sourceSiteOperations": "NotRequired",
+ "providerSpecificDetails": {
+ "clusterRecoveryPointId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster/recoveryPoints/cc48b7f3-b267-432b-ad76-45528974dc62",
+ "individualNodeRecoveryPoints": [
+ "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectedItems/testVM/recoveryPoints/b5c2051b-79e3-41ad-9d25-244f6ef8ce7d"
+ ],
+ "instanceType": "A2A"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster",
+ "name": "testcluster",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionClusters",
+ "properties": {
+ "protectionClusterType": "WindowsServerFailoverCluster",
+ "primaryFabricFriendlyName": "East US",
+ "primaryFabricProvider": "AzureFabric",
+ "recoveryFabricFriendlyName": "West US",
+ "recoveryFabricId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-rec-westus",
+ "primaryProtectionContainerFriendlyName": "East US",
+ "recoveryProtectionContainerFriendlyName": "pri-cloud-eastus",
+ "protectionState": "FailoverCompleted",
+ "protectionStateDescription": "Failover completed.",
+ "activeLocation": "Recovery",
+ "testFailoverState": "None",
+ "testFailoverStateDescription": "None",
+ "allowedOperations": [
+ "CommitFailoverProtectionCluster",
+ "ChangePitProtectionCluster",
+ "PurgeProtectionCluster"
+ ],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "lastSuccessfulFailoverTime": "2024-01-22T09:31:13.1605059Z",
+ "lastSuccessfulTestFailoverTime": "2024-01-22T06:08:01.7440966Z",
+ "policyFriendlyName": "klncksan",
+ "currentScenario": {
+ "scenarioName": "None",
+ "jobId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime": "1753-01-01T01:01:01Z"
+ },
+ "recoveryContainerId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-rec-westus/replicationProtectionContainers/rec-cloud-westus",
+ "agentClusterId": "aeeca6a3-171b-4c9d-ae22-0e4adb6416a0",
+ "clusterFqdn": "sdgqlc",
+ "clusterNodeFqdns": [
+ "sdgql0",
+ "sdgql1"
+ ],
+ "clusterProtectedItemIds": [
+ "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectedItems/yNdYnDYKZ7hYU7zyVeBychFBCyAbEkrJcJNUarDrXio",
+ "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectedItems/kdUdWvpVnm3QgOQPHoVMX8YAtAO8OC4kKNjt40ERSr4"
+ ],
+ "provisioningState": "Created",
+ "areAllClusterNodesRegistered": true,
+ "clusterRegisteredNodes": [
+ {
+ "clusterNodeFqdn": "sdgql0",
+ "machineId": "3794026b-6792-4d12-9c0c-de0c79376c90",
+ "biosId": "37D0059C-9118-4220-AA1D-58A10EFA7660",
+ "isSharedDiskVirtualNode": false
+ },
+ {
+ "clusterNodeFqdn": "aeeca6a3-171b-4c9d-ae22-0e4adb6416a0",
+ "machineId": "aeeca6a3-171b-4c9d-ae22-0e4adb6416a0",
+ "biosId": "aeeca6a3-171b-4c9d-ae22-0e4adb6416a0",
+ "isSharedDiskVirtualNode": true
+ },
+ {
+ "clusterNodeFqdn": "sdgql1",
+ "machineId": "cb27913a-a5f2-4691-9eba-78b67f45a57a",
+ "biosId": "83CCE932-67EC-4C13-AB29-ACF5F8F7ED48",
+ "isSharedDiskVirtualNode": false
+ }
+ ],
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "multiVmGroupId": "a7ef77cb-ae59-545f-a32a-bf30575ab1c6",
+ "multiVmGroupName": "testcluster",
+ "multiVmGroupCreateOption": "UserSpecified",
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "westus",
+ "failoverRecoveryPointId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster/recoveryPoints/cc48b7f3-b267-432b-ad76-45528974dc62",
+ "clusterManagementId": "a24d47b2-a80b-4553-9c16-499c30c3be07",
+ "rpoInSeconds": 3213,
+ "lastRpoCalculatedTime": "2024-01-22T10:19:11.0490433Z",
+ "initialPrimaryZone": "",
+ "initialPrimaryFabricLocation": "eastus",
+ "initialRecoveryZone": "",
+ "initialRecoveryFabricLocation": "westus",
+ "initialPrimaryExtendedLocation": null,
+ "initialRecoveryExtendedLocation": null,
+ "primaryAvailabilityZone": null,
+ "recoveryAvailabilityZone": null,
+ "primaryExtendedLocation": null,
+ "recoveryExtendedLocation": null,
+ "lifecycleId": "3d523ab9-8c6d-40af-850d-ccee06513dc6"
+ },
+ "sharedDiskProperties": {
+ "protectionState": "UnplannedFailoverCommitRequired",
+ "testFailoverState": "None",
+ "activeLocation": null,
+ "allowedOperations": [],
+ "replicationHealth": "Normal",
+ "healthErrors": [],
+ "currentScenario": null,
+ "sharedDiskProviderSpecificDetails": {
+ "instanceType": "A2A",
+ "managementId": "a24d47b2-a80b-4553-9c16-499c30c3be07",
+ "unprotectedDisks": null,
+ "protectedManagedDisks": [
+ {
+ "diskId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourcegroups/clustertestrg-19-01/providers/microsoft.compute/disks/sdgql-datadisk0",
+ "recoveryResourceGroupId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/ClusterTestRG-19-01-asr",
+ "recoveryTargetDiskId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/ClusterTestRG-19-01-asr/providers/Microsoft.Compute/disks/sdgql-datadisk0",
+ "recoveryReplicaDiskId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/ClusterTestRG-19-01-asr/providers/Microsoft.Compute/disks/sdgql-datadisk0-ASRReplica",
+ "recoveryOrignalTargetDiskId": null,
+ "recoveryReplicaDiskAccountType": "Premium_LRS",
+ "recoveryTargetDiskAccountType": "Premium_LRS",
+ "recoveryDiskEncryptionSetId": null,
+ "primaryDiskEncryptionSetId": null,
+ "diskName": "sdgql-datadisk0",
+ "diskCapacityInBytes": 274877906944,
+ "primaryStagingAzureStorageAccountId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.Storage/storageAccounts/ix701lshashankvaasrcache",
+ "diskType": "Data",
+ "resyncRequired": false,
+ "monitoringPercentageCompletion": null,
+ "monitoringJobType": null,
+ "dataPendingInStagingStorageAccountInMB": 0.0,
+ "dataPendingAtSourceAgentInMB": 0.0,
+ "diskState": "Protected",
+ "allowedDiskLevelOperation": [],
+ "isDiskEncrypted": false,
+ "secretIdentifier": null,
+ "dekKeyVaultArmId": null,
+ "isDiskKeyEncrypted": false,
+ "keyIdentifier": null,
+ "kekKeyVaultArmId": null,
+ "failoverDiskName": "sdgql-datadisk0",
+ "tfoDiskName": "sdgql-datadisk0-ASRtest"
+ }
+ ],
+ "primaryFabricLocation": "eastus",
+ "recoveryFabricLocation": "westus",
+ "failoverRecoveryPointId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster/recoveryPoints/cc48b7f3-b267-432b-ad76-45528974dc62",
+ "monitoringPercentageCompletion": null,
+ "monitoringJobType": null,
+ "rpoInSeconds": 10,
+ "lastRpoCalculatedTime": "2024-01-22T09:20:35.9303505Z",
+ "sharedDiskIRErrors": null
+ }
+ },
+ "policyId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/klncksan"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster/operationresults/76e220ab-8ae8-4047-b6e0-e6c0f6fc2241?api-version=2024-04-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/95637b63-f239-48e0-8bbc-bd6b3c638a39?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_Create.json
new file mode 100644
index 000000000000..e79de7ce4d8a
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_Create.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "mappingName": "cloud1protectionprofile1",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "creationInput": {
+ "properties": {
+ "targetProtectionContainerId": "Microsoft Azure",
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "providerSpecificInput": {
+ "instanceType": "ReplicationProviderSpecificContainerMappingInput"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1",
+ "name": "cloud1protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings",
+ "properties": {
+ "targetProtectionContainerId": "Microsoft Azure",
+ "targetProtectionContainerFriendlyName": "Microsoft Azure",
+ "health": "Normal",
+ "healthErrorDetails": [],
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "state": "Paired",
+ "sourceProtectionContainerFriendlyName": "cloud1",
+ "sourceFabricFriendlyName": "cloud1",
+ "targetFabricFriendlyName": "Microsoft Azure",
+ "policyFriendlyName": "protectionprofile1"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_Delete.json
new file mode 100644
index 000000000000..d0fbb330f88f
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_Delete.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "mappingName": "cloud1protectionprofile1",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "removalInput": {
+ "properties": {
+ "providerSpecificInput": {}
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ },
+ "204": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_Get.json
new file mode 100644
index 000000000000..4b79548873aa
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_Get.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "mappingName": "cloud1protectionprofile1",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1",
+ "name": "cloud1protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings",
+ "properties": {
+ "targetProtectionContainerId": "Microsoft Azure",
+ "targetProtectionContainerFriendlyName": "Microsoft Azure",
+ "health": "Normal",
+ "healthErrorDetails": [],
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "state": "Paired",
+ "sourceProtectionContainerFriendlyName": "cloud1",
+ "sourceFabricFriendlyName": "cloud1",
+ "targetFabricFriendlyName": "Microsoft Azure",
+ "policyFriendlyName": "protectionprofile1"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_List.json
new file mode 100644
index 000000000000..06be92b0830b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_List.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1",
+ "name": "cloud1protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationProtectionContainerMappings",
+ "properties": {
+ "targetProtectionContainerId": "Microsoft Azure",
+ "targetProtectionContainerFriendlyName": "Microsoft Azure",
+ "health": "Normal",
+ "healthErrorDetails": [],
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "state": "Paired",
+ "sourceProtectionContainerFriendlyName": "cloud1",
+ "sourceFabricFriendlyName": "cloud1",
+ "targetFabricFriendlyName": "Microsoft Azure",
+ "policyFriendlyName": "protectionprofile1"
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json
new file mode 100644
index 000000000000..406ca518e0f1
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1",
+ "name": "cloud1protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings",
+ "properties": {
+ "targetProtectionContainerId": "Microsoft Azure",
+ "targetProtectionContainerFriendlyName": "Microsoft Azure",
+ "health": "Normal",
+ "healthErrorDetails": [],
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "state": "Paired",
+ "sourceProtectionContainerFriendlyName": "cloud1",
+ "sourceFabricFriendlyName": "cloud1",
+ "targetFabricFriendlyName": "Microsoft Azure",
+ "policyFriendlyName": "protectionprofile1"
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_Purge.json
new file mode 100644
index 000000000000..7c9b3c198b20
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_Purge.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "mappingName": "cloud1protectionprofile1",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ },
+ "204": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_Update.json
new file mode 100644
index 000000000000..ff141c7fadce
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainerMappings_Update.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "mappingName": "cloud1protectionprofile1",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "updateInput": {
+ "properties": {
+ "providerSpecificInput": {
+ "instanceType": "A2A",
+ "agentAutoUpdateStatus": "Enabled",
+ "automationAccountArmId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/automationrg1/providers/Microsoft.Automation/automationAccounts/automationaccount1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1",
+ "name": "cloud1protectionprofile1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings",
+ "properties": {
+ "targetProtectionContainerId": "Microsoft Azure",
+ "targetProtectionContainerFriendlyName": "Microsoft Azure",
+ "health": "Normal",
+ "healthErrorDetails": [],
+ "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
+ "state": "Paired",
+ "sourceProtectionContainerFriendlyName": "cloud1",
+ "sourceFabricFriendlyName": "cloud1",
+ "targetFabricFriendlyName": "Microsoft Azure",
+ "policyFriendlyName": "protectionprofile1",
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "agentAutoUpdateStatus": "Enabled",
+ "automationAccountArmId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/automationrg1/providers/Microsoft.Automation/automationAccounts/automationaccount1",
+ "scheduleName": "cloud1protectionprofile1_a85ea38f-62a8-471b-93cc-69b74fd9578c",
+ "jobScheduleName": "ffd503ec-5f88-4b58-97c8-841466e7aa47"
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_Create.json
new file mode 100644
index 000000000000..78ea24c2c39c
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_Create.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "creationInput": {
+ "properties": {
+ "providerSpecificInput": [
+ {
+ "instanceType": "ReplicationProviderSpecificContainerCreationInput"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers",
+ "properties": {
+ "fabricFriendlyName": "cloud1",
+ "friendlyName": "cloud1",
+ "fabricType": "HyperVSite",
+ "protectedItemCount": 0,
+ "pairingStatus": "NotPaired",
+ "role": ""
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_Delete.json
new file mode 100644
index 000000000000..d33a142ea18c
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_Delete.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ },
+ "204": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json
new file mode 100644
index 000000000000..2e681ffef180
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "protectionContainerName": "cloud_7328549c-5c37-4459-a3c2-e35f9ef6893c",
+ "fabricName": "V2A-W2K12-660",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
+ "discoverProtectableItemRequest": {
+ "properties": {
+ "friendlyName": "Test",
+ "ipAddress": "10.150.2.3",
+ "osType": "Windows"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationProtectionContainers/cloud_7328549c-5c37-4459-a3c2-e35f9ef6893c",
+ "name": "cloud_7328549c-5c37-4459-a3c2-e35f9ef6893c",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers",
+ "properties": {
+ "fabricFriendlyName": "V2A-W2K12-660",
+ "friendlyName": "V2A-W2K12-660",
+ "fabricType": "VMware",
+ "protectedItemCount": 2,
+ "pairingStatus": "Paired",
+ "role": "Primary"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_Get.json
new file mode 100644
index 000000000000..e589b9c42cda
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_Get.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers",
+ "properties": {
+ "fabricFriendlyName": "cloud1",
+ "friendlyName": "cloud1",
+ "fabricType": "HyperVSite",
+ "protectedItemCount": 0,
+ "pairingStatus": "NotPaired",
+ "role": ""
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_List.json
new file mode 100644
index 000000000000..d4dce2de06cd
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_List.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "type": "Microsoft.RecoveryServices/vaults/replicationProtectionContainers",
+ "properties": {
+ "fabricFriendlyName": "cloud1",
+ "friendlyName": "cloud1",
+ "fabricType": "HyperVSite",
+ "protectedItemCount": 0,
+ "pairingStatus": "NotPaired",
+ "role": ""
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..5c5497120bad
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "fabricName": "cloud1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers",
+ "properties": {
+ "fabricFriendlyName": "cloud1",
+ "friendlyName": "cloud1",
+ "fabricType": "HyperVSite",
+ "protectedItemCount": 0,
+ "pairingStatus": "NotPaired",
+ "role": ""
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_SwitchClusterProtection.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_SwitchClusterProtection.json
new file mode 100644
index 000000000000..202d7da65d42
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_SwitchClusterProtection.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "protectionContainerName": "pri-cloud-eastus",
+ "fabricName": "fabric-pri-eastus",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
+ "switchInput": {
+ "properties": {
+ "replicationProtectionClusterName": "testcluster",
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "recoveryContainerId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-rec-westus/replicationProtectionContainers/rec-cloud-westus",
+ "policyId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/klncksan",
+ "protectedItemsDetail": [
+ {
+ "recoveryResourceGroupId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/ClusterTestRG-19-01-asr",
+ "replicationProtectedItemName": "yNdYnDYKZ7hYU7zyVeBychFBCyAbEkrJcJNUarDrXio",
+ "vmManagedDisks": [
+ {
+ "diskId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourcegroups/clustertestrg-19-01/providers/microsoft.compute/disks/sdgql0-osdisk",
+ "recoveryResourceGroupId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/ClusterTestRG-19-01-asr",
+ "primaryStagingAzureStorageAccountId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/clustertestrg-19-01/providers/Microsoft.Storage/storageAccounts/ix701lvaasrcache"
+ }
+ ]
+ },
+ {
+ "recoveryResourceGroupId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/ClusterTestRG-19-01-asr",
+ "replicationProtectedItemName": "kdUdWvpVnm3QgOQPHoVMX8YAtAO8OC4kKNjt40ERSr4",
+ "vmManagedDisks": [
+ {
+ "diskId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourcegroups/clustertestrg-19-01/providers/microsoft.compute/disks/sdgql1-osdisk",
+ "recoveryResourceGroupId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/ClusterTestRG-19-01-asr",
+ "primaryStagingAzureStorageAccountId": "/subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/clustertestrg-19-01/providers/Microsoft.Storage/storageAccounts/ix701lvaasrcache"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus",
+ "name": "pri-cloud-eastus",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers",
+ "properties": {
+ "fabricFriendlyName": "East US",
+ "friendlyName": "pri-cloud-eastus",
+ "fabricType": "Azure",
+ "protectedItemCount": 13,
+ "pairingStatus": "Paired",
+ "role": "Primary",
+ "fabricSpecificDetails": null
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric-pri-eastus/replicationProtectionContainers/pri-cloud-eastus/replicationProtectionClusters/testcluster/operationresults/76e220ab-8ae8-4047-b6e0-e6c0f6fc2241?api-version=2024-04-01",
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/5fda1f8f-7c2a-4c9e-bb73-9cf018e9df41?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_SwitchProtection.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_SwitchProtection.json
new file mode 100644
index 000000000000..be68ecdedad8
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionContainers_SwitchProtection.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "protectionContainerName": "CentralUSCancloud",
+ "fabricName": "CentralUSCanSite",
+ "resourceName": "priyanponeboxvault",
+ "resourceGroupName": "priyanprg",
+ "subscriptionId": "42195872-7e70-4f8a-837f-84b28ecbb78b",
+ "switchInput": {
+ "properties": {
+ "replicationProtectedItemName": "a2aSwapOsVm",
+ "providerSpecificDetails": {
+ "instanceType": "A2A"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/42195872-7e70-4f8a-837f-84b28ecbb78b/resourceGroups/priyanprg/providers/Microsoft.RecoveryServices/vaults/priyanponeboxvault/replicationFabrics/EUSCanSite/replicationProtectionContainers/euscancloud",
+ "name": "euscancloud",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers",
+ "properties": {
+ "fabricFriendlyName": "East US 2 EUAP",
+ "friendlyName": "euscancloud",
+ "fabricType": "Azure",
+ "protectedItemCount": 0,
+ "pairingStatus": "Paired",
+ "role": "Primary"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/42195872-7e70-4f8a-837f-84b28ecbb78b/resourceGroups/priyanprg/providers/Microsoft.RecoveryServices/vaults/priyanponeboxvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/42195872-7e70-4f8a-837f-84b28ecbb78b/resourceGroups/priyanprg/providers/Microsoft.RecoveryServices/vaults/priyanponeboxvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionIntents_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionIntents_Create.json
new file mode 100644
index 000000000000..62ac94768498
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionIntents_Create.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "intentObjectName": "vm1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "509099b2-9d2c-4636-b43e-bd5cafb6be69",
+ "input": {
+ "properties": {
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "fabricObjectId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/removeOne/providers/Microsoft.Compute/virtualMachines/vmPpgAv5",
+ "primaryLocation": "eastUs2",
+ "recoveryLocation": "westus2",
+ "recoverySubscriptionId": "ed5bcdf6-d61e-47bd-8ea9-f2bd379a2640",
+ "recoveryAvailabilityType": "Single",
+ "recoveryResourceGroupId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/removeOne-asr"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/2007vttp/providers/Microsoft.RecoveryServices/vaults/tp2007vt/replicationProtectionIntents/vm1",
+ "name": "vm1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationProtectionIntents",
+ "properties": {
+ "friendlyName": "vm1",
+ "jobId": "/Subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/a2acl-rg-vault-prod-gip-ccy/providers/Microsoft.RecoveryServices/vaults/a2acl-vault-prod-gip-ccy/replicationJobs/02004ea7-d498-4bb4-bdeb-cdb611706867",
+ "jobState": "InProgress",
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "recoveryAvailabilityType": "Single"
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionIntents_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionIntents_Get.json
new file mode 100644
index 000000000000..a0abe24d711a
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionIntents_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "intentObjectName": "vm1",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "509099b2-9d2c-4636-b43e-bd5cafb6be69"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/2007vttp/providers/Microsoft.RecoveryServices/vaults/tp2007vt/replicationProtectionIntents/vm1",
+ "name": "vm1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationProtectionIntents",
+ "properties": {
+ "friendlyName": "vm1",
+ "jobId": "/Subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/a2acl-rg-vault-prod-gip-ccy/providers/Microsoft.RecoveryServices/vaults/a2acl-vault-prod-gip-ccy/replicationJobs/02004ea7-d498-4bb4-bdeb-cdb611706867",
+ "jobState": "InProgress",
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "fabricObjectId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/removeOne/providers/Microsoft.Compute/virtualMachines/vmPpgAv5",
+ "primaryLocation": "eastUs2",
+ "recoveryLocation": "westus2",
+ "recoverySubscriptionId": "ed5bcdf6-d61e-47bd-8ea9-f2bd379a2640",
+ "recoveryAvailabilityType": "Single"
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionIntents_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionIntents_List.json
new file mode 100644
index 000000000000..809302f73ab4
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationProtectionIntents_List.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "2007vttp",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "509099b2-9d2c-4636-b43e-bd5cafb6be69"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/2007vttp/providers/Microsoft.RecoveryServices/vaults/tp2007vt/replicationProtectionIntents/vm1",
+ "name": "vm1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationProtectionIntents",
+ "properties": {
+ "friendlyName": "vm1",
+ "jobId": "/Subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/a2acl-rg-vault-prod-gip-ccy/providers/Microsoft.RecoveryServices/vaults/a2acl-vault-prod-gip-ccy/replicationJobs/02004ea7-d498-4bb4-bdeb-cdb611706867",
+ "jobState": "InProgress",
+ "providerSpecificDetails": {
+ "instanceType": "A2A",
+ "fabricObjectId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/removeOne/providers/Microsoft.Compute/virtualMachines/vmPpgAv5",
+ "primaryLocation": "eastUs2",
+ "recoveryLocation": "westus2",
+ "recoverySubscriptionId": "ed5bcdf6-d61e-47bd-8ea9-f2bd379a2640",
+ "recoveryAvailabilityType": "Single"
+ }
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/2007vttp/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_Create.json
new file mode 100644
index 000000000000..1b1aa74a1ff0
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_Create.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1",
+ "input": {
+ "properties": {
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "groups": [
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_Delete.json
new file mode 100644
index 000000000000..ff1dd0262c05
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_Delete.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ },
+ "204": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_FailoverCancel.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_FailoverCancel.json
new file mode 100644
index 000000000000..96a59d3119a9
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_FailoverCancel.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "recoveryFabricFriendlyName": "cloud1",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "InMageRcmFailback"
+ ],
+ "allowedOperations": [
+ "PlannedFailover"
+ ],
+ "lastPlannedFailoverTime": "2021-02-24T07:33:49.1372448Z",
+ "lastTestFailoverTime": "1601-01-01T00:00:00.0000000Z",
+ "currentScenario": {
+ "scenarioName": "CancelFailover",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/5276a7bc-12a3-43a1-bc53-9bf80e0be87b",
+ "startTime": "2021-02-24T08:52:42.1587592Z"
+ },
+ "currentScenarioStatus": "Succeeded",
+ "currentScenarioStatusDescription": "Completed",
+ "groups": []
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_FailoverCommit.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_FailoverCommit.json
new file mode 100644
index 000000000000..9017a0301bdb
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_FailoverCommit.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "lastPlannedFailoverTime": "2017-04-27T07:33:49.1372448Z",
+ "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z",
+ "currentScenario": {
+ "scenarioName": "CommitFailover",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/5276a7bc-12a3-43a1-bc53-9bf80e0be87b",
+ "startTime": "2017-04-27T08:52:42.1587592Z"
+ },
+ "currentScenarioStatus": "Succeeded",
+ "currentScenarioStatusDescription": "Completed",
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_Get.json
new file mode 100644
index 000000000000..98f2426dc455
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_Get.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_List.json
new file mode 100644
index 000000000000..ede65c48904b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_List.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "groups": []
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_PlannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_PlannedFailover.json
new file mode 100644
index 000000000000..b1a68c894ef9
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_PlannedFailover.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1",
+ "input": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "providerSpecificDetails": [
+ {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover",
+ "Commit"
+ ],
+ "lastPlannedFailoverTime": "2017-04-27T07:33:49.1372448Z",
+ "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z",
+ "currentScenario": {
+ "scenarioName": "PlannedFailover",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/d4821a53-90da-4fcb-bc11-a280d13e3350",
+ "startTime": "2017-04-27T07:34:02.6176524Z"
+ },
+ "currentScenarioStatus": "Succeeded",
+ "currentScenarioStatusDescription": "Completed",
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_Reprotect.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_Reprotect.json
new file mode 100644
index 000000000000..a837035201c8
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_Reprotect.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "lastPlannedFailoverTime": "2017-04-27T08:58:35.9062813Z",
+ "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z",
+ "currentScenario": {
+ "scenarioName": "ReverseReplication",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/edf01dfb-b649-4802-91e4-3d55ce3bebf0",
+ "startTime": "2017-04-27T09:52:16.9818841Z"
+ },
+ "currentScenarioStatus": "Succeeded",
+ "currentScenarioStatusDescription": "Completed",
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_TestFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_TestFailover.json
new file mode 100644
index 000000000000..1b5d6bee0914
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_TestFailover.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1",
+ "input": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "networkType": "VmNetworkAsInput",
+ "networkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
+ "providerSpecificDetails": [
+ {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "TestFailoverCleanup"
+ ],
+ "currentScenario": {
+ "scenarioName": "TestFailover",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/d40bfb40-aaaa-4c0d-87d3-41b15439a84b",
+ "startTime": "2017-04-27T07:00:58.8191916Z"
+ },
+ "currentScenarioStatus": "Suspended",
+ "currentScenarioStatusDescription": "WaitingForStopTestFailover",
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json
new file mode 100644
index 000000000000..551710af70c4
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1",
+ "input": {
+ "properties": {
+ "comments": "Test Failover Cleanup"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "lastPlannedFailoverTime": "2017-04-27T07:33:49.1372448Z",
+ "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z",
+ "currentScenario": {
+ "scenarioName": "TestFailoverCleanup",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/4ae8eaa8-a384-42cb-9768-152cb5b8a1ff",
+ "startTime": "2017-04-27T07:10:52.8424747Z"
+ },
+ "currentScenarioStatus": "Succeeded",
+ "currentScenarioStatusDescription": "Completed",
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_UnplannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_UnplannedFailover.json
new file mode 100644
index 000000000000..a5758f051666
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_UnplannedFailover.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1",
+ "input": {
+ "properties": {
+ "failoverDirection": "PrimaryToRecovery",
+ "sourceSiteOperations": "Required",
+ "providerSpecificDetails": [
+ {
+ "instanceType": "HyperVReplicaAzure"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover",
+ "Commit"
+ ],
+ "lastPlannedFailoverTime": "2017-04-27T08:58:35.9062813Z",
+ "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z",
+ "currentScenario": {
+ "scenarioName": "UnplannedFailover",
+ "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/60b84068-9adb-4867-a49d-88be40bff14b",
+ "startTime": "2017-04-27T10:03:03.2206946Z"
+ },
+ "currentScenarioStatus": "Succeeded",
+ "currentScenarioStatusDescription": "Completed",
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_Update.json
new file mode 100644
index 000000000000..b35fadf0eb45
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryPlans_Update.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "recoveryPlanName": "RPtest1",
+ "input": {
+ "properties": {
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
+ "name": "RPtest1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
+ "properties": {
+ "friendlyName": "RPtest1",
+ "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
+ "primaryFabricFriendlyName": "cloud1",
+ "recoveryFabricId": "Microsoft Azure",
+ "recoveryFabricFriendlyName": "Microsoft Azure",
+ "failoverDeploymentModel": "ResourceManager",
+ "replicationProviders": [
+ "HyperVReplicaAzure"
+ ],
+ "allowedOperations": [
+ "PlannedFailover",
+ "UnplannedFailover",
+ "TestFailover"
+ ],
+ "groups": [
+ {
+ "groupType": "Shutdown",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Failover",
+ "replicationProtectedItems": [],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
+ "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ },
+ {
+ "groupType": "Boot",
+ "replicationProtectedItems": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
+ }
+ ],
+ "startGroupActions": [],
+ "endGroupActions": []
+ }
+ ]
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_Create.json
new file mode 100644
index 000000000000..df50c4a3e3b1
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_Create.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "providerName": "vmwareprovider1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "addProviderInput": {
+ "properties": {
+ "machineName": "vmwareprovider1",
+ "authenticationIdentityInput": {
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "applicationId": "f66fce08-c0c6-47a1-beeb-0ede5ea94f90",
+ "objectId": "141360b8-5686-4240-a027-5e24e6affeba",
+ "audience": "https://microsoft.onmicrosoft.com/cf19e349-644c-4c6a-bcae-9c8f35357874",
+ "aadAuthority": "https://login.microsoftonline.com"
+ },
+ "resourceAccessIdentityInput": {
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "applicationId": "f66fce08-c0c6-47a1-beeb-0ede5ea94f90",
+ "objectId": "141360b8-5686-4240-a027-5e24e6affeba",
+ "audience": "https://microsoft.onmicrosoft.com/cf19e349-644c-4c6a-bcae-9c8f35357874",
+ "aadAuthority": "https://login.microsoftonline.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationRecoveryServicesProviders/vmwareprovider1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders",
+ "name": "vmwareprovider1",
+ "properties": {
+ "fabricType": "VMwareV2",
+ "friendlyName": "vmwareprovider1",
+ "providerVersion": "5.1.3688.0",
+ "serverVersion": "3.2.7510.0",
+ "providerVersionState": "Latest",
+ "fabricFriendlyName": "vmwarefabric1",
+ "lastHeartBeat": "2017-04-27T09:16:04.9405768Z",
+ "connectionStatus": "Connected",
+ "protectedItemCount": 2,
+ "allowedScenarios": [
+ "Refresh"
+ ]
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_Delete.json
new file mode 100644
index 000000000000..377c5231c5fc
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_Delete.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ },
+ "204": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_Get.json
new file mode 100644
index 000000000000..5afbfc013928
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_Get.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders",
+ "name": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "properties": {
+ "fabricType": "HyperVSite",
+ "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com",
+ "providerVersion": "5.1.2250.0",
+ "serverVersion": "3.2.7510.0",
+ "providerVersionState": "Latest",
+ "fabricFriendlyName": "cloud1",
+ "lastHeartBeat": "2017-04-27T09:16:04.9405768Z",
+ "connectionStatus": "Connected",
+ "protectedItemCount": 2,
+ "allowedScenarios": [
+ "Refresh"
+ ]
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_List.json
new file mode 100644
index 000000000000..9bf2402dc40a
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_List.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders",
+ "name": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "properties": {
+ "fabricType": "HyperVSite",
+ "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com",
+ "providerVersion": "5.1.2250.0",
+ "serverVersion": "3.2.7510.0",
+ "providerVersionState": "Latest",
+ "fabricFriendlyName": "cloud1",
+ "lastHeartBeat": "2017-04-27T09:06:38.2728455Z",
+ "connectionStatus": "Connected",
+ "protectedItemCount": 2,
+ "allowedScenarios": [
+ "Refresh"
+ ]
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..a64395e7eb13
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders",
+ "name": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "properties": {
+ "fabricType": "HyperVSite",
+ "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com",
+ "providerVersion": "5.1.2250.0",
+ "serverVersion": "3.2.7510.0",
+ "providerVersionState": "Latest",
+ "fabricFriendlyName": "cloud1",
+ "lastHeartBeat": "2017-04-27T09:06:38.2728455Z",
+ "connectionStatus": "Connected",
+ "protectedItemCount": 2,
+ "allowedScenarios": [
+ "Refresh"
+ ]
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_Purge.json
new file mode 100644
index 000000000000..377c5231c5fc
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_Purge.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ },
+ "204": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json
new file mode 100644
index 000000000000..6c8d5d7e4412
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "fabricName": "cloud1",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders",
+ "name": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "properties": {
+ "fabricType": "HyperVSite",
+ "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com",
+ "providerVersion": "5.1.2250.0",
+ "serverVersion": "3.2.7510.0",
+ "providerVersionState": "Latest",
+ "fabricFriendlyName": "cloud1",
+ "lastHeartBeat": "2017-04-27T09:48:36.6528303Z",
+ "connectionStatus": "Connected",
+ "protectedItemCount": 2,
+ "allowedScenarios": [
+ "Refresh"
+ ]
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassificationMappings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassificationMappings_Create.json
new file mode 100644
index 000000000000..0d354f0d6d49
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassificationMappings_Create.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "storageClassificationMappingName": "testStorageMapping",
+ "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071",
+ "pairingInput": {
+ "properties": {
+ "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings",
+ "name": "testStorageMapping",
+ "properties": {
+ "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassificationMappings_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassificationMappings_Delete.json
new file mode 100644
index 000000000000..7bc84fb94e73
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassificationMappings_Delete.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "storageClassificationMappingName": "testStorageMapping",
+ "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ },
+ "204": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassificationMappings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassificationMappings_Get.json
new file mode 100644
index 000000000000..84df6c947b03
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassificationMappings_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "storageClassificationMappingName": "testStorageMapping",
+ "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings",
+ "name": "testStorageMapping",
+ "properties": {
+ "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassificationMappings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassificationMappings_List.json
new file mode 100644
index 000000000000..6a89c73358a0
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassificationMappings_List.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings",
+ "name": "testStorageMapping",
+ "properties": {
+ "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json
new file mode 100644
index 000000000000..37fbc978787e
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings",
+ "name": "testStorageMapping",
+ "properties": {
+ "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassifications_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassifications_Get.json
new file mode 100644
index 000000000000..3349c37996bc
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassifications_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications",
+ "name": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "properties": {
+ "friendlyName": "testStorageClassification"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassifications_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassifications_List.json
new file mode 100644
index 000000000000..ed05da68a7e6
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassifications_List.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications",
+ "name": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "properties": {
+ "friendlyName": "testStorageClassification"
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..9cc6fb819b54
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications",
+ "name": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "properties": {
+ "friendlyName": "testStorageClassification"
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationVaultHealth_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationVaultHealth_Get.json
new file mode 100644
index 000000000000..e45a6e74c70f
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationVaultHealth_Get.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Default",
+ "type": "Microsoft.RecoveryServices/vaults/replicationVaultHealth",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationVaultHealth/Default",
+ "properties": {
+ "vaultErrors": [],
+ "protectedItemsHealth": {
+ "resourceCount": 6,
+ "issues": [
+ {
+ "summaryCode": "10008",
+ "category": "Replication",
+ "severity": "Error",
+ "summaryMessage": "RPO Throttled",
+ "affectedResourceType": "replicationProtectedItems",
+ "affectedResourceSubtype": "",
+ "affectedResourceCorrelationIds": [
+ "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "c183865e-6077-46f2-a3b1-ceb0a4c3751e"
+ ]
+ }
+ ]
+ },
+ "fabricsHealth": {
+ "resourceCount": 1,
+ "issues": []
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationVaultHealth_Refresh.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationVaultHealth_Refresh.json
new file mode 100644
index 000000000000..912e8f3008f3
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationVaultHealth_Refresh.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Default",
+ "type": "Microsoft.RecoveryServices/vaults/replicationVaultHealth",
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationVaultHealth/Default",
+ "properties": {
+ "vaultErrors": [],
+ "protectedItemsHealth": {
+ "resourceCount": 2,
+ "issues": []
+ },
+ "fabricsHealth": {
+ "resourceCount": 1,
+ "issues": []
+ }
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationVaultSetting_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationVaultSetting_Create.json
new file mode 100644
index 000000000000..11074e3ca831
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationVaultSetting_Create.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "vaultSettingName": "default",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "input": {
+ "properties": {
+ "migrationSolutionId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.Migrate/MigrateProjects/resourceGroupPS1-MigrateProject/Solutions/Servers-Migration-ServerMigration"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationVaultSettings/default",
+ "name": "default",
+ "type": "Microsoft.RecoveryServices/vaults/replicationVaultSettings",
+ "properties": {
+ "migrationSolutionId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.Migrate/MigrateProjects/resourceGroupPS1-MigrateProject/Solutions/Servers-Migration-ServerMigration"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationVaultSetting_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationVaultSetting_Get.json
new file mode 100644
index 000000000000..cec7ce707240
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationVaultSetting_Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "vaultSettingName": "default",
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationVaultSettings/default",
+ "name": "default",
+ "type": "Microsoft.RecoveryServices/vaults/replicationVaultSettings",
+ "properties": {
+ "migrationSolutionId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.Migrate/MigrateProjects/resourceGroupPS1-MigrateProject/Solutions/Servers-Migration-ServerMigration"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationVaultSetting_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationVaultSetting_List.json
new file mode 100644
index 000000000000..0bb7c820caec
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationVaultSetting_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationVaultSettings/default",
+ "name": "default",
+ "type": "Microsoft.RecoveryServices/vaults/replicationVaultSettings",
+ "properties": {
+ "migrationSolutionId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.Migrate/MigrateProjects/resourceGroupPS1-MigrateProject/Solutions/Servers-Migration-ServerMigration"
+ }
+ }
+ ],
+ "nextLink": null
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_Create.json
new file mode 100644
index 000000000000..38e9d2ef8086
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_Create.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "vcenterName": "esx-78",
+ "fabricName": "MadhaviFabric",
+ "api-version": "2024-04-01",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
+ "addVCenterRequest": {
+ "properties": {
+ "friendlyName": "esx-78",
+ "ipAddress": "inmtest78",
+ "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
+ "port": "443",
+ "runAsAccountId": "2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "esx-78",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters",
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78",
+ "properties": {
+ "friendlyName": "esx-78",
+ "internalId": "inmtest78",
+ "discoveryStatus": "Pending",
+ "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
+ "ipAddress": "inmtest78",
+ "port": "443",
+ "runAsAccountId": "2",
+ "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_Delete.json
new file mode 100644
index 000000000000..4d66d8c022eb
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_Delete.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "vcenterName": "esx-78",
+ "fabricName": "MadhaviFabric",
+ "api-version": "2024-04-01",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ },
+ "204": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_Get.json
new file mode 100644
index 000000000000..0821ecfc9c48
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_Get.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "vcenterName": "esx-78",
+ "fabricName": "MadhaviFabric",
+ "api-version": "2024-04-01",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "esx-78",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters",
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78",
+ "properties": {
+ "friendlyName": "esx-78",
+ "internalId": "inmtest78",
+ "discoveryStatus": "Pending",
+ "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
+ "ipAddress": "inmtest78",
+ "port": "443",
+ "runAsAccountId": "2",
+ "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_List.json
new file mode 100644
index 000000000000..a3c4a781187e
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_List.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "esx-78",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters",
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78",
+ "properties": {
+ "friendlyName": "esx-78",
+ "internalId": "inmtest78",
+ "discoveryStatus": "Pending",
+ "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
+ "ipAddress": "inmtest78",
+ "port": "443",
+ "runAsAccountId": "2",
+ "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d"
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..195489f486be
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_ListByReplicationFabrics.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "fabricName": "MadhaviFabric",
+ "api-version": "2024-04-01",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "esx-78",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters",
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78",
+ "properties": {
+ "friendlyName": "esx-78",
+ "internalId": "inmtest78",
+ "discoveryStatus": "Pending",
+ "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
+ "ipAddress": "inmtest78",
+ "port": "443",
+ "runAsAccountId": "2",
+ "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d"
+ }
+ }
+ ]
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_Update.json
new file mode 100644
index 000000000000..7df5a36cac77
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/ReplicationvCenters_Update.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "vcenterName": "esx-78",
+ "fabricName": "MadhaviFabric",
+ "api-version": "2024-04-01",
+ "resourceName": "MadhaviVault",
+ "resourceGroupName": "MadhaviVRG",
+ "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
+ "updateVCenterRequest": {
+ "properties": {
+ "ipAddress": "10.150.109.25"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "esx-78",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters",
+ "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78",
+ "properties": {
+ "friendlyName": "esx-78",
+ "internalId": "inmtest78",
+ "discoveryStatus": "Pending",
+ "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
+ "ipAddress": "10.150.109.25",
+ "port": "443",
+ "runAsAccountId": "2",
+ "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d"
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ },
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01",
+ "Retry-After": 30
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/SupportedOperatingSystems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/SupportedOperatingSystems_Get.json
new file mode 100644
index 000000000000..6b35fc5ef1d6
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/SupportedOperatingSystems_Get.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "resourceName": "vault1",
+ "resourceGroupName": "resourceGroupPS1",
+ "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "Default",
+ "type": "Microsoft.RecoveryServices/vaults/replicationSupportedOperatingSystems",
+ "id": "/Subscriptions/bc403605-c2b0-43dd-abe9-0162124b1ee1/resourceGroups/oneBoxRG/providers/Microsoft.RecoveryServices/vaults/oneBoxRSVault/replicationSupportedOperatingSystems/Default",
+ "properties": {
+ "supportedOsList": [
+ {
+ "instanceType": "A2A",
+ "supportedOs": [
+ {
+ "osName": "centos",
+ "osType": "linux",
+ "osVersions": [
+ {
+ "version": "6.0"
+ }
+ ]
+ },
+ {
+ "osName": "Windows Server 2008 R2 Datacenter",
+ "osType": "windows",
+ "osVersions": [
+ {
+ "version": "6.1",
+ "servicePack": "1"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/TargetComputeSizes_ListByReplicationProtectedItems.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/TargetComputeSizes_ListByReplicationProtectedItems.json
new file mode 100644
index 000000000000..74adb13a9a49
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/examples/TargetComputeSizes_ListByReplicationProtectedItems.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2024-04-01",
+ "replicatedProtectedItemName": "468c912d-b1ab-4ea2-97eb-4b5095155db2",
+ "protectionContainerName": "asr-a2a-default-centraluseuap-container",
+ "fabricName": "asr-a2a-default-centraluseuap",
+ "resourceName": "avraiMgDiskVault",
+ "resourceGroupName": "avraiMgDiskVaultRG",
+ "subscriptionId": "6808dbbc-98c7-431f-a1b1-9580902423b7"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/6808dbbc-98c7-431f-a1b1-9580902423b7/resourceGroups/avraiMgDiskVaultRG/providers/Microsoft.RecoveryServices/vaults/avraiMgDiskVault/replicationFabrics/asr-a2a-default-centraluseuap/replicationProtectionContainers/asr-a2a-default-centraluseuap-container/replicationProtectedItems/468c912d-b1ab-4ea2-97eb-4b5095155db2/targetComputeSizes/Basic_A0",
+ "name": "Basic_A0",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/targetComputeSizes",
+ "properties": {
+ "name": "Basic_A0",
+ "friendlyName": "Basic_A0",
+ "cpuCoresCount": 1,
+ "memoryInGB": 0.75,
+ "maxDataDiskCount": 1,
+ "maxNicsCount": 2,
+ "errors": null,
+ "highIopsSupported": "NotSupported"
+ }
+ },
+ {
+ "id": "/Subscriptions/6808dbbc-98c7-431f-a1b1-9580902423b7/resourceGroups/avraiMgDiskVaultRG/providers/Microsoft.RecoveryServices/vaults/avraiMgDiskVault/replicationFabrics/asr-a2a-default-centraluseuap/replicationProtectionContainers/asr-a2a-default-centraluseuap-container/replicationProtectedItems/468c912d-b1ab-4ea2-97eb-4b5095155db2/targetComputeSizes/Standard_A0",
+ "name": "Standard_A0",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/targetComputeSizes",
+ "properties": {
+ "name": "Standard_A0",
+ "friendlyName": "Standard_A0",
+ "cpuCoresCount": 1,
+ "vCPUsAvailable": 1,
+ "memoryInGB": 0.75,
+ "maxDataDiskCount": 1,
+ "maxNicsCount": 2,
+ "errors": null,
+ "highIopsSupported": "NotSupported",
+ "hyperVGenerations": [
+ "V1"
+ ]
+ }
+ }
+ ],
+ "nextLink": null
+ },
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/6808dbbc-98c7-431f-a1b1-9580902423b7/resourceGroups/avraiMgDiskVaultRG/providers/Microsoft.RecoveryServices/vaults/avraiMgDiskVault/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2024-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/service.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/service.json
new file mode 100644
index 000000000000..2a78047148f0
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/service.json
@@ -0,0 +1,28093 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2024-04-01",
+ "title": "SiteRecoveryManagementClient",
+ "x-ms-code-generation-settings": {
+ "header": "MICROSOFT_MIT_NO_VERSION"
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "Returns the list of available operations.",
+ "description": "Operation to return the list of available operations.",
+ "operationId": "Operations_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationsDiscoveryCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Returns the list of available operations.": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings": {
+ "get": {
+ "tags": [
+ "ReplicationAlertSettings"
+ ],
+ "summary": "Gets the list of configured email notification(alert) configurations.",
+ "description": "Gets the list of email notification(alert) configurations for the vault.",
+ "operationId": "ReplicationAlertSettings_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AlertCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of configured email notification(alert) configurations.": {
+ "$ref": "./examples/ReplicationAlertSettings_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}": {
+ "get": {
+ "tags": [
+ "ReplicationAlertSettings"
+ ],
+ "summary": "Gets an email notification(alert) configuration.",
+ "description": "Gets the details of the specified email notification(alert) configuration.",
+ "operationId": "ReplicationAlertSettings_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "alertSettingName",
+ "in": "path",
+ "description": "The name of the email notification configuration.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets an email notification(alert) configuration.": {
+ "$ref": "./examples/ReplicationAlertSettings_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationAlertSettings"
+ ],
+ "summary": "Configures email notifications for this vault.",
+ "description": "Create or update an email notification(alert) configuration.",
+ "operationId": "ReplicationAlertSettings_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "alertSettingName",
+ "in": "path",
+ "description": "The name of the email notification(alert) configuration.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "request",
+ "in": "body",
+ "description": "The input to configure the email notification(alert).",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigureAlertRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Configures email notifications for this vault.": {
+ "$ref": "./examples/ReplicationAlertSettings_Create.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAppliances": {
+ "get": {
+ "tags": [
+ "ReplicationAppliances"
+ ],
+ "summary": "Gets the list of appliances.",
+ "description": "Gets the list of Azure Site Recovery appliances for the vault.",
+ "operationId": "ReplicationAppliances_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ApplianceCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ApplianceQueryParameter",
+ "x-ms-examples": {
+ "Gets the list of appliances.": {
+ "$ref": "./examples/ReplicationAppliances_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}/providers/Microsoft.RecoveryServices/replicationEligibilityResults": {
+ "get": {
+ "tags": [
+ "ReplicationEligibilityResults"
+ ],
+ "summary": "Gets the validation errors in case the VM is unsuitable for protection.",
+ "description": "Validates whether a given VM can be protected or not in which case returns list of errors.",
+ "operationId": "ReplicationEligibilityResults_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "virtualMachineName",
+ "in": "path",
+ "description": "Virtual Machine name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationEligibilityResultsCollection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the validation errors in case the VM is unsuitable for protection.": {
+ "$ref": "./examples/ReplicationEligibilityResults_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}/providers/Microsoft.RecoveryServices/replicationEligibilityResults/default": {
+ "get": {
+ "tags": [
+ "ReplicationEligibilityResults"
+ ],
+ "summary": "Gets the validation errors in case the VM is unsuitable for protection.",
+ "description": "Validates whether a given VM can be protected or not in which case returns list of errors.",
+ "operationId": "ReplicationEligibilityResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "virtualMachineName",
+ "in": "path",
+ "description": "Virtual Machine name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationEligibilityResults"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the validation errors in case the VM is unsuitable for protection.": {
+ "$ref": "./examples/ReplicationEligibilityResults_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents": {
+ "get": {
+ "tags": [
+ "ReplicationEvents"
+ ],
+ "summary": "Gets the list of Azure Site Recovery events.",
+ "description": "Gets the list of Azure Site Recovery events for the vault.",
+ "operationId": "ReplicationEvents_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/EventQueryParameter",
+ "x-ms-examples": {
+ "Gets the list of Azure Site Recovery events.": {
+ "$ref": "./examples/ReplicationEvents_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents/{eventName}": {
+ "get": {
+ "tags": [
+ "ReplicationEvents"
+ ],
+ "summary": "Get the details of an Azure Site recovery event.",
+ "description": "The operation to get the details of an Azure Site recovery event.",
+ "operationId": "ReplicationEvents_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "eventName",
+ "in": "path",
+ "description": "The name of the Azure Site Recovery event.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Event"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get the details of an Azure Site recovery event.": {
+ "$ref": "./examples/ReplicationEvents_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics": {
+ "get": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Gets the list of ASR fabrics.",
+ "description": "Gets a list of the Azure Site Recovery fabrics in the vault.",
+ "operationId": "ReplicationFabrics_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FabricCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of ASR fabrics.": {
+ "$ref": "./examples/ReplicationFabrics_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}": {
+ "get": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Gets the details of an ASR fabric.",
+ "description": "Gets the details of an Azure Site Recovery fabric.",
+ "operationId": "ReplicationFabrics_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Fabric"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/FabricQueryParameter",
+ "x-ms-examples": {
+ "Gets the details of an ASR fabric.": {
+ "$ref": "./examples/ReplicationFabrics_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Creates an Azure Site Recovery fabric.",
+ "description": "The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site).",
+ "operationId": "ReplicationFabrics_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Name of the ASR fabric.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Fabric creation input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FabricCreationInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Fabric"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Creates an Azure Site Recovery fabric.": {
+ "$ref": "./examples/ReplicationFabrics_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Purges the site.",
+ "description": "The operation to purge(force delete) an Azure Site Recovery fabric.",
+ "operationId": "ReplicationFabrics_Purge",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "ASR fabric to purge.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Purges the site.": {
+ "$ref": "./examples/ReplicationFabrics_Purge.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency": {
+ "post": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Checks the consistency of the ASR fabric.",
+ "description": "The operation to perform a consistency check on the fabric.",
+ "operationId": "ReplicationFabrics_CheckConsistency",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Fabric"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Checks the consistency of the ASR fabric.": {
+ "$ref": "./examples/ReplicationFabrics_CheckConsistency.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/migratetoaad": {
+ "post": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Migrates the site to AAD.",
+ "description": "The operation to migrate an Azure Site Recovery fabric to AAD.",
+ "operationId": "ReplicationFabrics_MigrateToAad",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "ASR fabric to migrate.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Migrates the site to AAD.": {
+ "$ref": "./examples/ReplicationFabrics_MigrateToAad.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway": {
+ "post": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Perform failover of the process server.",
+ "description": "The operation to move replications from a process server to another process server.",
+ "operationId": "ReplicationFabrics_ReassociateGateway",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The name of the fabric containing the process server.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "failoverProcessServerRequest",
+ "in": "body",
+ "description": "The input to the failover process server operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FailoverProcessServerRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Fabric"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Perform failover of the process server.": {
+ "$ref": "./examples/ReplicationFabrics_ReassociateGateway.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove": {
+ "post": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Deletes the site.",
+ "description": "The operation to delete or remove an Azure Site Recovery fabric.",
+ "operationId": "ReplicationFabrics_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "ASR fabric to delete.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Deletes the site.": {
+ "$ref": "./examples/ReplicationFabrics_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate": {
+ "post": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Renews certificate for the fabric.",
+ "description": "Renews the connection certificate for the ASR replication fabric.",
+ "operationId": "ReplicationFabrics_RenewCertificate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "fabric name to renew certs for.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "renewCertificate",
+ "in": "body",
+ "description": "Renew certificate input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RenewCertificateInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Fabric"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Renews certificate for the fabric.": {
+ "$ref": "./examples/ReplicationFabrics_RenewCertificate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/removeInfra": {
+ "post": {
+ "tags": [
+ "ReplicationFabrics"
+ ],
+ "summary": "Removes the appliance's infrastructure under the fabric.",
+ "operationId": "ReplicationFabrics_RemoveInfra",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Resource name.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Removes the appliance's infrastructure under the fabric.": {
+ "$ref": "./examples/ReplicationInfrastructure_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks": {
+ "get": {
+ "tags": [
+ "ReplicationLogicalNetworks"
+ ],
+ "summary": "Gets the list of logical networks under a fabric.",
+ "description": "Lists all the logical networks of the Azure Site Recovery fabric.",
+ "operationId": "ReplicationLogicalNetworks_ListByReplicationFabrics",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Server Id.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogicalNetworkCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of logical networks under a fabric.": {
+ "$ref": "./examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}": {
+ "get": {
+ "tags": [
+ "ReplicationLogicalNetworks"
+ ],
+ "summary": "Gets a logical network with specified server id and logical network name.",
+ "description": "Gets the details of a logical network.",
+ "operationId": "ReplicationLogicalNetworks_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Server Id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "logicalNetworkName",
+ "in": "path",
+ "description": "Logical network name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogicalNetwork"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a logical network with specified server id and logical network name.": {
+ "$ref": "./examples/ReplicationLogicalNetworks_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks": {
+ "get": {
+ "tags": [
+ "ReplicationNetworks"
+ ],
+ "summary": "Gets the list of networks under a fabric.",
+ "description": "Lists the networks available for a fabric.",
+ "operationId": "ReplicationNetworks_ListByReplicationFabrics",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of networks under a fabric.": {
+ "$ref": "./examples/ReplicationNetworks_ListByReplicationFabrics.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}": {
+ "get": {
+ "tags": [
+ "ReplicationNetworks"
+ ],
+ "summary": "Gets a network with specified server id and network name.",
+ "description": "Gets the details of a network.",
+ "operationId": "ReplicationNetworks_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Server Id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkName",
+ "in": "path",
+ "description": "Primary network name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Network"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a network with specified server id and network name.": {
+ "$ref": "./examples/ReplicationNetworks_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings": {
+ "get": {
+ "tags": [
+ "ReplicationNetworkMappings"
+ ],
+ "summary": "Gets all the network mappings under a network.",
+ "description": "Lists all ASR network mappings for the specified network.",
+ "operationId": "ReplicationNetworkMappings_ListByReplicationNetworks",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Primary fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkName",
+ "in": "path",
+ "description": "Primary network name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkMappingCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all the network mappings under a network.": {
+ "$ref": "./examples/ReplicationNetworkMappings_ListByReplicationNetworks.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}": {
+ "get": {
+ "tags": [
+ "ReplicationNetworkMappings"
+ ],
+ "summary": "Gets network mapping by name.",
+ "description": "Gets the details of an ASR network mapping.",
+ "operationId": "ReplicationNetworkMappings_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Primary fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkName",
+ "in": "path",
+ "description": "Primary network name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkMappingName",
+ "in": "path",
+ "description": "Network mapping name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkMapping"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets network mapping by name.": {
+ "$ref": "./examples/ReplicationNetworkMappings_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationNetworkMappings"
+ ],
+ "summary": "Creates network mapping.",
+ "description": "The operation to create an ASR network mapping.",
+ "operationId": "ReplicationNetworkMappings_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Primary fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkName",
+ "in": "path",
+ "description": "Primary network name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkMappingName",
+ "in": "path",
+ "description": "Network mapping name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Create network mapping input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateNetworkMappingInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkMapping"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Creates network mapping.": {
+ "$ref": "./examples/ReplicationNetworkMappings_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationNetworkMappings"
+ ],
+ "summary": "Delete network mapping.",
+ "description": "The operation to delete a network mapping.",
+ "operationId": "ReplicationNetworkMappings_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Primary fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkName",
+ "in": "path",
+ "description": "Primary network name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkMappingName",
+ "in": "path",
+ "description": "ARM Resource Name for network mapping.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete network mapping.": {
+ "$ref": "./examples/ReplicationNetworkMappings_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationNetworkMappings"
+ ],
+ "summary": "Updates network mapping.",
+ "description": "The operation to update an ASR network mapping.",
+ "operationId": "ReplicationNetworkMappings_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Primary fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkName",
+ "in": "path",
+ "description": "Primary network name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "networkMappingName",
+ "in": "path",
+ "description": "Network mapping name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Update network mapping input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateNetworkMappingInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkMapping"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates network mapping.": {
+ "$ref": "./examples/ReplicationNetworkMappings_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Gets the list of protection container for a fabric.",
+ "description": "Lists the protection containers in the specified fabric.",
+ "operationId": "ReplicationProtectionContainers_ListByReplicationFabrics",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of protection container for a fabric.": {
+ "$ref": "./examples/ReplicationProtectionContainers_ListByReplicationFabrics.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Gets the protection container details.",
+ "description": "Gets the details of a protection container.",
+ "operationId": "ReplicationProtectionContainers_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the protection container details.": {
+ "$ref": "./examples/ReplicationProtectionContainers_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Create a protection container.",
+ "description": "Operation to create a protection container.",
+ "operationId": "ReplicationProtectionContainers_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric ARM name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Unique protection container ARM name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "creationInput",
+ "in": "body",
+ "description": "Creation input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateProtectionContainerInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create a protection container.": {
+ "$ref": "./examples/ReplicationProtectionContainers_Create.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem": {
+ "post": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Adds a protectable item to the replication protection container.",
+ "description": "The operation to a add a protectable item to a protection container(Add physical server).",
+ "operationId": "ReplicationProtectionContainers_DiscoverProtectableItem",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The name of the fabric.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "The name of the protection container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "discoverProtectableItemRequest",
+ "in": "body",
+ "description": "The request object to add a protectable item.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiscoverProtectableItemRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Adds a protectable item to the replication protection container.": {
+ "$ref": "./examples/ReplicationProtectionContainers_DiscoverProtectableItem.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove": {
+ "post": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Removes a protection container.",
+ "description": "Operation to remove a protection container.",
+ "operationId": "ReplicationProtectionContainers_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric ARM name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Unique protection container ARM name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Removes a protection container.": {
+ "$ref": "./examples/ReplicationProtectionContainers_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems": {
+ "get": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Gets the list of migration items in the protection container.",
+ "description": "Gets the list of ASR migration items in the protection container.",
+ "operationId": "ReplicationMigrationItems_ListByReplicationProtectionContainers",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "skipToken",
+ "in": "query",
+ "description": "The pagination token.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "takeToken",
+ "in": "query",
+ "description": "The page size.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItemCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/MigrationItemsQueryParameter",
+ "x-ms-examples": {
+ "Gets the list of migration items in the protection container.": {
+ "$ref": "./examples/ReplicationMigrationItems_ListByReplicationProtectionContainers.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}": {
+ "get": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Gets the details of a migration item.",
+ "operationId": "ReplicationMigrationItems_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric unique name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a migration item.": {
+ "$ref": "./examples/ReplicationMigrationItems_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Enables migration.",
+ "description": "The operation to create an ASR migration item (enable migration).",
+ "operationId": "ReplicationMigrationItems_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Enable migration input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EnableMigrationInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Enables migration.": {
+ "$ref": "./examples/ReplicationMigrationItems_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Delete the migration item.",
+ "description": "The operation to delete an ASR migration item.",
+ "operationId": "ReplicationMigrationItems_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "deleteOption",
+ "in": "query",
+ "description": "The delete option.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete the migration item.": {
+ "$ref": "./examples/ReplicationMigrationItems_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Updates migration item.",
+ "description": "The operation to update the recovery settings of an ASR migration item.",
+ "operationId": "ReplicationMigrationItems_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Update migration item input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateMigrationItemInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates migration item.": {
+ "$ref": "./examples/ReplicationMigrationItems_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrate": {
+ "post": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Migrate item.",
+ "description": "The operation to initiate migration of the item.",
+ "operationId": "ReplicationMigrationItems_Migrate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrateInput",
+ "in": "body",
+ "description": "Migrate input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MigrateInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Migrate item.": {
+ "$ref": "./examples/ReplicationMigrationItems_Migrate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrationRecoveryPoints": {
+ "get": {
+ "tags": [
+ "MigrationRecoveryPoints"
+ ],
+ "summary": "Gets the recovery points for a migration item.",
+ "operationId": "MigrationRecoveryPoints_ListByReplicationMigrationItems",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric unique name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationRecoveryPointCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the recovery points for a migration item.": {
+ "$ref": "./examples/MigrationRecoveryPoints_ListByReplicationMigrationItems.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrationRecoveryPoints/{migrationRecoveryPointName}": {
+ "get": {
+ "tags": [
+ "MigrationRecoveryPoints"
+ ],
+ "summary": "Gets a recovery point for a migration item.",
+ "operationId": "MigrationRecoveryPoints_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric unique name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationRecoveryPointName",
+ "in": "path",
+ "description": "The migration recovery point name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationRecoveryPoint"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a recovery point for a migration item.": {
+ "$ref": "./examples/MigrationRecoveryPoints_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/pauseReplication": {
+ "post": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Pause replication.",
+ "description": "The operation to initiate pause replication of the item.",
+ "operationId": "ReplicationMigrationItems_PauseReplication",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "pauseReplicationInput",
+ "in": "body",
+ "description": "Pause replication input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PauseReplicationInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Pause replication.": {
+ "$ref": "./examples/ReplicationMigrationItems_PauseReplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/resumeReplication": {
+ "post": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Resume replication.",
+ "description": "The operation to initiate resume replication of the item.",
+ "operationId": "ReplicationMigrationItems_ResumeReplication",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resumeReplicationInput",
+ "in": "body",
+ "description": "Resume replication input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResumeReplicationInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Resume replication.": {
+ "$ref": "./examples/ReplicationMigrationItems_ResumeReplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/resync": {
+ "post": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Resynchronizes replication.",
+ "description": "The operation to resynchronize replication of an ASR migration item.",
+ "operationId": "ReplicationMigrationItems_Resync",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Resync input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResyncInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Resynchronizes replication.": {
+ "$ref": "./examples/ReplicationMigrationItems_Resync.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/testMigrate": {
+ "post": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Test migrate item.",
+ "description": "The operation to initiate test migration of the item.",
+ "operationId": "ReplicationMigrationItems_TestMigrate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "testMigrateInput",
+ "in": "body",
+ "description": "Test migrate input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestMigrateInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Test migrate item.": {
+ "$ref": "./examples/ReplicationMigrationItems_TestMigrate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/testMigrateCleanup": {
+ "post": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Test migrate cleanup.",
+ "description": "The operation to initiate test migrate cleanup.",
+ "operationId": "ReplicationMigrationItems_TestMigrateCleanup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "testMigrateCleanupInput",
+ "in": "body",
+ "description": "Test migrate cleanup input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestMigrateCleanupInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Test migrate cleanup.": {
+ "$ref": "./examples/ReplicationMigrationItems_TestMigrateCleanup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems": {
+ "get": {
+ "tags": [
+ "ReplicationProtectableItems"
+ ],
+ "summary": "Gets the list of protectable items.",
+ "description": "Lists the protectable items in a protection container.",
+ "operationId": "ReplicationProtectableItems_ListByReplicationProtectionContainers",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$take",
+ "in": "query",
+ "description": "take OData query parameter.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken OData query parameter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectableItemCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ProtectableItemQueryParameter",
+ "x-ms-examples": {
+ "Gets the list of protectable items.": {
+ "$ref": "./examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}": {
+ "get": {
+ "tags": [
+ "ReplicationProtectableItems"
+ ],
+ "summary": "Gets the details of a protectable item.",
+ "description": "The operation to get the details of a protectable item.",
+ "operationId": "ReplicationProtectableItems_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectableItemName",
+ "in": "path",
+ "description": "Protectable item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectableItem"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a protectable item.": {
+ "$ref": "./examples/ReplicationProtectableItems_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems": {
+ "get": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Gets the list of Replication protected items.",
+ "description": "Gets the list of ASR replication protected items in the protection container.",
+ "operationId": "ReplicationProtectedItems_ListByReplicationProtectionContainers",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItemCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of Replication protected items.": {
+ "$ref": "./examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}": {
+ "get": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Gets the details of a Replication protected item.",
+ "description": "Gets the details of an ASR replication protected item.",
+ "operationId": "ReplicationProtectedItems_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric unique name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a Replication protected item.": {
+ "$ref": "./examples/ReplicationProtectedItems_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Enables protection.",
+ "description": "The operation to create an ASR replication protected item (Enable replication).",
+ "operationId": "ReplicationProtectedItems_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Name of the fabric.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "A name for the replication protected item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Enable Protection Input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EnableProtectionInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Enables protection.": {
+ "$ref": "./examples/ReplicationProtectedItems_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Purges protection.",
+ "description": "The operation to delete or purge a replication protected item. This operation will force delete the replication protected item. Use the remove operation on replication protected item to perform a clean disable replication for the item.",
+ "operationId": "ReplicationProtectedItems_Purge",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Purges protection.": {
+ "$ref": "./examples/ReplicationProtectedItems_Purge.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Updates the replication protected item settings.",
+ "description": "The operation to update the recovery settings of an ASR replication protected item.",
+ "operationId": "ReplicationProtectedItems_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "updateProtectionInput",
+ "in": "body",
+ "description": "Update protection input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateReplicationProtectedItemInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates the replication protected Item settings.": {
+ "$ref": "./examples/ReplicationProtectedItems_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/addDisks": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Add disk(s) for protection.",
+ "description": "Operation to add disks(s) to the replication protected item.",
+ "operationId": "ReplicationProtectedItems_AddDisks",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addDisksInput",
+ "in": "body",
+ "description": "Add disks input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AddDisksInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Add disk(s) for protection.": {
+ "$ref": "./examples/ReplicationProtectedItems_AddDisks.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Change or apply recovery point.",
+ "description": "The operation to change the recovery point of a failed over replication protected item.",
+ "operationId": "ReplicationProtectedItems_ApplyRecoveryPoint",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The ARM fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "The protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "The replicated protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "applyRecoveryPointInput",
+ "in": "body",
+ "description": "The ApplyRecoveryPointInput.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplyRecoveryPointInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Change or apply recovery point.": {
+ "$ref": "./examples/ReplicationProtectedItems_ApplyRecoveryPoint.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCancel": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute cancel failover.",
+ "description": "Operation to cancel the failover of the replication protected item.",
+ "operationId": "ReplicationProtectedItems_FailoverCancel",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute cancel failover.": {
+ "$ref": "./examples/ReplicationProtectedItems_FailoverCancel.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute commit failover.",
+ "description": "Operation to commit the failover of the replication protected item.",
+ "operationId": "ReplicationProtectedItems_FailoverCommit",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute commit failover.": {
+ "$ref": "./examples/ReplicationProtectedItems_FailoverCommit.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute planned failover.",
+ "description": "Operation to initiate a planned failover of the replication protected item.",
+ "operationId": "ReplicationProtectedItems_PlannedFailover",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "failoverInput",
+ "in": "body",
+ "description": "Planned failover input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PlannedFailoverInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute planned failover.": {
+ "$ref": "./examples/ReplicationProtectedItems_PlannedFailover.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints": {
+ "get": {
+ "tags": [
+ "RecoveryPoints"
+ ],
+ "summary": "Gets the list of recovery points for a replication protected item.",
+ "description": "Lists the available recovery points for a replication protected item.",
+ "operationId": "RecoveryPoints_ListByReplicationProtectedItems",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "The protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "The replication protected item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPointCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of recovery points for a replication protected item.": {
+ "$ref": "./examples/RecoveryPoints_ListByReplicationProtectedItems.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}": {
+ "get": {
+ "tags": [
+ "RecoveryPoints"
+ ],
+ "summary": "Gets a recovery point.",
+ "description": "Get the details of specified recovery point.",
+ "operationId": "RecoveryPoints_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "The protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "The replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointName",
+ "in": "path",
+ "description": "The recovery point name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a recovery point.": {
+ "$ref": "./examples/RecoveryPoints_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Disables protection.",
+ "description": "The operation to disable replication on a replication protected item. This will also remove the item.",
+ "operationId": "ReplicationProtectedItems_Delete",
+ "consumes": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "disableProtectionInput",
+ "in": "body",
+ "description": "Disable protection input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DisableProtectionInput"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Disables protection.": {
+ "$ref": "./examples/ReplicationProtectedItems_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/removeDisks": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Removes disk(s).",
+ "description": "Operation to remove disk(s) from the replication protected item.",
+ "operationId": "ReplicationProtectedItems_RemoveDisks",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "removeDisksInput",
+ "in": "body",
+ "description": "Remove disks input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RemoveDisksInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Removes disk(s).": {
+ "$ref": "./examples/ReplicationProtectedItems_RemoveDisks.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Resynchronize or repair replication.",
+ "description": "The operation to start resynchronize/repair replication for a replication protected item requiring resynchronization.",
+ "operationId": "ReplicationProtectedItems_RepairReplication",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The name of the fabric.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "The name of the container.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "The name of the replication protected item.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Resynchronize or repair replication.": {
+ "$ref": "./examples/ReplicationProtectedItems_RepairReplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute Reverse Replication\\Reprotect.",
+ "description": "Operation to reprotect or reverse replicate a failed over replication protected item.",
+ "operationId": "ReplicationProtectedItems_Reprotect",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "reprotectInput",
+ "in": "body",
+ "description": "Reverse replication input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReverseReplicationInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute Reverse Replication\\Reprotect.": {
+ "$ref": "./examples/ReplicationProtectedItems_Reprotect.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/resolveHealthErrors": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Resolve health errors.",
+ "description": "Operation to resolve health issues of the replication protected item.",
+ "operationId": "ReplicationProtectedItems_ResolveHealthErrors",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resolveHealthInput",
+ "in": "body",
+ "description": "Health issue input object.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResolveHealthInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Resolve health errors.": {
+ "$ref": "./examples/ReplicationProtectedItems_ResolveHealthErrors.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/switchProvider": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute switch provider.",
+ "description": "Operation to initiate a switch provider of the replication protected item.",
+ "operationId": "ReplicationProtectedItems_SwitchProvider",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "switchProviderInput",
+ "in": "body",
+ "description": "Switch provider input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SwitchProviderInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Execute switch provider.": {
+ "$ref": "./examples/ReplicationProtectedItems_SwitchProvider.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/targetComputeSizes": {
+ "get": {
+ "tags": [
+ "TargetComputeSizes"
+ ],
+ "summary": "Gets the list of target compute sizes for the replication protected item.",
+ "description": "Lists the available target compute sizes for a replication protected item.",
+ "operationId": "TargetComputeSizes_ListByReplicationProtectedItems",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TargetComputeSizeCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of target compute sizes for the replication protected item.": {
+ "$ref": "./examples/TargetComputeSizes_ListByReplicationProtectedItems.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute test failover.",
+ "description": "Operation to perform a test failover of the replication protected item.",
+ "operationId": "ReplicationProtectedItems_TestFailover",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "testfailoverInput",
+ "in": "body",
+ "description": "Test failover input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestFailoverInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute test failover.": {
+ "$ref": "./examples/ReplicationProtectedItems_TestFailover.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute test failover cleanup.",
+ "description": "Operation to clean up the test failover of a replication protected item.",
+ "operationId": "ReplicationProtectedItems_TestFailoverCleanup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "cleanupInput",
+ "in": "body",
+ "description": "Test failover cleanup input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestFailoverCleanupInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute test failover cleanup.": {
+ "$ref": "./examples/ReplicationProtectedItems_TestFailoverCleanup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Execute unplanned failover.",
+ "description": "Operation to initiate a failover of the replication protected item.",
+ "operationId": "ReplicationProtectedItems_UnplannedFailover",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "failoverInput",
+ "in": "body",
+ "description": "Failover input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UnplannedFailoverInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute unplanned failover.": {
+ "$ref": "./examples/ReplicationProtectedItems_UnplannedFailover.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/updateAppliance": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Updates appliance for replication protected Item.",
+ "description": "The operation to update appliance of an ASR replication protected item.",
+ "operationId": "ReplicationProtectedItems_UpdateAppliance",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "Replication protected item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "applianceUpdateInput",
+ "in": "body",
+ "description": "Appliance update protection input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateApplianceForReplicationProtectedItemInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates appliance for replication protected Item.": {
+ "$ref": "./examples/ReplicationProtectedItems_UpdateAppliance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/updateMobilityService": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Update the mobility service on a protected item.",
+ "description": "The operation to update(push update) the installed mobility service software on a replication protected item to the latest available version.",
+ "operationId": "ReplicationProtectedItems_UpdateMobilityService",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "The name of the fabric containing the protected item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "The name of the container containing the protected item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "replicatedProtectedItemName",
+ "in": "path",
+ "description": "The name of the protected item on which the agent is to be updated.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "updateMobilityServiceRequest",
+ "in": "body",
+ "description": "Request to update the mobility service on the protected item.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateMobilityServiceRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Update the mobility service on a protected item.": {
+ "$ref": "./examples/ReplicationProtectedItems_UpdateMobilityService.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionClusters"
+ ],
+ "summary": "Gets the list of Replication protection clusters in fabric, container.",
+ "description": "Gets the list of ASR replication protected clusters in the protection container.",
+ "operationId": "ReplicationProtectionClusters_ListByReplicationProtectionContainers",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/FabricName"
+ },
+ {
+ "$ref": "#/parameters/ProtectionContainerName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectionClusterCollection"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of Replication protection clusters in fabric, container.": {
+ "$ref": "./examples/ReplicationProtectionClusters_ListByReplicationProtectionContainers.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionClusters"
+ ],
+ "summary": "Gets the details of a Replication protection cluster.",
+ "description": "Gets the details of an ASR replication protection cluster.",
+ "operationId": "ReplicationProtectionClusters_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/FabricName"
+ },
+ {
+ "$ref": "#/parameters/ProtectionContainerName"
+ },
+ {
+ "$ref": "#/parameters/ReplicationProtectionClusterName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectionCluster"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a Replication protection cluster.": {
+ "$ref": "./examples/ReplicationProtectionClusters_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationProtectionClusters"
+ ],
+ "summary": "Create Replication protection Cluster.",
+ "description": "The operation to create an ASR replication protection cluster item.",
+ "operationId": "ReplicationProtectionClusters_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/FabricName"
+ },
+ {
+ "$ref": "#/parameters/ProtectionContainerName"
+ },
+ {
+ "$ref": "#/parameters/ReplicationProtectionClusterName"
+ },
+ {
+ "name": "replicationProtectionCluster",
+ "in": "body",
+ "description": "Create replication protection cluster Input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectionCluster"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectionCluster"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectionCluster"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create Replication protection Cluster.": {
+ "$ref": "./examples/ReplicationProtectionClusters_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationProtectionClusters"
+ ],
+ "summary": "Purge the replication protection cluster.",
+ "description": "The operation to purge the replication protection cluster. This operation will force delete the replication protection cluster. Use the remove operation on replication protection cluster to perform a clean disable replication protection cluster.",
+ "operationId": "ReplicationProtectionClusters_Purge",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/FabricName"
+ },
+ {
+ "$ref": "#/parameters/ProtectionContainerName"
+ },
+ {
+ "$ref": "#/parameters/ReplicationProtectionClusterName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "type": "string"
+ },
+ "Retry-After": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Purge the replication protection cluster.": {
+ "$ref": "./examples/ReplicationProtectionClusters_Purge.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/applyRecoveryPoint": {
+ "post": {
+ "tags": [
+ "ReplicationProtectionClusters"
+ ],
+ "summary": "Execute the change recovery point operation for cluster.",
+ "description": "Operation to apply a new cluster recovery point on the Protection cluster.",
+ "operationId": "ReplicationProtectionClusters_ApplyRecoveryPoint",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/FabricName"
+ },
+ {
+ "$ref": "#/parameters/ProtectionContainerName"
+ },
+ {
+ "$ref": "#/parameters/ReplicationProtectionClusterName"
+ },
+ {
+ "name": "applyClusterRecoveryPointInput",
+ "in": "body",
+ "description": "Apply recovery point input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplyClusterRecoveryPointInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectionCluster"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "type": "string"
+ },
+ "Retry-After": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Execute the change recovery point operation for cluster.": {
+ "$ref": "./examples/ReplicationProtectionClusters_ApplyRecoveryPoint.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/failoverCommit": {
+ "post": {
+ "tags": [
+ "ReplicationProtectionClusters"
+ ],
+ "summary": "Execute commit failover for cluster.",
+ "description": "Operation to initiate commit failover of the replication protection cluster.",
+ "operationId": "ReplicationProtectionClusters_FailoverCommit",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/FabricName"
+ },
+ {
+ "$ref": "#/parameters/ProtectionContainerName"
+ },
+ {
+ "$ref": "#/parameters/ReplicationProtectionClusterName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectionCluster"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "type": "string"
+ },
+ "Retry-After": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Execute commit failover for cluster.": {
+ "$ref": "./examples/ReplicationProtectionClusters_FailoverCommit.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/operationResults/{jobId}": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionClusters"
+ ],
+ "summary": "Tracks the Replication protection cluster async operation.",
+ "description": "Track the results of an asynchronous operation on the replication protection cluster.",
+ "operationId": "ReplicationProtectionClusters_GetOperationResults",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/FabricName"
+ },
+ {
+ "$ref": "#/parameters/ProtectionContainerName"
+ },
+ {
+ "$ref": "#/parameters/ReplicationProtectionClusterName"
+ },
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "job id to track.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectionCluster"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Tracks the Replication protection cluster async operation.": {
+ "$ref": "./examples/ReplicationProtectionClusters_GetOperationResults.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/recoveryPoints": {
+ "get": {
+ "tags": [
+ "ClusterRecoveryPoints"
+ ],
+ "summary": "Gets the list of cluster recovery points.",
+ "description": "The list of cluster recovery points.",
+ "operationId": "ClusterRecoveryPoints_ListByReplicationProtectionCluster",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/FabricName"
+ },
+ {
+ "$ref": "#/parameters/ProtectionContainerName"
+ },
+ {
+ "$ref": "#/parameters/ReplicationProtectionClusterName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ClusterRecoveryPointCollection"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of cluster recovery points.": {
+ "$ref": "./examples/ClusterRecoveryPoints_ListByReplicationProtectionCluster.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/recoveryPoints/{recoveryPointName}": {
+ "get": {
+ "tags": [
+ "ClusterRecoveryPoint"
+ ],
+ "summary": "Gets a recovery point.",
+ "description": "Get the details of specified recovery point.",
+ "operationId": "ClusterRecoveryPoint_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/FabricName"
+ },
+ {
+ "$ref": "#/parameters/ProtectionContainerName"
+ },
+ {
+ "$ref": "#/parameters/ReplicationProtectionClusterName"
+ },
+ {
+ "name": "recoveryPointName",
+ "in": "path",
+ "description": "The recovery point name.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ClusterRecoveryPoint"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a recovery point.": {
+ "$ref": "./examples/ClusterRecoveryPoint_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/repairReplication": {
+ "post": {
+ "tags": [
+ "ReplicationProtectionClusters"
+ ],
+ "summary": "Resynchronize or repair replication of protection cluster.",
+ "description": "The operation to repair replication protection cluster.",
+ "operationId": "ReplicationProtectionClusters_RepairReplication",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/FabricName"
+ },
+ {
+ "$ref": "#/parameters/ProtectionContainerName"
+ },
+ {
+ "$ref": "#/parameters/ReplicationProtectionClusterName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectionCluster"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "type": "string"
+ },
+ "Retry-After": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Resynchronize or repair replication of protection cluster.": {
+ "$ref": "./examples/ReplicationProtectionClusters_RepairReplication.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/testFailover": {
+ "post": {
+ "tags": [
+ "ReplicationProtectionClusters"
+ ],
+ "summary": "Execute test failover for cluster.",
+ "description": "Operation to initiate a failover of the replication protection cluster.",
+ "operationId": "ReplicationProtectionClusters_TestFailover",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/FabricName"
+ },
+ {
+ "$ref": "#/parameters/ProtectionContainerName"
+ },
+ {
+ "$ref": "#/parameters/ReplicationProtectionClusterName"
+ },
+ {
+ "name": "failoverInput",
+ "in": "body",
+ "description": "Cluster test failover input body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterTestFailoverInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectionCluster"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "type": "string"
+ },
+ "Retry-After": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Execute test failover for cluster.": {
+ "$ref": "./examples/ReplicationProtectionClusters_TestFailover.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/testFailoverCleanup": {
+ "post": {
+ "tags": [
+ "ReplicationProtectionClusters"
+ ],
+ "summary": "Execute test failover cleanup for cluster.",
+ "description": "Operation to clean up the test failover of a replication protected cluster.",
+ "operationId": "ReplicationProtectionClusters_TestFailoverCleanup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/FabricName"
+ },
+ {
+ "$ref": "#/parameters/ProtectionContainerName"
+ },
+ {
+ "$ref": "#/parameters/ReplicationProtectionClusterName"
+ },
+ {
+ "name": "cleanupInput",
+ "in": "body",
+ "description": "Test failover cleanup input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterTestFailoverCleanupInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectionCluster"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "type": "string"
+ },
+ "Retry-After": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Execute test failover cleanup for cluster.": {
+ "$ref": "./examples/ReplicationProtectionClusters_TestFailoverCleanup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/unplannedFailover": {
+ "post": {
+ "tags": [
+ "ReplicationProtectionClusters"
+ ],
+ "summary": "Execute unplanned cluster failover.",
+ "description": "Operation to initiate a failover of the replication protection cluster.",
+ "operationId": "ReplicationProtectionClusters_UnplannedFailover",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/FabricName"
+ },
+ {
+ "$ref": "#/parameters/ProtectionContainerName"
+ },
+ {
+ "$ref": "#/parameters/ReplicationProtectionClusterName"
+ },
+ {
+ "name": "failoverInput",
+ "in": "body",
+ "description": "Failover input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterUnplannedFailoverInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectionCluster"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "type": "string"
+ },
+ "Retry-After": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Execute unplanned cluster failover.": {
+ "$ref": "./examples/ReplicationProtectionClusters_UnplannedFailover.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Gets the list of protection container mappings for a protection container.",
+ "description": "Lists the protection container mappings for a protection container.",
+ "operationId": "ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerMappingCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of protection container mappings for a protection container.": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Gets a protection container mapping.",
+ "description": "Gets the details of a protection container mapping.",
+ "operationId": "ReplicationProtectionContainerMappings_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "mappingName",
+ "in": "path",
+ "description": "Protection Container mapping name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerMapping"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a protection container mapping.": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Create protection container mapping.",
+ "description": "The operation to create a protection container mapping.",
+ "operationId": "ReplicationProtectionContainerMappings_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "mappingName",
+ "in": "path",
+ "description": "Protection container mapping name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "creationInput",
+ "in": "body",
+ "description": "Mapping creation input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateProtectionContainerMappingInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerMapping"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create protection container mapping.": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Purge protection container mapping.",
+ "description": "The operation to purge(force delete) a protection container mapping.",
+ "operationId": "ReplicationProtectionContainerMappings_Purge",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "mappingName",
+ "in": "path",
+ "description": "Protection container mapping name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Purge protection container mapping.": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_Purge.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Update protection container mapping.",
+ "description": "The operation to update protection container mapping.",
+ "operationId": "ReplicationProtectionContainerMappings_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "mappingName",
+ "in": "path",
+ "description": "Protection container mapping name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "updateInput",
+ "in": "body",
+ "description": "Mapping update input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateProtectionContainerMappingInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerMapping"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update protection container mapping.": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove": {
+ "post": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Remove protection container mapping.",
+ "description": "The operation to delete or remove a protection container mapping.",
+ "operationId": "ReplicationProtectionContainerMappings_Delete",
+ "consumes": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "mappingName",
+ "in": "path",
+ "description": "Protection container mapping name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "removalInput",
+ "in": "body",
+ "description": "Removal input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RemoveProtectionContainerMappingInput"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Remove protection container mapping.": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchClusterProtection": {
+ "post": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Switches protection from one container to another.",
+ "description": "Operation to switch protection from one container to another.",
+ "operationId": "ReplicationProtectionContainers_SwitchClusterProtection",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/FabricName"
+ },
+ {
+ "$ref": "#/parameters/ProtectionContainerName"
+ },
+ {
+ "name": "switchInput",
+ "in": "body",
+ "description": "Switch protection input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SwitchClusterProtectionInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "type": "string"
+ },
+ "Retry-After": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Switches protection from one container to another or one replication provider to another.": {
+ "$ref": "./examples/ReplicationProtectionContainers_SwitchClusterProtection.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection": {
+ "post": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Switches protection from one container to another or one replication provider to another.",
+ "description": "Operation to switch protection from one container to another or one replication provider to another.",
+ "operationId": "ReplicationProtectionContainers_SwitchProtection",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Unique fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "switchInput",
+ "in": "body",
+ "description": "Switch protection input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SwitchProtectionInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "type": "string"
+ },
+ "Retry-After": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Switches protection from one container to another or one replication provider to another.": {
+ "$ref": "./examples/ReplicationProtectionContainers_SwitchProtection.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders": {
+ "get": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Gets the list of registered recovery services providers for the fabric.",
+ "description": "Lists the registered recovery services providers for the specified fabric.",
+ "operationId": "ReplicationRecoveryServicesProviders_ListByReplicationFabrics",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryServicesProviderCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of registered recovery services providers for the fabric.": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}": {
+ "get": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Gets the details of a recovery services provider.",
+ "description": "Gets the details of registered recovery services provider.",
+ "operationId": "ReplicationRecoveryServicesProviders_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Recovery services provider name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryServicesProvider"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a recovery services provider.": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Adds a recovery services provider.",
+ "description": "The operation to add a recovery services provider.",
+ "operationId": "ReplicationRecoveryServicesProviders_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Recovery services provider name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addProviderInput",
+ "in": "body",
+ "description": "Add provider input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AddRecoveryServicesProviderInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryServicesProvider"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Adds a recovery services provider.": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Purges recovery service provider from fabric.",
+ "description": "The operation to purge(force delete) a recovery services provider from the vault.",
+ "operationId": "ReplicationRecoveryServicesProviders_Purge",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Recovery services provider name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Purges recovery service provider from fabric.": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_Purge.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Refresh details from the recovery services provider.",
+ "description": "The operation to refresh the information from the recovery services provider.",
+ "operationId": "ReplicationRecoveryServicesProviders_RefreshProvider",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Recovery services provider name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryServicesProvider"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Refresh details from the recovery services provider.": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_RefreshProvider.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).",
+ "description": "The operation to removes/delete(unregister) a recovery services provider from the vault.",
+ "operationId": "ReplicationRecoveryServicesProviders_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerName",
+ "in": "path",
+ "description": "Recovery services provider name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications": {
+ "get": {
+ "tags": [
+ "ReplicationStorageClassifications"
+ ],
+ "summary": "Gets the list of storage classification objects under a fabric.",
+ "description": "Lists the storage classifications available in the specified fabric.",
+ "operationId": "ReplicationStorageClassifications_ListByReplicationFabrics",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Site name of interest.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of storage classification objects under a fabric.": {
+ "$ref": "./examples/ReplicationStorageClassifications_ListByReplicationFabrics.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}": {
+ "get": {
+ "tags": [
+ "ReplicationStorageClassifications"
+ ],
+ "summary": "Gets the details of a storage classification.",
+ "description": "Gets the details of the specified storage classification.",
+ "operationId": "ReplicationStorageClassifications_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationName",
+ "in": "path",
+ "description": "Storage classification name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassification"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a storage classification.": {
+ "$ref": "./examples/ReplicationStorageClassifications_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings": {
+ "get": {
+ "tags": [
+ "ReplicationStorageClassificationMappings"
+ ],
+ "summary": "Gets the list of storage classification mappings objects under a storage.",
+ "description": "Lists the storage classification mappings for the fabric.",
+ "operationId": "ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationName",
+ "in": "path",
+ "description": "Storage classification name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationMappingCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of storage classification mappings objects under a storage.": {
+ "$ref": "./examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}": {
+ "get": {
+ "tags": [
+ "ReplicationStorageClassificationMappings"
+ ],
+ "summary": "Gets the details of a storage classification mapping.",
+ "description": "Gets the details of the specified storage classification mapping.",
+ "operationId": "ReplicationStorageClassificationMappings_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationName",
+ "in": "path",
+ "description": "Storage classification name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationMappingName",
+ "in": "path",
+ "description": "Storage classification mapping name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationMapping"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a storage classification mapping.": {
+ "$ref": "./examples/ReplicationStorageClassificationMappings_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationStorageClassificationMappings"
+ ],
+ "summary": "Create storage classification mapping.",
+ "description": "The operation to create a storage classification mapping.",
+ "operationId": "ReplicationStorageClassificationMappings_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationName",
+ "in": "path",
+ "description": "Storage classification name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationMappingName",
+ "in": "path",
+ "description": "Storage classification mapping name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "pairingInput",
+ "in": "body",
+ "description": "Pairing input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationMappingInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationMapping"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create storage classification mapping.": {
+ "$ref": "./examples/ReplicationStorageClassificationMappings_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationStorageClassificationMappings"
+ ],
+ "summary": "Delete a storage classification mapping.",
+ "description": "The operation to delete a storage classification mapping.",
+ "operationId": "ReplicationStorageClassificationMappings_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationName",
+ "in": "path",
+ "description": "Storage classification name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageClassificationMappingName",
+ "in": "path",
+ "description": "Storage classification mapping name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a storage classification mapping.": {
+ "$ref": "./examples/ReplicationStorageClassificationMappings_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters": {
+ "get": {
+ "tags": [
+ "ReplicationvCenters"
+ ],
+ "summary": "Gets the list of vCenter registered under a fabric.",
+ "description": "Lists the vCenter servers registered in a fabric.",
+ "operationId": "ReplicationvCenters_ListByReplicationFabrics",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VCenterCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of vCenter registered under a fabric.": {
+ "$ref": "./examples/ReplicationvCenters_ListByReplicationFabrics.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vcenterName}": {
+ "get": {
+ "tags": [
+ "ReplicationvCenters"
+ ],
+ "summary": "Gets the details of a vCenter.",
+ "description": "Gets the details of a registered vCenter server(Add vCenter server).",
+ "operationId": "ReplicationvCenters_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "vcenterName",
+ "in": "path",
+ "description": "vcenter name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VCenter"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a vCenter.": {
+ "$ref": "./examples/ReplicationvCenters_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationvCenters"
+ ],
+ "summary": "Add vCenter.",
+ "description": "The operation to create a vCenter object..",
+ "operationId": "ReplicationvCenters_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "vcenterName",
+ "in": "path",
+ "description": "vcenter name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addVCenterRequest",
+ "in": "body",
+ "description": "The input to the add vCenter operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AddVCenterRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VCenter"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Add vCenter.": {
+ "$ref": "./examples/ReplicationvCenters_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationvCenters"
+ ],
+ "summary": "Remove vcenter operation.",
+ "description": "The operation to remove(unregister) a registered vCenter server from the vault.",
+ "operationId": "ReplicationvCenters_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "vcenterName",
+ "in": "path",
+ "description": "vcenter name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Remove vCenter operation.": {
+ "$ref": "./examples/ReplicationvCenters_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationvCenters"
+ ],
+ "summary": "Update vCenter operation.",
+ "description": "The operation to update a registered vCenter.",
+ "operationId": "ReplicationvCenters_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "vcenterName",
+ "in": "path",
+ "description": "vcenter name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "updateVCenterRequest",
+ "in": "body",
+ "description": "The input to the update vCenter operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateVCenterRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VCenter"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update vCenter operation.": {
+ "$ref": "./examples/ReplicationvCenters_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs": {
+ "get": {
+ "tags": [
+ "ReplicationJobs"
+ ],
+ "summary": "Gets the list of jobs.",
+ "description": "Gets the list of Azure Site Recovery Jobs for the vault.",
+ "operationId": "ReplicationJobs_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/JobQueryParameter",
+ "x-ms-examples": {
+ "Gets the list of jobs.": {
+ "$ref": "./examples/ReplicationJobs_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}": {
+ "get": {
+ "tags": [
+ "ReplicationJobs"
+ ],
+ "summary": "Gets the job details.",
+ "description": "Get the details of an Azure Site Recovery job.",
+ "operationId": "ReplicationJobs_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Job identifier.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the job details.": {
+ "$ref": "./examples/ReplicationJobs_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel": {
+ "post": {
+ "tags": [
+ "ReplicationJobs"
+ ],
+ "summary": "Cancels the specified job.",
+ "description": "The operation to cancel an Azure Site Recovery job.",
+ "operationId": "ReplicationJobs_Cancel",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Job identifier.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Cancels the specified job.": {
+ "$ref": "./examples/ReplicationJobs_Cancel.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart": {
+ "post": {
+ "tags": [
+ "ReplicationJobs"
+ ],
+ "summary": "Restarts the specified job.",
+ "description": "The operation to restart an Azure Site Recovery job.",
+ "operationId": "ReplicationJobs_Restart",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Job identifier.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Restarts the specified job.": {
+ "$ref": "./examples/ReplicationJobs_Restart.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume": {
+ "post": {
+ "tags": [
+ "ReplicationJobs"
+ ],
+ "summary": "Resumes the specified job.",
+ "description": "The operation to resume an Azure Site Recovery job.",
+ "operationId": "ReplicationJobs_Resume",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobName",
+ "in": "path",
+ "description": "Job identifier.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resumeJobParams",
+ "in": "body",
+ "description": "Resume rob comments.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResumeJobParams"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Resumes the specified job.": {
+ "$ref": "./examples/ReplicationJobs_Resume.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export": {
+ "post": {
+ "tags": [
+ "ReplicationJobs"
+ ],
+ "summary": "Exports the details of the Azure Site Recovery jobs of the vault.",
+ "description": "The operation to export the details of the Azure Site Recovery jobs of the vault.",
+ "operationId": "ReplicationJobs_Export",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "jobQueryParameter",
+ "in": "body",
+ "description": "job query filter.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobQueryParameter"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Exports the details of the Azure Site Recovery jobs of the vault.": {
+ "$ref": "./examples/ReplicationJobs_Export.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationMigrationItems": {
+ "get": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Gets the list of migration items in the vault.",
+ "operationId": "ReplicationMigrationItems_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "skipToken",
+ "in": "query",
+ "description": "The pagination token.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "takeToken",
+ "in": "query",
+ "description": "The page size.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItemCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/MigrationItemsQueryParameter",
+ "x-ms-examples": {
+ "Gets the list of migration items in the vault.": {
+ "$ref": "./examples/ReplicationMigrationItems_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings": {
+ "get": {
+ "tags": [
+ "ReplicationNetworkMappings"
+ ],
+ "summary": "Gets all the network mappings under a vault.",
+ "description": "Lists all ASR network mappings in the vault.",
+ "operationId": "ReplicationNetworkMappings_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkMappingCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all the network mappings under a vault.": {
+ "$ref": "./examples/ReplicationNetworkMappings_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks": {
+ "get": {
+ "tags": [
+ "ReplicationNetworks"
+ ],
+ "summary": "Gets the list of networks. View-only API.",
+ "description": "Lists the networks available in a vault.",
+ "operationId": "ReplicationNetworks_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of networks. View-only API.": {
+ "$ref": "./examples/ReplicationNetworks_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies": {
+ "get": {
+ "tags": [
+ "ReplicationPolicies"
+ ],
+ "summary": "Gets the list of replication policies.",
+ "description": "Lists the replication policies for a vault.",
+ "operationId": "ReplicationPolicies_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PolicyCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of replication policies.": {
+ "$ref": "./examples/ReplicationPolicies_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}": {
+ "get": {
+ "tags": [
+ "ReplicationPolicies"
+ ],
+ "summary": "Gets the requested policy.",
+ "description": "Gets the details of a replication policy.",
+ "operationId": "ReplicationPolicies_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Replication policy name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Policy"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the requested policy.": {
+ "$ref": "./examples/ReplicationPolicies_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationPolicies"
+ ],
+ "summary": "Creates the policy.",
+ "description": "The operation to create a replication policy.",
+ "operationId": "ReplicationPolicies_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Replication policy name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Create policy input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreatePolicyInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Policy"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Creates the policy.": {
+ "$ref": "./examples/ReplicationPolicies_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationPolicies"
+ ],
+ "summary": "Delete the policy.",
+ "description": "The operation to delete a replication policy.",
+ "operationId": "ReplicationPolicies_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Replication policy name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete the policy.": {
+ "$ref": "./examples/ReplicationPolicies_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationPolicies"
+ ],
+ "summary": "Updates the policy.",
+ "description": "The operation to update a replication policy.",
+ "operationId": "ReplicationPolicies_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "policyName",
+ "in": "path",
+ "description": "Policy Id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Update Policy Input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdatePolicyInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Policy"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates the policy.": {
+ "$ref": "./examples/ReplicationPolicies_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems": {
+ "get": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Gets the list of replication protected items.",
+ "description": "Gets the list of ASR replication protected items in the vault.",
+ "operationId": "ReplicationProtectedItems_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "skipToken",
+ "in": "query",
+ "description": "The pagination token. Possible values: \"FabricId\" or \"FabricId_CloudId\" or null.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItemCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ProtectedItemsQueryParameter",
+ "x-ms-examples": {
+ "Gets the list of replication protected items.": {
+ "$ref": "./examples/ReplicationProtectedItems_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionClusters": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionClusters"
+ ],
+ "summary": "Gets the list of Replication protection clusters in vault.",
+ "description": "Gets the list of ASR replication protected clusters in the vault.",
+ "operationId": "ReplicationProtectionClusters_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "skipToken",
+ "in": "query",
+ "description": "The pagination token. Possible values: \"FabricId\" or \"FabricId_CloudId\" or null.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectionClusterCollection"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ProtectedClustersQueryParameter",
+ "x-ms-examples": {
+ "Gets the list of Replication protection clusters in vault.": {
+ "$ref": "./examples/ReplicationProtectionClusters_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Gets the list of all protection container mappings in a vault.",
+ "description": "Lists the protection container mappings in the vault.",
+ "operationId": "ReplicationProtectionContainerMappings_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerMappingCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of all protection container mappings in a vault.": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionContainers"
+ ],
+ "summary": "Gets the list of all protection containers in a vault.",
+ "description": "Lists the protection containers in a vault.",
+ "operationId": "ReplicationProtectionContainers_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of all protection containers in a vault.": {
+ "$ref": "./examples/ReplicationProtectionContainers_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionIntents": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionIntents"
+ ],
+ "summary": "Gets the list of replication protection intent objects.",
+ "description": "Gets the list of ASR replication protection intent objects in the vault.",
+ "operationId": "ReplicationProtectionIntents_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "skipToken",
+ "in": "query",
+ "description": "The pagination token.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "takeToken",
+ "in": "query",
+ "description": "The page size.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectionIntentCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of replication protection intent objects.": {
+ "$ref": "./examples/ReplicationProtectionIntents_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionIntents/{intentObjectName}": {
+ "get": {
+ "tags": [
+ "ReplicationProtectionIntents"
+ ],
+ "summary": "Gets the details of a Replication protection intent item.",
+ "description": "Gets the details of an ASR replication protection intent.",
+ "operationId": "ReplicationProtectionIntents_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "intentObjectName",
+ "in": "path",
+ "description": "Replication protection intent name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectionIntent"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a Replication protection intent item.": {
+ "$ref": "./examples/ReplicationProtectionIntents_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationProtectionIntents"
+ ],
+ "summary": "Create protection intent Resource.",
+ "description": "The operation to create an ASR replication protection intent item.",
+ "operationId": "ReplicationProtectionIntents_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "intentObjectName",
+ "in": "path",
+ "description": "A name for the replication protection item.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Create Protection Intent Input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateProtectionIntentInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectionIntent"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create protection intent Resource.": {
+ "$ref": "./examples/ReplicationProtectionIntents_Create.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans": {
+ "get": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Gets the list of recovery plans.",
+ "description": "Lists the recovery plans in the vault.",
+ "operationId": "ReplicationRecoveryPlans_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlanCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of recovery plans.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}": {
+ "get": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Gets the requested recovery plan.",
+ "description": "Gets the details of the recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Name of the recovery plan.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the requested recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Creates a recovery plan with the given details.",
+ "description": "The operation to create a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Recovery Plan creation input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateRecoveryPlanInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Creates a recovery plan with the given details.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Deletes the specified recovery plan.",
+ "description": "Delete a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Deletes the specified recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Updates the given recovery plan.",
+ "description": "The operation to update a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Update recovery plan input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateRecoveryPlanInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates the given recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCancel": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Execute cancel failover of the recovery plan.",
+ "description": "The operation to cancel the failover of a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_FailoverCancel",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute cancel failover of the recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_FailoverCancel.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Execute commit failover of the recovery plan.",
+ "description": "The operation to commit the failover of a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_FailoverCommit",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute commit failover of the recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_FailoverCommit.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Execute planned failover of the recovery plan.",
+ "description": "The operation to start the planned failover of a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_PlannedFailover",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Failover input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlanPlannedFailoverInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute planned failover of the recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_PlannedFailover.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Execute reprotect of the recovery plan.",
+ "description": "The operation to reprotect(reverse replicate) a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_Reprotect",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute reprotect of the recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_Reprotect.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Execute test failover of the recovery plan.",
+ "description": "The operation to start the test failover of a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_TestFailover",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Recovery plan test failover input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlanTestFailoverInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute test failover of the recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_TestFailover.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Execute test failover cleanup of the recovery plan.",
+ "description": "The operation to cleanup test failover of a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_TestFailoverCleanup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Recovery plan test failover cleanup input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute test failover cleanup of the recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_TestFailoverCleanup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover": {
+ "post": {
+ "tags": [
+ "ReplicationRecoveryPlans"
+ ],
+ "summary": "Execute unplanned failover of the recovery plan.",
+ "description": "The operation to start the unplanned failover of a recovery plan.",
+ "operationId": "ReplicationRecoveryPlans_UnplannedFailover",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "recoveryPlanName",
+ "in": "path",
+ "description": "Recovery plan name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Recovery plan unplanned failover input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Execute unplanned failover of the recovery plan.": {
+ "$ref": "./examples/ReplicationRecoveryPlans_UnplannedFailover.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders": {
+ "get": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Gets the list of registered recovery services providers in the vault. This is a view only api.",
+ "description": "Lists the registered recovery services providers in the vault.",
+ "operationId": "ReplicationRecoveryServicesProviders_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryServicesProviderCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of registered recovery services providers in the vault. This is a view only api.": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings": {
+ "get": {
+ "tags": [
+ "ReplicationStorageClassificationMappings"
+ ],
+ "summary": "Gets the list of storage classification mappings objects under a vault.",
+ "description": "Lists the storage classification mappings in the vault.",
+ "operationId": "ReplicationStorageClassificationMappings_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationMappingCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of storage classification mappings objects under a vault.": {
+ "$ref": "./examples/ReplicationStorageClassificationMappings_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications": {
+ "get": {
+ "tags": [
+ "ReplicationStorageClassifications"
+ ],
+ "summary": "Gets the list of storage classification objects under a vault.",
+ "description": "Lists the storage classifications in the vault.",
+ "operationId": "ReplicationStorageClassifications_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/StorageClassificationCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of storage classification objects under a vault.": {
+ "$ref": "./examples/ReplicationStorageClassifications_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationSupportedOperatingSystems": {
+ "get": {
+ "tags": [
+ "SupportedOperatingSystems"
+ ],
+ "summary": "Gets the data of supported operating systems by SRS.",
+ "operationId": "SupportedOperatingSystems_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "instanceType",
+ "in": "query",
+ "description": "The instance type.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SupportedOperatingSystems"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the data of supported operating systems by SRS.": {
+ "$ref": "./examples/SupportedOperatingSystems_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth": {
+ "get": {
+ "tags": [
+ "ReplicationVaultHealth"
+ ],
+ "summary": "Gets the health summary for the vault.",
+ "description": "Gets the health details of the vault.",
+ "operationId": "ReplicationVaultHealth_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultHealthDetails"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the health summary for the vault.": {
+ "$ref": "./examples/ReplicationVaultHealth_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth/default/refresh": {
+ "post": {
+ "tags": [
+ "ReplicationVaultHealth"
+ ],
+ "summary": "Refreshes health summary of the vault.",
+ "operationId": "ReplicationVaultHealth_Refresh",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultHealthDetails"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Refreshes health summary of the vault.": {
+ "$ref": "./examples/ReplicationVaultHealth_Refresh.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultSettings": {
+ "get": {
+ "tags": [
+ "ReplicationVaultSetting"
+ ],
+ "summary": "Gets the list of vault setting.",
+ "description": "Gets the list of vault setting. This includes the Migration Hub connection settings.",
+ "operationId": "ReplicationVaultSetting_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultSettingCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of vault setting.": {
+ "$ref": "./examples/ReplicationVaultSetting_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultSettings/{vaultSettingName}": {
+ "get": {
+ "tags": [
+ "ReplicationVaultSetting"
+ ],
+ "summary": "Gets the vault setting.",
+ "description": "Gets the vault setting. This includes the Migration Hub connection settings.",
+ "operationId": "ReplicationVaultSetting_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "vaultSettingName",
+ "in": "path",
+ "description": "Vault setting name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultSetting"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the vault setting.": {
+ "$ref": "./examples/ReplicationVaultSetting_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationVaultSetting"
+ ],
+ "summary": "Updates vault setting. A vault setting object is a singleton per vault and it is always present by default.",
+ "description": "The operation to configure vault setting.",
+ "operationId": "ReplicationVaultSetting_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "vaultSettingName",
+ "in": "path",
+ "description": "Vault setting name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Vault setting creation input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VaultSettingCreationInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VaultSetting"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates vault setting. A vault setting object is a singleton per vault and it is always present by default.": {
+ "$ref": "./examples/ReplicationVaultSetting_Create.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters": {
+ "get": {
+ "tags": [
+ "ReplicationvCenters"
+ ],
+ "summary": "Gets the list of vCenter registered under the vault.",
+ "description": "Lists the vCenter servers registered in the vault.",
+ "operationId": "ReplicationvCenters_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VCenterCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of vCenter registered under the vault.": {
+ "$ref": "./examples/ReplicationvCenters_List.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "A2AAddDisksInput": {
+ "description": "A2A add disk(s) input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AddDisksProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "vmDisks": {
+ "description": "The list of vm disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmDiskInputDetails"
+ }
+ },
+ "vmManagedDisks": {
+ "description": "The list of vm managed disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmManagedDiskInputDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AApplyClusterRecoveryPointInput": {
+ "description": "A2A provider specific input for apply cluster recovery point.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplyClusterRecoveryPointProviderSpecificInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AClusterRecoveryPointDetails": {
+ "description": "A2A provider specific cluster recovery point details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterProviderSpecificRecoveryPointDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointSyncType": {
+ "description": "A value indicating whether the recovery point is multi VM consistent.",
+ "enum": [
+ "MultiVmSyncRecoveryPoint"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointSyncType",
+ "modelAsString": true
+ }
+ },
+ "nodes": {
+ "description": "The list of nodes representing the cluster.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AApplyRecoveryPointInput": {
+ "description": "ApplyRecoveryPoint input specific to A2A provider.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AClusterTestFailoverInput": {
+ "description": "A2A provider specific input for test cluster failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterTestFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "clusterRecoveryPointId": {
+ "description": "The cluster recovery point id to be passed to failover to a particular recovery point.",
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionClusters/recoveryPoints"
+ }
+ ]
+ }
+ },
+ "individualNodeRecoveryPoints": {
+ "description": "The list of individual node recovery points.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AClusterUnplannedFailoverInput": {
+ "description": "A2A provider specific input for unplanned cluster failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClusterUnplannedFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "clusterRecoveryPointId": {
+ "description": "The cluster recovery point id to be passed to failover to a particular recovery point.",
+ "type": "string"
+ },
+ "individualNodeRecoveryPoints": {
+ "description": "The list of individual node recovery points.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AContainerCreationInput": {
+ "description": "A2A cloud creation input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AContainerMappingInput": {
+ "description": "A2A container mapping input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput"
+ }
+ ],
+ "properties": {
+ "agentAutoUpdateStatus": {
+ "description": "A value indicating whether the auto update is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentAutoUpdateStatus",
+ "modelAsString": true
+ }
+ },
+ "automationAccountArmId": {
+ "description": "The automation account arm id.",
+ "type": "string"
+ },
+ "automationAccountAuthenticationType": {
+ "description": "A value indicating the type authentication to use for automation Account.",
+ "enum": [
+ "RunAsAccount",
+ "SystemAssignedIdentity"
+ ],
+ "type": "string",
+ "default": "RunAsAccount",
+ "x-ms-enum": {
+ "name": "AutomationAccountAuthenticationType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2ACreateProtectionIntentInput": {
+ "description": "A2A create protection intent input.",
+ "required": [
+ "fabricObjectId",
+ "primaryLocation",
+ "recoveryLocation",
+ "recoverySubscriptionId",
+ "recoveryAvailabilityType",
+ "recoveryResourceGroupId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CreateProtectionIntentProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "fabricObjectId": {
+ "description": "The fabric specific object Id of the virtual machine.",
+ "type": "string"
+ },
+ "primaryLocation": {
+ "description": "The primary location for the virtual machine.",
+ "type": "string"
+ },
+ "recoveryLocation": {
+ "description": "The recovery location for the virtual machine.",
+ "type": "string"
+ },
+ "recoverySubscriptionId": {
+ "description": "The recovery subscription Id of the virtual machine.",
+ "type": "string"
+ },
+ "recoveryAvailabilityType": {
+ "description": "The recovery availability type of the virtual machine.",
+ "enum": [
+ "Single",
+ "AvailabilitySet",
+ "AvailabilityZone"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "A2ARecoveryAvailabilityType",
+ "modelAsString": true
+ }
+ },
+ "protectionProfileCustomInput": {
+ "$ref": "#/definitions/ProtectionProfileCustomDetails",
+ "description": "The protection profile custom inputs."
+ },
+ "recoveryResourceGroupId": {
+ "description": "The recovery resource group Id. Valid for V2 scenarios.",
+ "type": "string"
+ },
+ "primaryStagingStorageAccountCustomInput": {
+ "$ref": "#/definitions/StorageAccountCustomDetails",
+ "description": "The primary staging storage account input."
+ },
+ "recoveryAvailabilitySetCustomInput": {
+ "$ref": "#/definitions/RecoveryAvailabilitySetCustomDetails",
+ "description": "The recovery availability set input."
+ },
+ "recoveryVirtualNetworkCustomInput": {
+ "$ref": "#/definitions/RecoveryVirtualNetworkCustomDetails",
+ "description": "The recovery virtual network input."
+ },
+ "recoveryProximityPlacementGroupCustomInput": {
+ "$ref": "#/definitions/RecoveryProximityPlacementGroupCustomDetails",
+ "description": "The recovery proximity placement group custom input."
+ },
+ "autoProtectionOfDataDisk": {
+ "description": "A value indicating whether the auto protection is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AutoProtectionOfDataDisk",
+ "modelAsString": true
+ }
+ },
+ "vmDisks": {
+ "description": "The list of vm disk inputs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AProtectionIntentDiskInputDetails"
+ }
+ },
+ "vmManagedDisks": {
+ "description": "The list of vm managed disk inputs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AProtectionIntentManagedDiskInputDetails"
+ }
+ },
+ "multiVmGroupName": {
+ "description": "The multi vm group name.",
+ "type": "string"
+ },
+ "multiVmGroupId": {
+ "description": "The multi vm group id.",
+ "type": "string"
+ },
+ "recoveryBootDiagStorageAccount": {
+ "$ref": "#/definitions/StorageAccountCustomDetails",
+ "description": "The boot diagnostic storage account."
+ },
+ "diskEncryptionInfo": {
+ "$ref": "#/definitions/DiskEncryptionInfo",
+ "description": "The recovery disk encryption information (for two pass flows)."
+ },
+ "recoveryAvailabilityZone": {
+ "description": "The recovery availability zone.",
+ "type": "string"
+ },
+ "agentAutoUpdateStatus": {
+ "description": "A value indicating whether the auto update is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentAutoUpdateStatus",
+ "modelAsString": true
+ }
+ },
+ "automationAccountAuthenticationType": {
+ "description": "A value indicating the authentication type for automation account. The default value is \"RunAsAccount\".",
+ "enum": [
+ "RunAsAccount",
+ "SystemAssignedIdentity"
+ ],
+ "type": "string",
+ "default": "RunAsAccount",
+ "x-ms-enum": {
+ "name": "AutomationAccountAuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "automationAccountArmId": {
+ "description": "The automation account arm id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2ACrossClusterMigrationApplyRecoveryPointInput": {
+ "description": "ApplyRecoveryPoint input specific to A2ACrossClusterMigration provider.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "A2ACrossClusterMigration"
+ },
+ "A2ACrossClusterMigrationContainerCreationInput": {
+ "description": "A2ACrossClusterMigration cloud creation input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "A2ACrossClusterMigration"
+ },
+ "A2ACrossClusterMigrationEnableProtectionInput": {
+ "description": "A2A Cross-Cluster Migration enable protection input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "fabricObjectId": {
+ "description": "The fabric specific object Id of the virtual machine.",
+ "type": "string"
+ },
+ "recoveryContainerId": {
+ "description": "The recovery container Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2ACrossClusterMigration"
+ },
+ "A2ACrossClusterMigrationPolicyCreationInput": {
+ "description": "A2A Cross-Cluster Migration Policy creation input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "A2ACrossClusterMigration"
+ },
+ "A2ACrossClusterMigrationReplicationDetails": {
+ "description": "A2A provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "fabricObjectId": {
+ "description": "The fabric specific object Id of the virtual machine.",
+ "type": "string"
+ },
+ "primaryFabricLocation": {
+ "description": "Primary fabric location.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The type of operating system.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "lifecycleId": {
+ "description": "An id associated with the PE that survives actions like switch protection which change the backing PE/CPE objects internally.The lifecycle id gets carried forward to have a link/continuity in being able to have an Id that denotes the \"same\" protected item even though other internal Ids/ARM Id might be changing.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2ACrossClusterMigration"
+ },
+ "A2AEnableProtectionInput": {
+ "description": "A2A enable protection input.",
+ "required": [
+ "fabricObjectId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "fabricObjectId": {
+ "description": "The fabric specific object Id of the virtual machine.",
+ "type": "string"
+ },
+ "recoveryContainerId": {
+ "description": "The recovery container Id.",
+ "type": "string"
+ },
+ "recoveryResourceGroupId": {
+ "description": "The recovery resource group Id. Valid for V2 scenarios.",
+ "type": "string"
+ },
+ "recoveryCloudServiceId": {
+ "description": "The recovery cloud service Id. Valid for V1 scenarios.",
+ "type": "string"
+ },
+ "recoveryAvailabilitySetId": {
+ "description": "The recovery availability set Id.",
+ "type": "string"
+ },
+ "recoveryProximityPlacementGroupId": {
+ "description": "The recovery proximity placement group Id.",
+ "type": "string"
+ },
+ "vmDisks": {
+ "description": "The list of vm disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmDiskInputDetails"
+ }
+ },
+ "vmManagedDisks": {
+ "description": "The list of vm managed disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmManagedDiskInputDetails"
+ }
+ },
+ "multiVmGroupName": {
+ "description": "The multi vm group name.",
+ "type": "string"
+ },
+ "multiVmGroupId": {
+ "description": "The multi vm group id.",
+ "type": "string"
+ },
+ "protectionClusterId": {
+ "description": "The replication protection cluster Id.",
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionClusters"
+ }
+ ]
+ }
+ },
+ "recoveryBootDiagStorageAccountId": {
+ "description": "The boot diagnostic storage account.",
+ "type": "string"
+ },
+ "diskEncryptionInfo": {
+ "$ref": "#/definitions/DiskEncryptionInfo",
+ "description": "The recovery disk encryption information (for two pass flows)."
+ },
+ "recoveryAvailabilityZone": {
+ "description": "The recovery availability zone.",
+ "type": "string"
+ },
+ "recoveryExtendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The recovery extended location."
+ },
+ "recoveryAzureNetworkId": {
+ "description": "The recovery Azure virtual network ARM id.",
+ "type": "string"
+ },
+ "recoverySubnetName": {
+ "description": "The recovery subnet name.",
+ "type": "string"
+ },
+ "recoveryVirtualMachineScaleSetId": {
+ "description": "The virtual machine scale set Id.",
+ "type": "string"
+ },
+ "recoveryCapacityReservationGroupId": {
+ "description": "The recovery capacity reservation group Id.",
+ "type": "string"
+ },
+ "autoProtectionOfDataDisk": {
+ "description": "A value indicating whether the auto protection is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AutoProtectionOfDataDisk",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AEventDetails": {
+ "description": "Model class for event details of a A2A event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "protectedItemName": {
+ "description": "The protected item arm name.",
+ "type": "string"
+ },
+ "fabricObjectId": {
+ "description": "The azure vm arm id.",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "Fabric arm name.",
+ "type": "string"
+ },
+ "fabricLocation": {
+ "description": "The fabric location.",
+ "type": "string"
+ },
+ "remoteFabricName": {
+ "description": "Remote fabric arm name.",
+ "type": "string"
+ },
+ "remoteFabricLocation": {
+ "description": "Remote fabric location.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AExtendedLocationDetails": {
+ "description": "ExtendedLocation details data.",
+ "type": "object",
+ "properties": {
+ "primaryExtendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The primary ExtendedLocation."
+ },
+ "recoveryExtendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The recovery ExtendedLocation."
+ }
+ }
+ },
+ "A2AFabricSpecificLocationDetails": {
+ "description": "ExtendedLocation details data.",
+ "type": "object",
+ "properties": {
+ "initialPrimaryZone": {
+ "description": "The initial source zone info.",
+ "type": "string"
+ },
+ "initialRecoveryZone": {
+ "description": "The initial target zone info.",
+ "type": "string"
+ },
+ "initialPrimaryExtendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The initial primary ExtendedLocation."
+ },
+ "initialRecoveryExtendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The initial recovery ExtendedLocation."
+ },
+ "initialPrimaryFabricLocation": {
+ "description": "Initial primary fabric location info.",
+ "type": "string"
+ },
+ "initialRecoveryFabricLocation": {
+ "description": "The initial recovery fabric location info.",
+ "type": "string"
+ },
+ "primaryZone": {
+ "description": "Source zone info.",
+ "type": "string"
+ },
+ "recoveryZone": {
+ "description": "The target zone info.",
+ "type": "string"
+ },
+ "primaryExtendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The primary ExtendedLocation."
+ },
+ "recoveryExtendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The recovery ExtendedLocation."
+ },
+ "primaryFabricLocation": {
+ "description": "Primary fabric location info.",
+ "type": "string"
+ },
+ "recoveryFabricLocation": {
+ "description": "The recovery fabric location info.",
+ "type": "string"
+ }
+ }
+ },
+ "A2APolicyCreationInput": {
+ "description": "A2A Policy creation input.",
+ "required": [
+ "multiVmSyncStatus"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.",
+ "enum": [
+ "Enable",
+ "Disable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SetMultiVmSyncStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2APolicyDetails": {
+ "description": "A2A specific policy details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointThresholdInMinutes": {
+ "format": "int32",
+ "description": "The recovery point threshold in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled.",
+ "type": "string"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency in minutes.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AProtectedDiskDetails": {
+ "description": "A2A protected disk details.",
+ "type": "object",
+ "properties": {
+ "diskUri": {
+ "description": "The disk uri.",
+ "type": "string"
+ },
+ "recoveryAzureStorageAccountId": {
+ "description": "The recovery disk storage account.",
+ "type": "string"
+ },
+ "primaryDiskAzureStorageAccountId": {
+ "description": "The primary disk storage account.",
+ "type": "string"
+ },
+ "recoveryDiskUri": {
+ "description": "Recovery disk uri.",
+ "type": "string"
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string"
+ },
+ "diskCapacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer"
+ },
+ "primaryStagingAzureStorageAccountId": {
+ "description": "The primary staging storage account.",
+ "type": "string"
+ },
+ "diskType": {
+ "description": "The type of disk.",
+ "type": "string"
+ },
+ "resyncRequired": {
+ "description": "A value indicating whether resync is required for this disk.",
+ "type": "boolean"
+ },
+ "monitoringPercentageCompletion": {
+ "format": "int32",
+ "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.",
+ "type": "integer"
+ },
+ "monitoringJobType": {
+ "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.",
+ "type": "string"
+ },
+ "dataPendingInStagingStorageAccountInMB": {
+ "format": "double",
+ "description": "The data pending for replication in MB at staging account.",
+ "type": "number"
+ },
+ "dataPendingAtSourceAgentInMB": {
+ "format": "double",
+ "description": "The data pending at source virtual machine in MB.",
+ "type": "number"
+ },
+ "diskState": {
+ "description": "The disk state.",
+ "type": "string"
+ },
+ "allowedDiskLevelOperation": {
+ "description": "The disk level operations list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isDiskEncrypted": {
+ "description": "A value indicating whether vm has encrypted os disk or not.",
+ "type": "boolean"
+ },
+ "secretIdentifier": {
+ "description": "The secret URL / identifier (BEK).",
+ "type": "string"
+ },
+ "dekKeyVaultArmId": {
+ "description": "The KeyVault resource id for secret (BEK).",
+ "type": "string"
+ },
+ "isDiskKeyEncrypted": {
+ "description": "A value indicating whether disk key got encrypted or not.",
+ "type": "boolean"
+ },
+ "keyIdentifier": {
+ "description": "The key URL / identifier (KEK).",
+ "type": "string"
+ },
+ "kekKeyVaultArmId": {
+ "description": "The KeyVault resource id for key (KEK).",
+ "type": "string"
+ },
+ "failoverDiskName": {
+ "description": "The failover name for the managed disk.",
+ "type": "string"
+ },
+ "tfoDiskName": {
+ "description": "The test failover name for the managed disk.",
+ "type": "string"
+ }
+ }
+ },
+ "A2AProtectedItemDetail": {
+ "description": "A2A specific switch cluster protection input.",
+ "type": "object",
+ "properties": {
+ "vmManagedDisks": {
+ "description": "The list of vm managed disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmManagedDiskInputDetails"
+ }
+ },
+ "recoveryResourceGroupId": {
+ "description": "The recovery resource group Id.",
+ "type": "string"
+ },
+ "recoveryAvailabilitySetId": {
+ "description": "The recovery availability set.",
+ "type": "string"
+ },
+ "recoveryBootDiagStorageAccountId": {
+ "description": "The boot diagnostic storage account.",
+ "type": "string"
+ },
+ "recoveryAvailabilityZone": {
+ "description": "The recovery availability zone.",
+ "type": "string"
+ },
+ "recoveryProximityPlacementGroupId": {
+ "description": "The recovery proximity placement group Id.",
+ "type": "string"
+ },
+ "recoveryVirtualMachineScaleSetId": {
+ "description": "The virtual machine scale set id.",
+ "type": "string"
+ },
+ "recoveryCapacityReservationGroupId": {
+ "description": "The recovery capacity reservation group Id.",
+ "type": "string"
+ },
+ "diskEncryptionInfo": {
+ "$ref": "#/definitions/DiskEncryptionInfo",
+ "description": "The recovery disk encryption information."
+ },
+ "replicationProtectedItemName": {
+ "description": "The Replication Protected item name.",
+ "type": "string"
+ }
+ }
+ },
+ "A2AProtectedManagedDiskDetails": {
+ "description": "A2A protected managed disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The managed disk Arm id.",
+ "type": "string"
+ },
+ "recoveryResourceGroupId": {
+ "description": "The recovery disk resource group Arm Id.",
+ "type": "string"
+ },
+ "recoveryTargetDiskId": {
+ "description": "Recovery target disk Arm Id.",
+ "type": "string"
+ },
+ "recoveryReplicaDiskId": {
+ "description": "Recovery replica disk Arm Id.",
+ "type": "string"
+ },
+ "recoveryOrignalTargetDiskId": {
+ "description": "Recovery original target disk Arm Id.",
+ "type": "string"
+ },
+ "recoveryReplicaDiskAccountType": {
+ "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.",
+ "type": "string"
+ },
+ "recoveryTargetDiskAccountType": {
+ "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.",
+ "type": "string"
+ },
+ "recoveryDiskEncryptionSetId": {
+ "description": "The recovery disk encryption set Id.",
+ "type": "string"
+ },
+ "primaryDiskEncryptionSetId": {
+ "description": "The primary disk encryption set Id.",
+ "type": "string"
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string"
+ },
+ "diskCapacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer"
+ },
+ "primaryStagingAzureStorageAccountId": {
+ "description": "The primary staging storage account.",
+ "type": "string"
+ },
+ "diskType": {
+ "description": "The type of disk.",
+ "type": "string"
+ },
+ "resyncRequired": {
+ "description": "A value indicating whether resync is required for this disk.",
+ "type": "boolean"
+ },
+ "monitoringPercentageCompletion": {
+ "format": "int32",
+ "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.",
+ "type": "integer"
+ },
+ "monitoringJobType": {
+ "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.",
+ "type": "string"
+ },
+ "dataPendingInStagingStorageAccountInMB": {
+ "format": "double",
+ "description": "The data pending for replication in MB at staging account.",
+ "type": "number"
+ },
+ "dataPendingAtSourceAgentInMB": {
+ "format": "double",
+ "description": "The data pending at source virtual machine in MB.",
+ "type": "number"
+ },
+ "diskState": {
+ "description": "The disk state.",
+ "type": "string"
+ },
+ "allowedDiskLevelOperation": {
+ "description": "The disk level operations list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isDiskEncrypted": {
+ "description": "A value indicating whether vm has encrypted os disk or not.",
+ "type": "boolean"
+ },
+ "secretIdentifier": {
+ "description": "The secret URL / identifier (BEK).",
+ "type": "string"
+ },
+ "dekKeyVaultArmId": {
+ "description": "The KeyVault resource id for secret (BEK).",
+ "type": "string"
+ },
+ "isDiskKeyEncrypted": {
+ "description": "A value indicating whether disk key got encrypted or not.",
+ "type": "boolean"
+ },
+ "keyIdentifier": {
+ "description": "The key URL / identifier (KEK).",
+ "type": "string"
+ },
+ "kekKeyVaultArmId": {
+ "description": "The KeyVault resource id for key (KEK).",
+ "type": "string"
+ },
+ "failoverDiskName": {
+ "description": "The failover name for the managed disk.",
+ "type": "string"
+ },
+ "tfoDiskName": {
+ "description": "The test failover name for the managed disk.",
+ "type": "string"
+ }
+ }
+ },
+ "A2AProtectionContainerMappingDetails": {
+ "description": "A2A provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "agentAutoUpdateStatus": {
+ "description": "A value indicating whether the auto update is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentAutoUpdateStatus",
+ "modelAsString": true
+ }
+ },
+ "automationAccountArmId": {
+ "description": "The automation account arm id.",
+ "type": "string"
+ },
+ "automationAccountAuthenticationType": {
+ "description": "A value indicating the type authentication to use for automation Account.",
+ "enum": [
+ "RunAsAccount",
+ "SystemAssignedIdentity"
+ ],
+ "type": "string",
+ "default": "RunAsAccount",
+ "x-ms-enum": {
+ "name": "AutomationAccountAuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "scheduleName": {
+ "description": "The schedule arm name.",
+ "type": "string"
+ },
+ "jobScheduleName": {
+ "description": "The job schedule arm name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AProtectionIntentDiskInputDetails": {
+ "description": "Azure VM unmanaged disk input details.",
+ "required": [
+ "diskUri"
+ ],
+ "type": "object",
+ "properties": {
+ "diskUri": {
+ "description": "The disk Uri.",
+ "type": "string"
+ },
+ "recoveryAzureStorageAccountCustomInput": {
+ "$ref": "#/definitions/StorageAccountCustomDetails",
+ "description": "The recovery VHD storage account input."
+ },
+ "primaryStagingStorageAccountCustomInput": {
+ "$ref": "#/definitions/StorageAccountCustomDetails",
+ "description": "The primary staging storage account input."
+ }
+ }
+ },
+ "A2AProtectionIntentManagedDiskInputDetails": {
+ "description": "Azure VM managed disk input details.",
+ "required": [
+ "diskId"
+ ],
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "primaryStagingStorageAccountCustomInput": {
+ "$ref": "#/definitions/StorageAccountCustomDetails",
+ "description": "The primary staging storage account input."
+ },
+ "recoveryResourceGroupCustomInput": {
+ "$ref": "#/definitions/RecoveryResourceGroupCustomDetails",
+ "description": "The recovery resource group input."
+ },
+ "recoveryReplicaDiskAccountType": {
+ "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.",
+ "type": "string"
+ },
+ "recoveryTargetDiskAccountType": {
+ "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.",
+ "type": "string"
+ },
+ "recoveryDiskEncryptionSetId": {
+ "description": "The recovery disk encryption set Id.",
+ "type": "string"
+ },
+ "diskEncryptionInfo": {
+ "$ref": "#/definitions/DiskEncryptionInfo",
+ "description": "The recovery disk encryption information (for one / single pass flows)."
+ }
+ }
+ },
+ "A2ARecoveryPointDetails": {
+ "description": "A2A provider specific recovery point details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointSyncType": {
+ "description": "A value indicating whether the recovery point is multi VM consistent.",
+ "enum": [
+ "MultiVmSyncRecoveryPoint",
+ "PerVmRecoveryPoint"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointSyncType",
+ "modelAsString": true
+ }
+ },
+ "disks": {
+ "description": "List of disk ids representing a recovery point.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2ARemoveDisksInput": {
+ "description": "A2A remove disk(s) input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RemoveDisksProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "vmDisksUris": {
+ "description": "The list of vm disk vhd URIs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "vmManagedDisksIds": {
+ "description": "The list of vm managed disk Ids.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AReplicationDetails": {
+ "description": "A2A provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "fabricObjectId": {
+ "description": "The fabric specific object Id of the virtual machine.",
+ "type": "string"
+ },
+ "initialPrimaryZone": {
+ "description": "The initial primary availability zone.",
+ "type": "string",
+ "readOnly": true
+ },
+ "initialPrimaryFabricLocation": {
+ "description": "The initial primary fabric location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "initialRecoveryZone": {
+ "description": "The initial recovery availability zone.",
+ "type": "string",
+ "readOnly": true
+ },
+ "initialPrimaryExtendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The initial primary extended location."
+ },
+ "initialRecoveryExtendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The initial recovery extended location."
+ },
+ "initialRecoveryFabricLocation": {
+ "description": "The initial recovery fabric location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "multiVmGroupId": {
+ "description": "The multi vm group Id.",
+ "type": "string"
+ },
+ "multiVmGroupName": {
+ "description": "The multi vm group name.",
+ "type": "string"
+ },
+ "multiVmGroupCreateOption": {
+ "description": "Whether Multi VM group is auto created or specified by user.",
+ "enum": [
+ "AutoCreated",
+ "UserSpecified"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MultiVmGroupCreateOption",
+ "modelAsString": true
+ }
+ },
+ "managementId": {
+ "description": "The management Id.",
+ "type": "string"
+ },
+ "protectionClusterId": {
+ "description": "The replication protection cluster Id.",
+ "type": "string"
+ },
+ "isClusterInfraReady": {
+ "description": "A value indicating if the cluster infra is ready or not.",
+ "type": "boolean"
+ },
+ "protectedDisks": {
+ "description": "The list of protected disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AProtectedDiskDetails"
+ }
+ },
+ "unprotectedDisks": {
+ "description": "The list of unprotected disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AUnprotectedDiskDetails"
+ }
+ },
+ "protectedManagedDisks": {
+ "description": "The list of protected managed disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AProtectedManagedDiskDetails"
+ }
+ },
+ "recoveryBootDiagStorageAccountId": {
+ "description": "The recovery boot diagnostic storage account Arm Id.",
+ "type": "string"
+ },
+ "primaryFabricLocation": {
+ "description": "Primary fabric location.",
+ "type": "string"
+ },
+ "recoveryFabricLocation": {
+ "description": "The recovery fabric location.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The type of operating system.",
+ "type": "string"
+ },
+ "recoveryAzureVMSize": {
+ "description": "The size of recovery virtual machine.",
+ "type": "string"
+ },
+ "recoveryAzureVMName": {
+ "description": "The name of recovery virtual machine.",
+ "type": "string"
+ },
+ "recoveryAzureResourceGroupId": {
+ "description": "The recovery resource group.",
+ "type": "string"
+ },
+ "recoveryCloudService": {
+ "description": "The recovery cloud service.",
+ "type": "string"
+ },
+ "recoveryAvailabilitySet": {
+ "description": "The recovery availability set.",
+ "type": "string"
+ },
+ "selectedRecoveryAzureNetworkId": {
+ "description": "The recovery virtual network.",
+ "type": "string"
+ },
+ "selectedTfoAzureNetworkId": {
+ "description": "The test failover virtual network.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The virtual machine nic details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "vmSyncedConfigDetails": {
+ "$ref": "#/definitions/AzureToAzureVmSyncedConfigDetails",
+ "description": "The synced configuration details."
+ },
+ "monitoringPercentageCompletion": {
+ "format": "int32",
+ "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.",
+ "type": "integer"
+ },
+ "monitoringJobType": {
+ "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the source server.",
+ "type": "string"
+ },
+ "agentVersion": {
+ "description": "The agent version.",
+ "type": "string"
+ },
+ "agentExpiryDate": {
+ "format": "date-time",
+ "description": "Agent expiry date.",
+ "type": "string"
+ },
+ "isReplicationAgentUpdateRequired": {
+ "description": "A value indicating whether replication agent update is required.",
+ "type": "boolean"
+ },
+ "agentCertificateExpiryDate": {
+ "format": "date-time",
+ "description": "Agent certificate expiry date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isReplicationAgentCertificateUpdateRequired": {
+ "description": "A value indicating whether agent certificate update is required.",
+ "type": "boolean"
+ },
+ "recoveryFabricObjectId": {
+ "description": "The recovery fabric object Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "lifecycleId": {
+ "description": "An id associated with the PE that survives actions like switch protection which change the backing PE/CPE objects internally.The lifecycle id gets carried forward to have a link/continuity in being able to have an Id that denotes the \"same\" protected item even though other internal Ids/ARM Id might be changing.",
+ "type": "string"
+ },
+ "testFailoverRecoveryFabricObjectId": {
+ "description": "The test failover fabric object Id.",
+ "type": "string"
+ },
+ "rpoInSeconds": {
+ "format": "int64",
+ "description": "The last RPO value in seconds.",
+ "type": "integer"
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The time (in UTC) when the last RPO value was calculated by Protection Service.",
+ "type": "string"
+ },
+ "primaryAvailabilityZone": {
+ "description": "The primary availability zone.",
+ "type": "string"
+ },
+ "recoveryAvailabilityZone": {
+ "description": "The recovery availability zone.",
+ "type": "string"
+ },
+ "primaryExtendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The primary Extended Location."
+ },
+ "recoveryExtendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The recovery Extended Location."
+ },
+ "vmEncryptionType": {
+ "description": "The encryption type of the VM.",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "NotEncrypted",
+ "OnePassEncrypted",
+ "TwoPassEncrypted"
+ ],
+ "x-ms-enum": {
+ "name": "VmEncryptionType",
+ "modelAsString": true
+ }
+ },
+ "tfoAzureVMName": {
+ "description": "The test failover vm name.",
+ "type": "string"
+ },
+ "recoveryAzureGeneration": {
+ "description": "The recovery azure generation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recoveryProximityPlacementGroupId": {
+ "description": "The recovery proximity placement group Id.",
+ "type": "string"
+ },
+ "autoProtectionOfDataDisk": {
+ "description": "A value indicating whether the auto protection is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AutoProtectionOfDataDisk",
+ "modelAsString": true
+ }
+ },
+ "recoveryVirtualMachineScaleSetId": {
+ "description": "The recovery virtual machine scale set id.",
+ "type": "string"
+ },
+ "recoveryCapacityReservationGroupId": {
+ "description": "The recovery capacity reservation group Id.",
+ "type": "string"
+ },
+ "churnOptionSelected": {
+ "description": "A value indicating the churn option selected by user.",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "Normal",
+ "High"
+ ],
+ "x-ms-enum": {
+ "name": "ChurnOptionSelected",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AReplicationIntentDetails": {
+ "description": "A2A provider specific settings.",
+ "required": [
+ "recoveryAvailabilityType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProtectionIntentProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "fabricObjectId": {
+ "description": "The fabric specific object Id of the virtual machine.",
+ "type": "string"
+ },
+ "primaryLocation": {
+ "description": "The primary location for the virtual machine.",
+ "type": "string"
+ },
+ "recoveryLocation": {
+ "description": "The recovery location for the virtual machine.",
+ "type": "string"
+ },
+ "recoverySubscriptionId": {
+ "description": "The recovery subscription Id of the virtual machine.",
+ "type": "string"
+ },
+ "vmDisks": {
+ "description": "The list of vm disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AProtectionIntentDiskInputDetails"
+ }
+ },
+ "vmManagedDisks": {
+ "description": "The list of vm managed disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AProtectionIntentManagedDiskInputDetails"
+ }
+ },
+ "recoveryResourceGroupId": {
+ "description": "The recovery resource group id.",
+ "type": "string"
+ },
+ "protectionProfile": {
+ "$ref": "#/definitions/ProtectionProfileCustomDetails",
+ "description": "The protection profile custom details."
+ },
+ "primaryStagingStorageAccount": {
+ "$ref": "#/definitions/StorageAccountCustomDetails",
+ "description": "The primary staging storage account details."
+ },
+ "recoveryAvailabilitySet": {
+ "$ref": "#/definitions/RecoveryAvailabilitySetCustomDetails",
+ "description": "The recovery availability set details."
+ },
+ "recoveryVirtualNetwork": {
+ "$ref": "#/definitions/RecoveryVirtualNetworkCustomDetails",
+ "description": "The recovery virtual network details."
+ },
+ "recoveryProximityPlacementGroup": {
+ "$ref": "#/definitions/RecoveryProximityPlacementGroupCustomDetails",
+ "description": "The recovery proximity placement group custom details."
+ },
+ "autoProtectionOfDataDisk": {
+ "description": "A value indicating whether the auto protection is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AutoProtectionOfDataDisk",
+ "modelAsString": true
+ }
+ },
+ "multiVmGroupName": {
+ "description": "The multi vm group name.",
+ "type": "string"
+ },
+ "multiVmGroupId": {
+ "description": "The multi vm group id.",
+ "type": "string"
+ },
+ "recoveryBootDiagStorageAccount": {
+ "$ref": "#/definitions/StorageAccountCustomDetails",
+ "description": "The boot diagnostic storage account."
+ },
+ "diskEncryptionInfo": {
+ "$ref": "#/definitions/DiskEncryptionInfo",
+ "description": "The recovery disk encryption information (for two pass flows)."
+ },
+ "recoveryAvailabilityZone": {
+ "description": "The recovery availability zone.",
+ "type": "string"
+ },
+ "recoveryAvailabilityType": {
+ "description": "The recovery availability type of the virtual machine.",
+ "type": "string"
+ },
+ "agentAutoUpdateStatus": {
+ "description": "A value indicating whether the auto update is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentAutoUpdateStatus",
+ "modelAsString": true
+ }
+ },
+ "automationAccountArmId": {
+ "description": "The automation account arm id.",
+ "type": "string"
+ },
+ "automationAccountAuthenticationType": {
+ "description": "A value indicating the type authentication to use for automation Account.",
+ "enum": [
+ "RunAsAccount",
+ "SystemAssignedIdentity"
+ ],
+ "type": "string",
+ "default": "RunAsAccount",
+ "x-ms-enum": {
+ "name": "AutomationAccountAuthenticationType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AReplicationProtectionClusterDetails": {
+ "description": "A2A provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationClusterProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "multiVmGroupId": {
+ "description": "The multi vm group Id.",
+ "type": "string"
+ },
+ "multiVmGroupName": {
+ "description": "The multi vm group name.",
+ "type": "string"
+ },
+ "multiVmGroupCreateOption": {
+ "description": "Whether Multi VM group is auto created or specified by user.",
+ "enum": [
+ "AutoCreated",
+ "UserSpecified"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MultiVmGroupCreateOption",
+ "modelAsString": true
+ }
+ },
+ "primaryFabricLocation": {
+ "description": "Primary fabric location.",
+ "type": "string"
+ },
+ "recoveryFabricLocation": {
+ "description": "The recovery fabric location.",
+ "type": "string"
+ },
+ "failoverRecoveryPointId": {
+ "description": "The recovery point Id to which the cluster was failed over.",
+ "type": "string"
+ },
+ "clusterManagementId": {
+ "description": "The cluster management Id.",
+ "type": "string"
+ },
+ "rpoInSeconds": {
+ "format": "int64",
+ "description": "The last RPO value in seconds.",
+ "type": "integer"
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The time (in UTC) when the last RPO value was calculated by Protection Service.",
+ "type": "string"
+ },
+ "initialPrimaryZone": {
+ "description": "The initial primary availability zone.",
+ "type": "string"
+ },
+ "initialPrimaryFabricLocation": {
+ "description": "The initial primary fabric location.",
+ "type": "string"
+ },
+ "initialRecoveryZone": {
+ "description": "The initial recovery availability zone.",
+ "type": "string"
+ },
+ "initialRecoveryFabricLocation": {
+ "description": "The initial recovery fabric location.",
+ "type": "string"
+ },
+ "initialPrimaryExtendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The initial primary extended location."
+ },
+ "initialRecoveryExtendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The initial recovery extended location."
+ },
+ "primaryAvailabilityZone": {
+ "description": "The primary availability zone.",
+ "type": "string"
+ },
+ "recoveryAvailabilityZone": {
+ "description": "The recovery availability zone.",
+ "type": "string"
+ },
+ "primaryExtendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The primary Extended Location."
+ },
+ "recoveryExtendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The recovery Extended Location."
+ },
+ "lifecycleId": {
+ "description": "An id that survives actions like switch protection which change the backing PE/CPE objects internally.The lifecycle id gets carried forward to have a link/continuity in being able to have an Id that denotes the \"same\" protected cluster even though other internal Ids/ARM Id might be changing.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AReprotectInput": {
+ "description": "Azure specific reprotect input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReverseReplicationProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryContainerId": {
+ "description": "The recovery container Id.",
+ "type": "string"
+ },
+ "vmDisks": {
+ "description": "The list of vm disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmDiskInputDetails"
+ }
+ },
+ "recoveryResourceGroupId": {
+ "description": "The recovery resource group Id. Valid for V2 scenarios.",
+ "type": "string"
+ },
+ "recoveryCloudServiceId": {
+ "description": "The recovery cloud service Id. Valid for V1 scenarios.",
+ "type": "string"
+ },
+ "recoveryAvailabilitySetId": {
+ "description": "The recovery availability set.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "The Policy Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2ASharedDiskIRErrorDetails": {
+ "description": "Extended location of the resource.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorCodeEnum": {
+ "description": "The error code enum.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessage": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "possibleCauses": {
+ "description": "The possible causes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendedAction": {
+ "description": "The recommended action.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "A2ASharedDiskReplicationDetails": {
+ "description": "A2A provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SharedDiskReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "managementId": {
+ "description": "The management Id.",
+ "type": "string"
+ },
+ "unprotectedDisks": {
+ "description": "The list of unprotected disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AUnprotectedDiskDetails"
+ },
+ "x-ms-identifiers": [
+ "diskLunId"
+ ]
+ },
+ "protectedManagedDisks": {
+ "description": "The list of protected managed disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AProtectedManagedDiskDetails"
+ },
+ "x-ms-identifiers": [
+ "diskId"
+ ]
+ },
+ "primaryFabricLocation": {
+ "description": "Primary fabric location.",
+ "type": "string"
+ },
+ "recoveryFabricLocation": {
+ "description": "The recovery fabric location.",
+ "type": "string"
+ },
+ "failoverRecoveryPointId": {
+ "description": "The recovery point id to which the Virtual node was failed over.",
+ "type": "string"
+ },
+ "monitoringPercentageCompletion": {
+ "format": "int32",
+ "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.",
+ "type": "integer"
+ },
+ "monitoringJobType": {
+ "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.",
+ "type": "string"
+ },
+ "rpoInSeconds": {
+ "format": "int64",
+ "description": "The last RPO value in seconds.",
+ "type": "integer"
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The time (in UTC) when the last RPO value was calculated by Protection Service.",
+ "type": "string"
+ },
+ "sharedDiskIRErrors": {
+ "description": "The IR Errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2ASharedDiskIRErrorDetails"
+ },
+ "x-ms-identifiers": [
+ "errorCode"
+ ]
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2ASwitchClusterProtectionInput": {
+ "description": "A2A specific switch cluster protection input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SwitchClusterProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryContainerId": {
+ "description": "The recovery container Id.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "The Policy Id.",
+ "type": "string"
+ },
+ "protectedItemsDetail": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AProtectedItemDetail"
+ },
+ "x-ms-identifiers": [
+ "replicationProtectedItemName"
+ ]
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2ASwitchProtectionInput": {
+ "description": "A2A specific switch protection input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SwitchProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryContainerId": {
+ "description": "The recovery container Id.",
+ "type": "string"
+ },
+ "vmDisks": {
+ "description": "The list of vm disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmDiskInputDetails"
+ }
+ },
+ "vmManagedDisks": {
+ "description": "The list of vm managed disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmManagedDiskInputDetails"
+ }
+ },
+ "recoveryResourceGroupId": {
+ "description": "The recovery resource group Id. Valid for V2 scenarios.",
+ "type": "string"
+ },
+ "recoveryCloudServiceId": {
+ "description": "The recovery cloud service Id. Valid for V1 scenarios.",
+ "type": "string"
+ },
+ "recoveryAvailabilitySetId": {
+ "description": "The recovery availability set.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "The Policy Id.",
+ "type": "string"
+ },
+ "recoveryBootDiagStorageAccountId": {
+ "description": "The boot diagnostic storage account.",
+ "type": "string"
+ },
+ "recoveryAvailabilityZone": {
+ "description": "The recovery availability zone.",
+ "type": "string"
+ },
+ "recoveryProximityPlacementGroupId": {
+ "description": "The recovery proximity placement group Id.",
+ "type": "string"
+ },
+ "recoveryVirtualMachineScaleSetId": {
+ "description": "The virtual machine scale set id.",
+ "type": "string"
+ },
+ "recoveryCapacityReservationGroupId": {
+ "description": "The recovery capacity reservation group Id.",
+ "type": "string"
+ },
+ "diskEncryptionInfo": {
+ "$ref": "#/definitions/DiskEncryptionInfo",
+ "description": "The recovery disk encryption information."
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2ATestFailoverInput": {
+ "description": "A2A provider specific input for test failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TestFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ },
+ "cloudServiceCreationOption": {
+ "description": "A value indicating whether to use recovery cloud service for TFO or not.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AUnplannedFailoverInput": {
+ "description": "A2A provider specific input for unplanned failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ },
+ "cloudServiceCreationOption": {
+ "description": "A value indicating whether to use recovery cloud service for failover or not.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AUnprotectedDiskDetails": {
+ "description": "A2A unprotected disk details.",
+ "type": "object",
+ "properties": {
+ "diskLunId": {
+ "format": "int32",
+ "description": "The source lun Id for the data disk.",
+ "type": "integer"
+ },
+ "diskAutoProtectionStatus": {
+ "description": "A value indicating whether the disk auto protection is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AutoProtectionOfDataDisk",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "A2AUpdateContainerMappingInput": {
+ "description": "A2A update protection container mapping.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificUpdateContainerMappingInput"
+ }
+ ],
+ "properties": {
+ "agentAutoUpdateStatus": {
+ "description": "A value indicating whether the auto update is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentAutoUpdateStatus",
+ "modelAsString": true
+ }
+ },
+ "automationAccountArmId": {
+ "description": "The automation account arm id.",
+ "type": "string"
+ },
+ "automationAccountAuthenticationType": {
+ "description": "A value indicating the type authentication to use for automation Account.",
+ "enum": [
+ "RunAsAccount",
+ "SystemAssignedIdentity"
+ ],
+ "type": "string",
+ "default": "RunAsAccount",
+ "x-ms-enum": {
+ "name": "AutomationAccountAuthenticationType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AUpdateReplicationProtectedItemInput": {
+ "description": "InMage Azure V2 input to update replication protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput"
+ }
+ ],
+ "properties": {
+ "recoveryCloudServiceId": {
+ "description": "The target cloud service ARM Id (for V1).",
+ "type": "string"
+ },
+ "recoveryResourceGroupId": {
+ "description": "The target resource group ARM Id (for V2).",
+ "type": "string"
+ },
+ "managedDiskUpdateDetails": {
+ "description": "Managed disk update details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AVmManagedDiskUpdateDetails"
+ }
+ },
+ "recoveryBootDiagStorageAccountId": {
+ "description": "The boot diagnostic storage account.",
+ "type": "string"
+ },
+ "diskEncryptionInfo": {
+ "$ref": "#/definitions/DiskEncryptionInfo",
+ "description": "The recovery os disk encryption information."
+ },
+ "tfoAzureVMName": {
+ "description": "The user given name for Test Failover VM.",
+ "type": "string"
+ },
+ "recoveryProximityPlacementGroupId": {
+ "description": "The recovery proximity placement group Id.",
+ "type": "string"
+ },
+ "recoveryVirtualMachineScaleSetId": {
+ "description": "The recovery virtual machine scale set Id.",
+ "type": "string"
+ },
+ "recoveryCapacityReservationGroupId": {
+ "description": "The recovery capacity reservation group Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AVmDiskInputDetails": {
+ "description": "A2A disk input details.",
+ "required": [
+ "diskUri",
+ "recoveryAzureStorageAccountId",
+ "primaryStagingAzureStorageAccountId"
+ ],
+ "type": "object",
+ "properties": {
+ "diskUri": {
+ "description": "The disk Uri.",
+ "type": "string"
+ },
+ "recoveryAzureStorageAccountId": {
+ "description": "The recovery VHD storage account Id.",
+ "type": "string"
+ },
+ "primaryStagingAzureStorageAccountId": {
+ "description": "The primary staging storage account Id.",
+ "type": "string"
+ }
+ }
+ },
+ "A2AVmManagedDiskInputDetails": {
+ "description": "A2A managed disk input details.",
+ "required": [
+ "diskId",
+ "primaryStagingAzureStorageAccountId",
+ "recoveryResourceGroupId"
+ ],
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "primaryStagingAzureStorageAccountId": {
+ "description": "The primary staging storage account Arm Id.",
+ "type": "string"
+ },
+ "recoveryResourceGroupId": {
+ "description": "The target resource group Arm Id.",
+ "type": "string"
+ },
+ "recoveryReplicaDiskAccountType": {
+ "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.",
+ "type": "string"
+ },
+ "recoveryTargetDiskAccountType": {
+ "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.",
+ "type": "string"
+ },
+ "recoveryDiskEncryptionSetId": {
+ "description": "The recovery disk encryption set Id.",
+ "type": "string"
+ },
+ "diskEncryptionInfo": {
+ "$ref": "#/definitions/DiskEncryptionInfo",
+ "description": "The recovery disk encryption information (for one / single pass flows)."
+ }
+ }
+ },
+ "A2AVmManagedDiskUpdateDetails": {
+ "description": "A2A Vm managed disk update details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "recoveryTargetDiskAccountType": {
+ "description": "The target disk type before failover.",
+ "type": "string"
+ },
+ "recoveryReplicaDiskAccountType": {
+ "description": "The replica disk type before failover.",
+ "type": "string"
+ },
+ "diskEncryptionInfo": {
+ "$ref": "#/definitions/DiskEncryptionInfo",
+ "description": "The recovery os disk encryption information."
+ },
+ "failoverDiskName": {
+ "description": "The target disk name for unplanned failover operation.",
+ "type": "string"
+ },
+ "tfoDiskName": {
+ "description": "The target disk name for test failover operation.",
+ "type": "string"
+ }
+ }
+ },
+ "A2AZoneDetails": {
+ "description": "Zone details data.",
+ "type": "object",
+ "properties": {
+ "source": {
+ "description": "Source zone info.",
+ "type": "string"
+ },
+ "target": {
+ "description": "The target zone info.",
+ "type": "string"
+ }
+ }
+ },
+ "AddDisksInput": {
+ "description": "Input for add disk(s) operation.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AddDisksInputProperties",
+ "description": "Add disks input properties."
+ }
+ }
+ },
+ "AddDisksInputProperties": {
+ "description": "Add Disks input properties.",
+ "required": [
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/AddDisksProviderSpecificInput",
+ "description": "The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null."
+ }
+ }
+ },
+ "AddDisksProviderSpecificInput": {
+ "description": "Add Disks provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "AddRecoveryServicesProviderInput": {
+ "description": "Input required to add a provider.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AddRecoveryServicesProviderInputProperties",
+ "description": "The properties of an add provider request."
+ }
+ }
+ },
+ "AddRecoveryServicesProviderInputProperties": {
+ "description": "The properties of an add provider request.",
+ "required": [
+ "machineName",
+ "authenticationIdentityInput",
+ "resourceAccessIdentityInput"
+ ],
+ "type": "object",
+ "properties": {
+ "machineName": {
+ "description": "The name of the machine where the provider is getting added.",
+ "type": "string"
+ },
+ "machineId": {
+ "description": "The Id of the machine where the provider is getting added.",
+ "type": "string"
+ },
+ "biosId": {
+ "description": "The Bios Id of the machine.",
+ "type": "string"
+ },
+ "authenticationIdentityInput": {
+ "$ref": "#/definitions/IdentityProviderInput",
+ "description": "The identity provider input for DRA authentication."
+ },
+ "resourceAccessIdentityInput": {
+ "$ref": "#/definitions/IdentityProviderInput",
+ "description": "The identity provider input for resource access."
+ },
+ "dataPlaneAuthenticationIdentityInput": {
+ "$ref": "#/definitions/IdentityProviderInput",
+ "description": "The identity provider input for data plane authentication."
+ }
+ }
+ },
+ "AddVCenterRequest": {
+ "description": "Input required to add vCenter.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AddVCenterRequestProperties",
+ "description": "The properties of an add vCenter request."
+ }
+ }
+ },
+ "AddVCenterRequestProperties": {
+ "description": "The properties of an add vCenter request.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The friendly name of the vCenter.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address of the vCenter to be discovered.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The process server Id from where the discovery is orchestrated.",
+ "type": "string"
+ },
+ "port": {
+ "description": "The port number for discovery.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The account Id which has privileges to discover the vCenter.",
+ "type": "string"
+ }
+ }
+ },
+ "AgentDetails": {
+ "description": "Agent details.",
+ "type": "object",
+ "properties": {
+ "agentId": {
+ "description": "The Id of the agent running on the server.",
+ "type": "string",
+ "readOnly": true
+ },
+ "machineId": {
+ "description": "The Id of the machine to which the agent is registered.",
+ "type": "string",
+ "readOnly": true
+ },
+ "biosId": {
+ "description": "The machine BIOS Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fqdn": {
+ "description": "The machine FQDN.",
+ "type": "string",
+ "readOnly": true
+ },
+ "disks": {
+ "description": "The disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AgentDiskDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "AgentDiskDetails": {
+ "description": "Agent disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isOSDisk": {
+ "description": "A value indicating whether the disk is the OS disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "capacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "lunId": {
+ "format": "int32",
+ "description": "The lun of disk.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "Alert": {
+ "description": "Implements the Alert class.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AlertProperties",
+ "description": "Alert related data."
+ }
+ }
+ },
+ "AlertCollection": {
+ "description": "Collection of alerts.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of alerts.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "AlertProperties": {
+ "description": "The properties of an alert.",
+ "type": "object",
+ "properties": {
+ "sendToOwners": {
+ "description": "A value indicating whether to send email to subscription administrator.",
+ "type": "string"
+ },
+ "customEmailAddresses": {
+ "description": "The custom email address for sending emails.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "locale": {
+ "description": "The locale for the email notification.",
+ "type": "string"
+ }
+ }
+ },
+ "ApplianceCollection": {
+ "description": "Collection of appliance details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The appliance details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicationAppliance"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "ApplianceMonitoringDetails": {
+ "description": "Appliance details of the migration item.",
+ "type": "object",
+ "properties": {
+ "cpuDetails": {
+ "$ref": "#/definitions/ApplianceResourceDetails",
+ "description": "The appliance CPU details.",
+ "readOnly": true
+ },
+ "ramDetails": {
+ "$ref": "#/definitions/ApplianceResourceDetails",
+ "description": "The appliance RAM details.",
+ "readOnly": true
+ },
+ "datastoreSnapshot": {
+ "description": "The appliance datastore snapshot details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataStoreUtilizationDetails"
+ },
+ "readOnly": true,
+ "x-ms-identifiers": []
+ },
+ "disksReplicationDetails": {
+ "$ref": "#/definitions/ApplianceResourceDetails",
+ "description": "The disk replication details.",
+ "readOnly": true
+ },
+ "esxiNfcBuffer": {
+ "$ref": "#/definitions/ApplianceResourceDetails",
+ "description": "The ESXi NFC buffer details.",
+ "readOnly": true
+ },
+ "networkBandwidth": {
+ "$ref": "#/definitions/ApplianceResourceDetails",
+ "description": "The appliance network bandwidth details.",
+ "readOnly": true
+ }
+ }
+ },
+ "ApplianceQueryParameter": {
+ "description": "Query parameter to get appliance.",
+ "type": "object",
+ "properties": {
+ "providerType": {
+ "description": "The providerType to be used for fetching appliance details.",
+ "type": "string"
+ }
+ }
+ },
+ "ApplianceResourceDetails": {
+ "description": "Details of the appliance resource.",
+ "type": "object",
+ "properties": {
+ "capacity": {
+ "format": "int64",
+ "description": "A value indicating the total capacity of appliance resource.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "processUtilization": {
+ "format": "double",
+ "description": "A value indicating the utilization percentage by gateway agent on appliance.",
+ "type": "number",
+ "readOnly": true
+ },
+ "totalUtilization": {
+ "format": "double",
+ "description": "A value indicating the total utilization percentage for all processes on the appliance.",
+ "type": "number",
+ "readOnly": true
+ },
+ "status": {
+ "description": "A value indicating the status of appliance resource.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ApplianceSpecificDetails": {
+ "description": "Appliance specific details.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overridden in derived classes.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType",
+ "required": [
+ "instanceType"
+ ]
+ },
+ "ApplyClusterRecoveryPointInput": {
+ "description": "Input definition for apply cluster recovery point.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ApplyClusterRecoveryPointInputProperties",
+ "description": "The properties to apply cluster recovery point input."
+ }
+ }
+ },
+ "ApplyClusterRecoveryPointInputProperties": {
+ "description": "Input definition for apply cluster recovery point properties.",
+ "required": [
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "clusterRecoveryPointId": {
+ "description": "The cluster recovery point id to be passed to failover to a particular recovery point.",
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionClusters/recoveryPoints"
+ }
+ ]
+ }
+ },
+ "individualNodeRecoveryPoints": {
+ "description": "The list of individual node recovery points.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems"
+ }
+ ]
+ }
+ }
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ApplyClusterRecoveryPointProviderSpecificInput",
+ "description": "The provider specific input for applying cluster recovery point."
+ }
+ }
+ },
+ "ApplyClusterRecoveryPointProviderSpecificInput": {
+ "description": "Provider specific input for apply cluster recovery point.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ApplyRecoveryPointInput": {
+ "description": "Input to apply recovery point.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ApplyRecoveryPointInputProperties",
+ "description": "The input properties to apply recovery point."
+ }
+ }
+ },
+ "ApplyRecoveryPointInputProperties": {
+ "description": "Input properties to apply recovery point.",
+ "required": [
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "recoveryPointId": {
+ "description": "The recovery point Id.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput",
+ "description": "Provider specific input for applying recovery point."
+ }
+ }
+ },
+ "ApplyRecoveryPointProviderSpecificInput": {
+ "description": "Provider specific input for apply recovery point.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "AsrJobDetails": {
+ "description": "This class represents job details based on specific job type.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "AsrJobDetails"
+ },
+ "ASRTask": {
+ "description": "Task of the Job.",
+ "type": "object",
+ "properties": {
+ "taskId": {
+ "description": "The Id.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The unique Task name.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "allowedActions": {
+ "description": "The state/actions applicable on this task.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "friendlyName": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The State. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.",
+ "type": "string"
+ },
+ "stateDescription": {
+ "description": "The description of the task state. For example - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.",
+ "type": "string"
+ },
+ "taskType": {
+ "description": "The type of task. Details in CustomDetails property depend on this type.",
+ "type": "string"
+ },
+ "customDetails": {
+ "$ref": "#/definitions/TaskTypeDetails",
+ "description": "The custom task details based on the task type."
+ },
+ "groupTaskCustomDetails": {
+ "$ref": "#/definitions/GroupTaskDetails",
+ "description": "The custom task details based on the task type, if the task type is GroupTaskDetails or one of the types derived from it."
+ },
+ "errors": {
+ "description": "The task error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobErrorDetails"
+ }
+ }
+ }
+ },
+ "AutomationRunbookTaskDetails": {
+ "description": "This class represents the task details for an automation runbook.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskTypeDetails"
+ }
+ ],
+ "properties": {
+ "name": {
+ "description": "The recovery plan task name.",
+ "type": "string"
+ },
+ "cloudServiceName": {
+ "description": "The cloud service of the automation runbook account.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "The subscription Id of the automation runbook account.",
+ "type": "string"
+ },
+ "accountName": {
+ "description": "The automation account name of the runbook.",
+ "type": "string"
+ },
+ "runbookId": {
+ "description": "The runbook Id.",
+ "type": "string"
+ },
+ "runbookName": {
+ "description": "The runbook name.",
+ "type": "string"
+ },
+ "jobId": {
+ "description": "The job Id of the runbook execution.",
+ "type": "string"
+ },
+ "jobOutput": {
+ "description": "The execution output of the runbook.",
+ "type": "string"
+ },
+ "isPrimarySideScript": {
+ "description": "A value indicating whether it is a primary side script or not.",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "AutomationRunbookTaskDetails"
+ },
+ "AzureFabricCreationInput": {
+ "description": "Fabric provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificCreationInput"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "The Location.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "Azure"
+ },
+ "AzureFabricSpecificDetails": {
+ "description": "Azure Fabric Specific Details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificDetails"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "The Location for the Azure fabric.",
+ "type": "string"
+ },
+ "containerIds": {
+ "description": "The container Ids for the Azure fabric.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "zones": {
+ "description": "The zones.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AZoneDetails"
+ }
+ },
+ "extendedLocations": {
+ "description": "The ExtendedLocations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AExtendedLocationDetails"
+ },
+ "x-ms-identifiers": []
+ },
+ "locationDetails": {
+ "description": "The location details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/A2AFabricSpecificLocationDetails"
+ },
+ "x-ms-identifiers": []
+ }
+ },
+ "x-ms-discriminator-value": "Azure"
+ },
+ "AzureToAzureCreateNetworkMappingInput": {
+ "description": "Create network mappings input properties/behavior specific to Azure to Azure Network mapping.",
+ "required": [
+ "primaryNetworkId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput"
+ }
+ ],
+ "properties": {
+ "primaryNetworkId": {
+ "description": "The primary azure vnet Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureToAzure"
+ },
+ "AzureToAzureNetworkMappingSettings": {
+ "description": "A2A Network Mapping fabric specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NetworkMappingFabricSpecificSettings"
+ }
+ ],
+ "properties": {
+ "primaryFabricLocation": {
+ "description": "The primary fabric location.",
+ "type": "string"
+ },
+ "recoveryFabricLocation": {
+ "description": "The recovery fabric location.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureToAzure"
+ },
+ "AzureToAzureUpdateNetworkMappingInput": {
+ "description": "Updates network mappings input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput"
+ }
+ ],
+ "properties": {
+ "primaryNetworkId": {
+ "description": "The primary azure vnet Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureToAzure"
+ },
+ "AzureToAzureVmSyncedConfigDetails": {
+ "description": "Azure to Azure VM synced configuration details.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The Azure VM tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "inputEndpoints": {
+ "description": "The Azure VM input endpoints.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InputEndpoint"
+ }
+ }
+ }
+ },
+ "AzureVmDiskDetails": {
+ "description": "Disk details for E2A provider.",
+ "type": "object",
+ "properties": {
+ "vhdType": {
+ "description": "VHD type.",
+ "type": "string"
+ },
+ "vhdId": {
+ "description": "The VHD id.",
+ "type": "string"
+ },
+ "diskId": {
+ "description": "The disk resource id.",
+ "type": "string"
+ },
+ "vhdName": {
+ "description": "VHD name.",
+ "type": "string"
+ },
+ "maxSizeMB": {
+ "description": "Max side in MB.",
+ "type": "string"
+ },
+ "targetDiskLocation": {
+ "description": "Blob uri of the Azure disk.",
+ "type": "string"
+ },
+ "targetDiskName": {
+ "description": "The target Azure disk name.",
+ "type": "string"
+ },
+ "lunId": {
+ "description": "Ordinal\\LunId of the disk for the Azure VM.",
+ "type": "string"
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM ID.",
+ "type": "string"
+ },
+ "customTargetDiskName": {
+ "description": "The custom target Azure disk name.",
+ "type": "string"
+ }
+ }
+ },
+ "ClusterFailoverJobDetails": {
+ "description": "This class represents the details for a failover job of cluster.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "protectedItemDetails": {
+ "description": "The test VM details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FailoverReplicationProtectedItemDetails"
+ },
+ "x-ms-identifiers": [
+ "name"
+ ]
+ }
+ },
+ "x-ms-discriminator-value": "ClusterFailoverJobDetails"
+ },
+ "ClusterProviderSpecificRecoveryPointDetails": {
+ "description": "Replication provider specific cluster recovery point details.",
+ "type": "object",
+ "required": [
+ "instanceType"
+ ],
+ "properties": {
+ "instanceType": {
+ "description": "Gets the provider type.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ClusterRecoveryPoint": {
+ "description": "Recovery point.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The recovery point Id.",
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionClusters/recoveryPoints"
+ }
+ ]
+ }
+ },
+ "name": {
+ "description": "The name of the recovery point.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The resource type.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/ClusterRecoveryPointProperties",
+ "description": "The recovery point properties."
+ }
+ }
+ },
+ "ClusterRecoveryPointCollection": {
+ "description": "Collection of cluster recovery point details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The cluster recovery point details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClusterRecoveryPoint"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "ClusterRecoveryPointProperties": {
+ "description": "Cluster recovery point properties.",
+ "type": "object",
+ "properties": {
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "The recovery point time.",
+ "type": "string"
+ },
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "NotSpecified",
+ "ApplicationConsistent",
+ "CrashConsistent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ClusterRecoveryPointType",
+ "modelAsString": true
+ }
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ClusterProviderSpecificRecoveryPointDetails",
+ "description": "The provider specific details for the recovery point."
+ }
+ }
+ },
+ "ClusterSwitchProtectionJobDetails": {
+ "description": "This class represents details for switch cluster protection job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "newReplicationProtectionClusterId": {
+ "description": "ARM Id of the new replication protection cluster.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ClusterSwitchProtectionJobDetails"
+ },
+ "ClusterTestFailoverCleanupInput": {
+ "description": "Input definition for test failover cleanup for cluster.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ClusterTestFailoverCleanupInputProperties",
+ "description": "Test failover cleanup input properties."
+ }
+ }
+ },
+ "ClusterTestFailoverCleanupInputProperties": {
+ "description": "Input definition for test failover cleanup input properties.",
+ "type": "object",
+ "properties": {
+ "comments": {
+ "description": "Test failover cleanup comments.",
+ "maxLength": 1024,
+ "type": "string"
+ }
+ }
+ },
+ "ClusterTestFailoverInput": {
+ "description": "Input definition for test cluster failover.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ClusterTestFailoverInputProperties",
+ "description": "Test failover input properties."
+ }
+ }
+ },
+ "ClusterTestFailoverInputProperties": {
+ "description": "Input definition for test failover input properties.",
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "Failover direction.",
+ "enum": [
+ "PrimaryToRecovery",
+ "RecoveryToPrimary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "FailoverDirection",
+ "modelAsString": true
+ }
+ },
+ "networkType": {
+ "description": "Network type to be used for test failover.",
+ "type": "string"
+ },
+ "networkId": {
+ "description": "The id of the network to be used for test failover.",
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.Network/virtualNetworks"
+ }
+ ]
+ }
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ClusterTestFailoverProviderSpecificInput",
+ "description": "Provider specific settings."
+ }
+ }
+ },
+ "ClusterTestFailoverJobDetails": {
+ "description": "This class represents the details for a test failover job of cluster.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "testFailoverStatus": {
+ "description": "The test failover status.",
+ "type": "string"
+ },
+ "comments": {
+ "description": "The test failover comments.",
+ "type": "string"
+ },
+ "networkName": {
+ "description": "The test network name.",
+ "type": "string"
+ },
+ "networkFriendlyName": {
+ "description": "The test network friendly name.",
+ "type": "string"
+ },
+ "networkType": {
+ "description": "The test network type (see TestFailoverInput enum for possible values).",
+ "type": "string"
+ },
+ "protectedItemDetails": {
+ "description": "The test VM details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FailoverReplicationProtectedItemDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ClusterTestFailoverJobDetails"
+ },
+ "ClusterTestFailoverProviderSpecificInput": {
+ "description": "Provider specific test cluster failover input.",
+ "type": "object",
+ "required": [
+ "instanceType"
+ ],
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ClusterUnplannedFailoverInput": {
+ "description": "Input definition for unplanned cluster failover.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ClusterUnplannedFailoverInputProperties",
+ "description": "Unplanned failover input properties."
+ }
+ }
+ },
+ "ClusterUnplannedFailoverInputProperties": {
+ "description": "Input definition for unplanned failover input properties.",
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "Failover direction.",
+ "type": "string"
+ },
+ "sourceSiteOperations": {
+ "description": "Source site operations status.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ClusterUnplannedFailoverProviderSpecificInput",
+ "description": "Provider specific settings."
+ }
+ }
+ },
+ "ClusterUnplannedFailoverProviderSpecificInput": {
+ "description": "Provider specific unplanned cluster failover input.",
+ "type": "object",
+ "required": [
+ "instanceType"
+ ],
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ComputeSizeErrorDetails": {
+ "description": "Represents the error used to indicate why the target compute size is not applicable.",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "The error message.",
+ "type": "string"
+ },
+ "severity": {
+ "description": "The severity of the error.",
+ "type": "string"
+ }
+ }
+ },
+ "ConfigurationSettings": {
+ "description": "Replication provider specific settings.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overridden in derived classes.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ConfigureAlertRequest": {
+ "description": "Request to configure alerts for the system.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConfigureAlertRequestProperties",
+ "description": "The properties of a configure alert request."
+ }
+ }
+ },
+ "ConfigureAlertRequestProperties": {
+ "description": "Properties of a configure alert request.",
+ "type": "object",
+ "properties": {
+ "sendToOwners": {
+ "description": "A value indicating whether to send email to subscription administrator.",
+ "type": "string"
+ },
+ "customEmailAddresses": {
+ "description": "The custom email address for sending emails.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "locale": {
+ "description": "The locale for the email notification.",
+ "type": "string"
+ }
+ }
+ },
+ "ConsistencyCheckTaskDetails": {
+ "description": "This class contains monitoring details of all the inconsistent Protected Entities in Vmm.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskTypeDetails"
+ }
+ ],
+ "properties": {
+ "vmDetails": {
+ "description": "The list of inconsistent Vm details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InconsistentVmDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ConsistencyCheckTaskDetails"
+ },
+ "CreateNetworkMappingInput": {
+ "description": "Create network mappings input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CreateNetworkMappingInputProperties",
+ "description": "Input properties for creating network mapping."
+ }
+ }
+ },
+ "CreateNetworkMappingInputProperties": {
+ "description": "Common input details for network mapping operation.",
+ "required": [
+ "recoveryNetworkId"
+ ],
+ "type": "object",
+ "properties": {
+ "recoveryFabricName": {
+ "description": "Recovery fabric Name.",
+ "type": "string"
+ },
+ "recoveryNetworkId": {
+ "description": "Recovery network Id.",
+ "type": "string"
+ },
+ "fabricSpecificDetails": {
+ "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput",
+ "description": "Fabric specific input properties."
+ }
+ }
+ },
+ "CreatePolicyInput": {
+ "description": "Protection Policy input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CreatePolicyInputProperties",
+ "description": "Policy creation properties."
+ }
+ }
+ },
+ "CreatePolicyInputProperties": {
+ "description": "Policy creation properties.",
+ "type": "object",
+ "properties": {
+ "providerSpecificInput": {
+ "$ref": "#/definitions/PolicyProviderSpecificInput",
+ "description": "The ReplicationProviderSettings."
+ }
+ }
+ },
+ "CreateProtectionContainerInput": {
+ "description": "Create protection container input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CreateProtectionContainerInputProperties",
+ "description": "Create protection container input properties."
+ }
+ }
+ },
+ "CreateProtectionContainerInputProperties": {
+ "description": "Create protection container input properties.",
+ "type": "object",
+ "properties": {
+ "providerSpecificInput": {
+ "description": "Provider specific inputs for container creation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput"
+ }
+ }
+ }
+ },
+ "CreateProtectionContainerMappingInput": {
+ "description": "Configure pairing input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CreateProtectionContainerMappingInputProperties",
+ "description": "Configure protection input properties."
+ }
+ }
+ },
+ "CreateProtectionContainerMappingInputProperties": {
+ "description": "Configure pairing input properties.",
+ "type": "object",
+ "properties": {
+ "targetProtectionContainerId": {
+ "description": "The target unique protection container name.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "Applicable policy.",
+ "type": "string"
+ },
+ "providerSpecificInput": {
+ "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput",
+ "description": "Provider specific input for pairing."
+ }
+ }
+ },
+ "CreateProtectionIntentInput": {
+ "description": "Create protection intent input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CreateProtectionIntentProperties",
+ "description": "Create protection intent input properties."
+ }
+ }
+ },
+ "CreateProtectionIntentProperties": {
+ "description": "Create protection intent input properties.",
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/CreateProtectionIntentProviderSpecificDetails",
+ "description": "The ReplicationProviderInput. For A2A provider, it will be A2ACreateProtectionIntentInput object."
+ }
+ }
+ },
+ "CreateProtectionIntentProviderSpecificDetails": {
+ "description": "Create protection intent provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "CreateRecoveryPlanInput": {
+ "description": "Create recovery plan input class.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CreateRecoveryPlanInputProperties",
+ "description": "Recovery plan creation properties."
+ }
+ }
+ },
+ "CreateRecoveryPlanInputProperties": {
+ "description": "Recovery plan creation properties.",
+ "required": [
+ "primaryFabricId",
+ "recoveryFabricId",
+ "groups"
+ ],
+ "type": "object",
+ "properties": {
+ "primaryFabricId": {
+ "description": "The primary fabric Id.",
+ "type": "string"
+ },
+ "recoveryFabricId": {
+ "description": "The recovery fabric Id.",
+ "type": "string"
+ },
+ "failoverDeploymentModel": {
+ "description": "The failover deployment model.",
+ "enum": [
+ "NotApplicable",
+ "Classic",
+ "ResourceManager"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "FailoverDeploymentModel",
+ "modelAsString": true
+ }
+ },
+ "groups": {
+ "description": "The recovery plan groups.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanGroup"
+ }
+ },
+ "providerSpecificInput": {
+ "description": "The provider specific input.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificInput"
+ }
+ }
+ }
+ },
+ "CriticalJobHistoryDetails": {
+ "description": "Critical past job details of the migration item.",
+ "type": "object",
+ "properties": {
+ "jobName": {
+ "description": "The job name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "jobId": {
+ "description": "The ARM Id of the job being executed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "jobStatus": {
+ "description": "The job state.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "CurrentJobDetails": {
+ "description": "Current job details of the migration item.",
+ "type": "object",
+ "properties": {
+ "jobName": {
+ "description": "The job name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "jobId": {
+ "description": "The ARM Id of the job being executed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time of the job.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "CurrentScenarioDetails": {
+ "description": "Current scenario details of the protected entity.",
+ "type": "object",
+ "properties": {
+ "scenarioName": {
+ "description": "Scenario name.",
+ "type": "string"
+ },
+ "jobId": {
+ "description": "ARM Id of the job being executed.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Start time of the workflow.",
+ "type": "string"
+ }
+ }
+ },
+ "DataStore": {
+ "description": "The datastore details of the MT.",
+ "type": "object",
+ "properties": {
+ "symbolicName": {
+ "description": "The symbolic name of data store.",
+ "type": "string"
+ },
+ "uuid": {
+ "description": "The uuid of data store.",
+ "type": "string"
+ },
+ "capacity": {
+ "description": "The capacity of data store in GBs.",
+ "type": "string"
+ },
+ "freeSpace": {
+ "description": "The free space of data store in GBs.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of data store.",
+ "type": "string"
+ }
+ }
+ },
+ "DataStoreUtilizationDetails": {
+ "description": "Details of the appliance resource.",
+ "type": "object",
+ "properties": {
+ "totalSnapshotsSupported": {
+ "format": "int64",
+ "description": "The total count of snapshots supported by the datastore.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalSnapshotsCreated": {
+ "format": "int64",
+ "description": "The total snapshots created for server migration in the datastore.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "dataStoreName": {
+ "description": "The datastore name.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DisableProtectionInput": {
+ "description": "Disable protection input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DisableProtectionInputProperties",
+ "description": "Disable protection input properties."
+ }
+ }
+ },
+ "DisableProtectionInputProperties": {
+ "description": "Disable protection input properties.",
+ "type": "object",
+ "properties": {
+ "disableProtectionReason": {
+ "description": "Disable protection reason. It can have values NotSpecified/MigrationComplete.",
+ "enum": [
+ "NotSpecified",
+ "MigrationComplete"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DisableProtectionReason",
+ "modelAsString": true
+ }
+ },
+ "replicationProviderInput": {
+ "$ref": "#/definitions/DisableProtectionProviderSpecificInput",
+ "description": "Replication provider specific input."
+ }
+ }
+ },
+ "DisableProtectionProviderSpecificInput": {
+ "description": "Disable protection provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "DiscoverProtectableItemRequest": {
+ "description": "Request to add a physical machine as a protectable item in a container.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DiscoverProtectableItemRequestProperties",
+ "description": "The properties of a discover protectable item request."
+ }
+ }
+ },
+ "DiscoverProtectableItemRequestProperties": {
+ "description": "Discover protectable item properties.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The friendly name of the physical machine.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address of the physical machine to be discovered.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OS type on the physical machine.",
+ "type": "string"
+ }
+ }
+ },
+ "DiskDetails": {
+ "description": "Onprem disk details data.",
+ "type": "object",
+ "properties": {
+ "maxSizeMB": {
+ "format": "int64",
+ "description": "The hard disk max size in MB.",
+ "type": "integer"
+ },
+ "vhdType": {
+ "description": "The type of the volume.",
+ "type": "string"
+ },
+ "vhdId": {
+ "description": "The VHD Id.",
+ "type": "string"
+ },
+ "vhdName": {
+ "description": "The VHD name.",
+ "type": "string"
+ }
+ }
+ },
+ "DiskAccountType": {
+ "description": "The disk type.",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS",
+ "PremiumV2_LRS",
+ "UltraSSD_LRS",
+ "StandardSSD_ZRS",
+ "Premium_ZRS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DiskAccountType",
+ "modelAsString": true
+ }
+ },
+ "DiskEncryptionInfo": {
+ "description": "Recovery disk encryption info (BEK and KEK).",
+ "type": "object",
+ "properties": {
+ "diskEncryptionKeyInfo": {
+ "$ref": "#/definitions/DiskEncryptionKeyInfo",
+ "description": "The recovery KeyVault reference for secret."
+ },
+ "keyEncryptionKeyInfo": {
+ "$ref": "#/definitions/KeyEncryptionKeyInfo",
+ "description": "The recovery KeyVault reference for key."
+ }
+ }
+ },
+ "DiskEncryptionKeyInfo": {
+ "description": "Disk Encryption Key Information (BitLocker Encryption Key (BEK) on Windows).",
+ "type": "object",
+ "properties": {
+ "secretIdentifier": {
+ "description": "The secret url / identifier.",
+ "type": "string"
+ },
+ "keyVaultResourceArmId": {
+ "description": "The KeyVault resource ARM id for secret.",
+ "type": "string"
+ }
+ }
+ },
+ "DiskVolumeDetails": {
+ "description": "Volume details.",
+ "type": "object",
+ "properties": {
+ "label": {
+ "description": "The volume label.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The volume name.",
+ "type": "string"
+ }
+ }
+ },
+ "SecurityConfiguration": {
+ "description": "Security configuration state.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SecurityConfiguration",
+ "modelAsString": true
+ }
+ },
+ "Display": {
+ "description": "Contains the localized display information for this particular operation / action. These value will be used by several clients for (1) custom role definitions for RBAC; (2) complex query filters for the event service; and (3) audit history / records for management operations.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The provider. The localized friendly form of the resource provider name - it is expected to also include the publisher/company responsible. It should use Title Casing and begin with \"Microsoft\" for 1st party services. e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute.\".",
+ "type": "string"
+ },
+ "resource": {
+ "description": "The resource. The localized friendly form of the resource related to this action/operation - it should match the public documentation for the resource provider. It should use Title Casing. This value should be unique for a particular URL type (e.g. nested types should *not* reuse their parent's display.resource field). e.g. \"Virtual Machines\" or \"Scheduler Job Collections\", or \"Virtual Machine VM Sizes\" or \"Scheduler Jobs\".",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The operation. The localized friendly name for the operation, as it should be shown to the user. It should be concise (to fit in drop downs) but clear (i.e. self-documenting). It should use Title Casing. Prescriptive guidance: Read Create or Update Delete 'ActionName'.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description. The localized friendly description for the operation, as it should be shown to the user. It should be thorough, yet concise - it will be used in tool tips and detailed views. Prescriptive guidance for namespaces: Read any 'display.provider' resource Create or Update any 'display.provider' resource Delete any 'display.provider' resource Perform any other action on any 'display.provider' resource Prescriptive guidance for namespaces: Read any 'display.resource' Create or Update any 'display.resource' Delete any 'display.resource' 'ActionName' any 'display.resources'.",
+ "type": "string"
+ }
+ }
+ },
+ "DraDetails": {
+ "description": "DRA details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The DRA Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The DRA name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "biosId": {
+ "description": "The DRA Bios Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "The version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastHeartbeatUtc": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the DRA.",
+ "type": "string",
+ "readOnly": true
+ },
+ "health": {
+ "description": "The health.",
+ "enum": [
+ "None",
+ "Normal",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProtectionHealth",
+ "modelAsString": true
+ }
+ },
+ "healthErrors": {
+ "description": "The health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ },
+ "readOnly": true
+ },
+ "forwardProtectedItemCount": {
+ "format": "int32",
+ "description": "The count of protected items which are protected in forward direction.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "reverseProtectedItemCount": {
+ "format": "int32",
+ "description": "The count of protected items which are protected in reverse direction.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "EnableMigrationInput": {
+ "description": "Enable migration input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EnableMigrationInputProperties",
+ "description": "Enable migration input properties."
+ }
+ }
+ },
+ "EnableMigrationInputProperties": {
+ "description": "Enable migration input properties.",
+ "required": [
+ "policyId",
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "policyId": {
+ "description": "The policy Id.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/EnableMigrationProviderSpecificInput",
+ "description": "The provider specific details."
+ }
+ }
+ },
+ "EnableMigrationProviderSpecificInput": {
+ "description": "Enable migration provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "EnableProtectionInput": {
+ "description": "Enable protection input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EnableProtectionInputProperties",
+ "description": "Enable protection input properties."
+ }
+ }
+ },
+ "EnableProtectionInputProperties": {
+ "description": "Enable protection input properties.",
+ "type": "object",
+ "properties": {
+ "policyId": {
+ "description": "The Policy Id.",
+ "type": "string"
+ },
+ "protectableItemId": {
+ "description": "The protectable item Id.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/EnableProtectionProviderSpecificInput",
+ "description": "The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null."
+ }
+ }
+ },
+ "EnableProtectionProviderSpecificInput": {
+ "description": "Enable protection provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "EncryptionDetails": {
+ "description": "Encryption details for the fabric.",
+ "type": "object",
+ "properties": {
+ "kekState": {
+ "description": "The key encryption key state for the Vmm.",
+ "type": "string"
+ },
+ "kekCertThumbprint": {
+ "description": "The key encryption key certificate thumbprint.",
+ "type": "string"
+ },
+ "kekCertExpiryDate": {
+ "format": "date-time",
+ "description": "The key encryption key certificate expiry date.",
+ "type": "string"
+ }
+ }
+ },
+ "Event": {
+ "description": "Implements the Event class.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EventProperties",
+ "description": "Event related data."
+ }
+ }
+ },
+ "EventCollection": {
+ "description": "Collection of fabric details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of events.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Event"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "EventProperties": {
+ "description": "The properties of a monitoring event.",
+ "type": "object",
+ "properties": {
+ "eventCode": {
+ "description": "The Id of the monitoring event.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The event name.",
+ "type": "string"
+ },
+ "eventType": {
+ "description": "The type of the event. for example: VM Health, Server Health, Job Failure etc.",
+ "type": "string"
+ },
+ "affectedObjectFriendlyName": {
+ "description": "The friendly name of the source of the event on which it is raised (for example, VM, VMM etc).",
+ "type": "string"
+ },
+ "affectedObjectCorrelationId": {
+ "description": "The affected object correlationId for the event.",
+ "type": "string"
+ },
+ "severity": {
+ "description": "The severity of the event.",
+ "type": "string"
+ },
+ "timeOfOccurrence": {
+ "format": "date-time",
+ "description": "The time of occurrence of the event.",
+ "type": "string"
+ },
+ "fabricId": {
+ "description": "The ARM ID of the fabric.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/EventProviderSpecificDetails",
+ "description": "The provider specific settings."
+ },
+ "eventSpecificDetails": {
+ "$ref": "#/definitions/EventSpecificDetails",
+ "description": "The event specific settings."
+ },
+ "healthErrors": {
+ "description": "The list of errors / warnings capturing details associated with the issue(s).",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ }
+ }
+ },
+ "EventProviderSpecificDetails": {
+ "description": "Model class for provider specific details for an event.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overridden in derived classes.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "EventQueryParameter": {
+ "description": "Implements the event query parameter.",
+ "type": "object",
+ "properties": {
+ "eventCode": {
+ "description": "The source id of the events to be queried.",
+ "type": "string"
+ },
+ "severity": {
+ "description": "The severity of the events to be queried.",
+ "type": "string"
+ },
+ "eventType": {
+ "description": "The type of the events to be queried.",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "The affected object server id of the events to be queried.",
+ "type": "string"
+ },
+ "affectedObjectFriendlyName": {
+ "description": "The affected object name of the events to be queried.",
+ "type": "string"
+ },
+ "affectedObjectCorrelationId": {
+ "description": "The affected object correlationId for the events to be queried.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time of the time range within which the events are to be queried.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time of the time range within which the events are to be queried.",
+ "type": "string"
+ }
+ }
+ },
+ "EventSpecificDetails": {
+ "description": "Model class for event specific details for an event.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overridden in derived classes.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ExistingProtectionProfile": {
+ "description": "Existing storage account input.",
+ "required": [
+ "protectionProfileId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionProfileCustomDetails"
+ }
+ ],
+ "properties": {
+ "protectionProfileId": {
+ "description": "The protection profile Arm Id. Throw error, if resource does not exists.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "Existing"
+ },
+ "ExistingRecoveryAvailabilitySet": {
+ "description": "Existing recovery availability set input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryAvailabilitySetCustomDetails"
+ }
+ ],
+ "properties": {
+ "recoveryAvailabilitySetId": {
+ "description": "The recovery availability set Id. Will throw error, if resource does not exist.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "Existing"
+ },
+ "ExistingRecoveryProximityPlacementGroup": {
+ "description": "Existing recovery proximity placement group input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryProximityPlacementGroupCustomDetails"
+ }
+ ],
+ "properties": {
+ "recoveryProximityPlacementGroupId": {
+ "description": "The recovery proximity placement group Id. Will throw error, if resource does not exist.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "Existing"
+ },
+ "ExistingRecoveryRecoveryResourceGroup": {
+ "description": "Existing recovery resource group input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryResourceGroupCustomDetails"
+ }
+ ],
+ "properties": {
+ "recoveryResourceGroupId": {
+ "description": "The recovery resource group Id. Valid for V2 scenarios.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "Existing"
+ },
+ "ExistingRecoveryVirtualNetwork": {
+ "description": "Existing recovery virtual network input.",
+ "required": [
+ "recoveryVirtualNetworkId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryVirtualNetworkCustomDetails"
+ }
+ ],
+ "properties": {
+ "recoveryVirtualNetworkId": {
+ "description": "The recovery virtual network Id. Will throw error, if resource does not exist.",
+ "type": "string"
+ },
+ "recoverySubnetName": {
+ "description": "The recovery subnet name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "Existing"
+ },
+ "ExistingStorageAccount": {
+ "description": "Existing storage account input.",
+ "required": [
+ "azureStorageAccountId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/StorageAccountCustomDetails"
+ }
+ ],
+ "properties": {
+ "azureStorageAccountId": {
+ "description": "The storage account Arm Id. Throw error, if resource does not exists.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "Existing"
+ },
+ "ExportJobDetails": {
+ "description": "This class represents details for export jobs workflow.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "blobUri": {
+ "description": "BlobUri of the exported jobs.",
+ "type": "string"
+ },
+ "sasToken": {
+ "description": "The sas token to access blob.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ExportJobDetails"
+ },
+ "ExtendedLocation": {
+ "description": "Extended location of the resource.",
+ "required": [
+ "name",
+ "type"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the extended location.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The extended location type.",
+ "enum": [
+ "EdgeZone"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ExtendedLocationType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Fabric": {
+ "description": "Fabric definition.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FabricProperties",
+ "description": "Fabric related data."
+ }
+ }
+ },
+ "FabricCollection": {
+ "description": "Collection of fabric details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The fabric details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Fabric"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "FabricCreationInput": {
+ "description": "Site details provided during the time of site creation.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FabricCreationInputProperties",
+ "description": "Fabric creation input."
+ }
+ }
+ },
+ "FabricCreationInputProperties": {
+ "description": "Properties of site details provided during the time of site creation.",
+ "type": "object",
+ "properties": {
+ "customDetails": {
+ "$ref": "#/definitions/FabricSpecificCreationInput",
+ "description": "Fabric provider specific creation input."
+ }
+ }
+ },
+ "FabricProperties": {
+ "description": "Fabric properties.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the fabric.",
+ "type": "string"
+ },
+ "encryptionDetails": {
+ "$ref": "#/definitions/EncryptionDetails",
+ "description": "Encryption details for the fabric."
+ },
+ "rolloverEncryptionDetails": {
+ "$ref": "#/definitions/EncryptionDetails",
+ "description": "Rollover encryption details for the fabric."
+ },
+ "internalIdentifier": {
+ "description": "Dra Registration Id.",
+ "type": "string"
+ },
+ "bcdrState": {
+ "description": "BCDR state of the fabric.",
+ "type": "string"
+ },
+ "customDetails": {
+ "$ref": "#/definitions/FabricSpecificDetails",
+ "description": "Fabric specific settings."
+ },
+ "healthErrorDetails": {
+ "description": "Fabric health error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "health": {
+ "description": "Health of fabric.",
+ "type": "string"
+ }
+ }
+ },
+ "FabricQueryParameter": {
+ "description": "Query parameter to get fabric.",
+ "type": "object",
+ "properties": {
+ "zoneToZoneMappings": {
+ "description": "A value indicating whether the zone to zone mappings are to be returned.",
+ "type": "string"
+ },
+ "extendedLocationMappings": {
+ "description": "A value indicating whether the Extended Location mappings are to be returned.",
+ "type": "string"
+ },
+ "locationDetails": {
+ "description": "A value indicating whether the location details are to be returned.",
+ "type": "string"
+ },
+ "fetchAgentDetails": {
+ "description": "A value indicating whether the agent details are to be fetched.",
+ "type": "string"
+ },
+ "biosId": {
+ "description": "The BIOS Id to be used for fetching agent details.",
+ "type": "string"
+ },
+ "fqdn": {
+ "description": "The FQDN to be used for fetching agent details.",
+ "type": "string"
+ },
+ "discoveryType": {
+ "description": "The type of the discovered machine to be used for fetching agent details.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OS type to be used for fetching agent details.",
+ "type": "string"
+ }
+ }
+ },
+ "FabricReplicationGroupTaskDetails": {
+ "description": "This class represents the fabric replication group task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobTaskDetails"
+ }
+ ],
+ "properties": {
+ "skippedReason": {
+ "description": "The skipped reason.",
+ "type": "string"
+ },
+ "skippedReasonString": {
+ "description": "The skipped reason string.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "FabricReplicationGroupTaskDetails"
+ },
+ "FabricSpecificCreateNetworkMappingInput": {
+ "description": "Input details specific to fabrics during Network Mapping.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "FabricSpecificCreationInput": {
+ "description": "Fabric provider specific settings.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "FabricSpecificDetails": {
+ "description": "Fabric specific details.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overridden in derived classes.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "FabricSpecificUpdateNetworkMappingInput": {
+ "description": "Input details specific to fabrics during Network Mapping.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "FailoverJobDetails": {
+ "description": "This class represents the details for a failover job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "protectedItemDetails": {
+ "description": "The test VM details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FailoverReplicationProtectedItemDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "FailoverJobDetails"
+ },
+ "FailoverProcessServerRequest": {
+ "description": "Request to failover a process server.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FailoverProcessServerRequestProperties",
+ "description": "The properties of the PS Failover request."
+ }
+ }
+ },
+ "FailoverProcessServerRequestProperties": {
+ "description": "The properties of the Failover Process Server request.",
+ "type": "object",
+ "properties": {
+ "containerName": {
+ "description": "The container identifier.",
+ "type": "string"
+ },
+ "sourceProcessServerId": {
+ "description": "The source process server.",
+ "type": "string"
+ },
+ "targetProcessServerId": {
+ "description": "The new process server.",
+ "type": "string"
+ },
+ "vmsToMigrate": {
+ "description": "The VMS to migrate.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "updateType": {
+ "description": "A value for failover type. It can be systemlevel/serverlevel.",
+ "type": "string"
+ }
+ }
+ },
+ "FailoverReplicationProtectedItemDetails": {
+ "description": "Failover details for a replication protected item.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "The friendly name.",
+ "type": "string"
+ },
+ "testVmName": {
+ "description": "The test Vm name.",
+ "type": "string"
+ },
+ "testVmFriendlyName": {
+ "description": "The test Vm friendly name.",
+ "type": "string"
+ },
+ "networkConnectionStatus": {
+ "description": "The network connection status.",
+ "type": "string"
+ },
+ "networkFriendlyName": {
+ "description": "The network friendly name.",
+ "type": "string"
+ },
+ "subnet": {
+ "description": "The network subnet.",
+ "type": "string"
+ },
+ "recoveryPointId": {
+ "description": "The recovery point Id.",
+ "type": "string"
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "The recovery point time.",
+ "type": "string"
+ }
+ }
+ },
+ "GatewayOperationDetails": {
+ "description": "Details of the gateway operation.",
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "A value indicating the state of gateway operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "progressPercentage": {
+ "format": "int32",
+ "description": "A value indicating the progress percentage of gateway operation.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "timeElapsed": {
+ "format": "int64",
+ "description": "A value indicating the time elapsed for the operation in milliseconds.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "timeRemaining": {
+ "format": "int64",
+ "description": "A value indicating the time remaining for the operation in milliseconds.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "uploadSpeed": {
+ "format": "int64",
+ "description": "A value indicating the upload speed in bytes per second.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "hostName": {
+ "description": "A value indicating the ESXi host name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataStores": {
+ "description": "A value indicating the datastore collection.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "vmwareReadThroughput": {
+ "format": "int64",
+ "description": "A value indicating the VMware read throughput in bytes per second.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "GroupTaskDetails": {
+ "description": "This class represents the group task details when parent child relationship exists in the drill down.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The type of task details.",
+ "type": "string"
+ },
+ "childTasks": {
+ "description": "The child tasks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ASRTask"
+ }
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "HealthError": {
+ "description": "Health Error.",
+ "type": "object",
+ "properties": {
+ "innerHealthErrors": {
+ "description": "The inner health errors. HealthError having a list of HealthError as child errors is problematic. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InnerHealthError"
+ }
+ },
+ "errorSource": {
+ "description": "Source of error.",
+ "type": "string"
+ },
+ "errorType": {
+ "description": "Type of error.",
+ "type": "string"
+ },
+ "errorLevel": {
+ "description": "Level of error.",
+ "type": "string"
+ },
+ "errorCategory": {
+ "description": "Category of error.",
+ "type": "string"
+ },
+ "errorCode": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "summaryMessage": {
+ "description": "Summary message of the entity.",
+ "type": "string"
+ },
+ "errorMessage": {
+ "description": "Error message.",
+ "type": "string"
+ },
+ "possibleCauses": {
+ "description": "Possible causes of error.",
+ "type": "string"
+ },
+ "recommendedAction": {
+ "description": "Recommended action to resolve error.",
+ "type": "string"
+ },
+ "creationTimeUtc": {
+ "format": "date-time",
+ "description": "Error creation time (UTC).",
+ "type": "string"
+ },
+ "recoveryProviderErrorMessage": {
+ "description": "DRA error message.",
+ "type": "string"
+ },
+ "entityId": {
+ "description": "ID of the entity.",
+ "type": "string"
+ },
+ "errorId": {
+ "description": "The health error unique id.",
+ "type": "string"
+ },
+ "customerResolvability": {
+ "description": "Value indicating whether the health error is customer resolvable.",
+ "enum": [
+ "Allowed",
+ "NotAllowed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthErrorCustomerResolvability",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "HealthErrorSummary": {
+ "description": "class to define the summary of the health error details.",
+ "type": "object",
+ "properties": {
+ "summaryCode": {
+ "description": "The code of the health error.",
+ "type": "string"
+ },
+ "category": {
+ "description": "The category of the health error.",
+ "enum": [
+ "None",
+ "Replication",
+ "TestFailover",
+ "Configuration",
+ "FabricInfrastructure",
+ "VersionExpiry",
+ "AgentAutoUpdateInfra",
+ "AgentAutoUpdateArtifactDeleted",
+ "AgentAutoUpdateRunAsAccount",
+ "AgentAutoUpdateRunAsAccountExpiry",
+ "AgentAutoUpdateRunAsAccountExpired"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthErrorCategory",
+ "modelAsString": true
+ }
+ },
+ "severity": {
+ "description": "Severity of error.",
+ "enum": [
+ "NONE",
+ "Warning",
+ "Error",
+ "Info"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": true
+ }
+ },
+ "summaryMessage": {
+ "description": "The summary message of the health error.",
+ "type": "string"
+ },
+ "affectedResourceType": {
+ "description": "The type of affected ARM resource.",
+ "type": "string"
+ },
+ "affectedResourceSubtype": {
+ "description": "The sub type of any subcomponent within the ARM resource that this might be applicable. Value remains null if not applicable.",
+ "type": "string"
+ },
+ "affectedResourceCorrelationIds": {
+ "description": "The list of affected resource correlation Ids. This can be used to uniquely identify the count of items affected by a specific category and severity as well as count of item affected by an specific issue.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "HyperVHostDetails": {
+ "description": "Hyper-V host details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The Hyper-V host Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The Hyper-V host name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "marsAgentVersion": {
+ "description": "The Mars agent version.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "HyperVReplica2012EventDetails": {
+ "description": "Model class for event details of a HyperVReplica E2E event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "containerName": {
+ "description": "The container friendly name.",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "The fabric friendly name.",
+ "type": "string"
+ },
+ "remoteContainerName": {
+ "description": "The remote container name.",
+ "type": "string"
+ },
+ "remoteFabricName": {
+ "description": "The remote fabric name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012"
+ },
+ "HyperVReplica2012R2EventDetails": {
+ "description": "Model class for event details of a HyperVReplica blue E2E event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "containerName": {
+ "description": "The container friendly name.",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "The fabric friendly name.",
+ "type": "string"
+ },
+ "remoteContainerName": {
+ "description": "The remote container name.",
+ "type": "string"
+ },
+ "remoteFabricName": {
+ "description": "The remote fabric name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012R2"
+ },
+ "HyperVReplicaAzureApplyRecoveryPointInput": {
+ "description": "ApplyRecoveryPoint input specific to HyperVReplicaAzure provider.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "primaryKekCertificatePfx": {
+ "description": "The primary kek certificate pfx.",
+ "type": "string"
+ },
+ "secondaryKekCertificatePfx": {
+ "description": "The secondary kek certificate pfx.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureDiskInputDetails": {
+ "description": "Disk input details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The DiskId.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The LogStorageAccountId.",
+ "type": "string"
+ },
+ "diskType": {
+ "$ref": "#/definitions/DiskAccountType"
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM ID.",
+ "type": "string"
+ },
+ "sectorSizeInBytes": {
+ "format": "int32",
+ "description": "The logical sector size (in bytes), 512 by default.",
+ "type": "integer"
+ }
+ }
+ },
+ "HyperVReplicaAzureEnableProtectionInput": {
+ "description": "HyperVReplicaAzure specific enable protection input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "hvHostVmId": {
+ "description": "The Hyper-V host VM Id.",
+ "type": "string"
+ },
+ "vmName": {
+ "description": "The VM Name.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OS type associated with VM.",
+ "type": "string"
+ },
+ "userSelectedOSName": {
+ "description": "The OS name selected by user.",
+ "type": "string"
+ },
+ "vhdId": {
+ "description": "The OS disk VHD id associated with VM.",
+ "type": "string"
+ },
+ "targetStorageAccountId": {
+ "description": "The storage account Id.",
+ "type": "string"
+ },
+ "targetAzureNetworkId": {
+ "description": "The selected target Azure network Id.",
+ "type": "string"
+ },
+ "targetAzureSubnetId": {
+ "description": "The selected target Azure subnet Id.",
+ "type": "string"
+ },
+ "enableRdpOnTargetOption": {
+ "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.",
+ "type": "string"
+ },
+ "targetAzureVmName": {
+ "description": "The target azure VM Name.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The storage account to be used for logging during replication.",
+ "type": "string"
+ },
+ "disksToInclude": {
+ "description": "The list of VHD Ids of disks to be protected.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "targetAzureV1ResourceGroupId": {
+ "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.",
+ "type": "string"
+ },
+ "targetAzureV2ResourceGroupId": {
+ "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.",
+ "type": "string"
+ },
+ "useManagedDisks": {
+ "description": "A value indicating whether managed disks should be used during failover.",
+ "type": "string"
+ },
+ "targetAvailabilitySetId": {
+ "description": "The target availability set ARM Id for resource manager deployment.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "licenseType": {
+ "description": "License type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "WindowsServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LicenseType",
+ "modelAsString": true
+ }
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "PAYG",
+ "AHUB"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SqlServerLicenseType",
+ "modelAsString": true
+ }
+ },
+ "targetVmSecurityProfile": {
+ "$ref": "#/definitions/SecurityProfileProperties",
+ "description": "The target VM security profile."
+ },
+ "targetVmSize": {
+ "description": "The target VM size.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The proximity placement group ARM Id.",
+ "type": "string"
+ },
+ "useManagedDisksForReplication": {
+ "description": "A value indicating whether managed disks should be used during replication.",
+ "type": "string"
+ },
+ "diskType": {
+ "$ref": "#/definitions/DiskAccountType"
+ },
+ "disksToIncludeForManagedDisks": {
+ "description": "The disks to include list for managed disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HyperVReplicaAzureDiskInputDetails"
+ }
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM Id.",
+ "type": "string"
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "seedManagedDiskTags": {
+ "description": "The tags for the seed managed disks.",
+ "maxLength": 49,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetManagedDiskTags": {
+ "description": "The tags for the target managed disks.",
+ "maxLength": 49,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureEventDetails": {
+ "description": "Model class for event details of a HyperVReplica E2A event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "containerName": {
+ "description": "The container friendly name.",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "The fabric friendly name.",
+ "type": "string"
+ },
+ "remoteContainerName": {
+ "description": "The remote container name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureFailbackProviderInput": {
+ "description": "HyperVReplicaAzureFailback specific planned failover input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PlannedFailoverProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "dataSyncOption": {
+ "description": "Data sync option.",
+ "type": "string"
+ },
+ "recoveryVmCreationOption": {
+ "description": "ALR options to create alternate recovery.",
+ "type": "string"
+ },
+ "providerIdForAlternateRecovery": {
+ "description": "Provider Id for alternate location.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzureFailback"
+ },
+ "HyperVReplicaAzureManagedDiskDetails": {
+ "description": "Hyper-V Managed disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "seedManagedDiskId": {
+ "description": "Seed managed disk Id.",
+ "type": "string"
+ },
+ "replicaDiskType": {
+ "description": "The replica disk type.",
+ "type": "string"
+ },
+ "diskEncryptionSetId": {
+ "description": "The disk encryption set ARM Id.",
+ "type": "string"
+ },
+ "targetDiskAccountType": {
+ "$ref": "#/definitions/DiskAccountType"
+ },
+ "sectorSizeInBytes": {
+ "format": "int32",
+ "description": "The logical sector size (in bytes), 512 by default.",
+ "type": "integer"
+ }
+ }
+ },
+ "HyperVReplicaAzurePlannedFailoverProviderInput": {
+ "description": "HyperVReplicaAzure specific planned failover input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PlannedFailoverProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "primaryKekCertificatePfx": {
+ "description": "Primary kek certificate pfx.",
+ "type": "string"
+ },
+ "secondaryKekCertificatePfx": {
+ "description": "Secondary kek certificate pfx.",
+ "type": "string"
+ },
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ },
+ "osUpgradeVersion": {
+ "description": "A value indicating the inplace OS Upgrade version.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzurePolicyDetails": {
+ "description": "Hyper-V Replica Azure specific protection profile details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointHistoryDurationInHours": {
+ "format": "int32",
+ "description": "The duration (in hours) to which point the recovery history needs to be maintained.",
+ "type": "integer"
+ },
+ "applicationConsistentSnapshotFrequencyInHours": {
+ "format": "int32",
+ "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.",
+ "type": "integer"
+ },
+ "replicationInterval": {
+ "format": "int32",
+ "description": "The replication interval.",
+ "type": "integer"
+ },
+ "onlineReplicationStartTime": {
+ "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.",
+ "type": "string"
+ },
+ "encryption": {
+ "description": "A value indicating whether encryption is enabled for virtual machines in this cloud.",
+ "type": "string"
+ },
+ "activeStorageAccountId": {
+ "description": "The active storage account Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzurePolicyInput": {
+ "description": "Hyper-V Replica Azure specific input for creating a protection profile.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointHistoryDuration": {
+ "format": "int32",
+ "description": "The duration (in hours) to which point the recovery history needs to be maintained.",
+ "type": "integer"
+ },
+ "applicationConsistentSnapshotFrequencyInHours": {
+ "format": "int32",
+ "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.",
+ "type": "integer"
+ },
+ "replicationInterval": {
+ "format": "int32",
+ "description": "The replication interval.",
+ "type": "integer"
+ },
+ "onlineReplicationStartTime": {
+ "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.",
+ "type": "string"
+ },
+ "storageAccounts": {
+ "description": "The list of storage accounts to which the VMs in the primary cloud can replicate to.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureReplicationDetails": {
+ "description": "Hyper V Replica Azure provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "azureVmDiskDetails": {
+ "description": "Azure VM Disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureVmDiskDetails"
+ }
+ },
+ "recoveryAzureVmName": {
+ "description": "Recovery Azure given name.",
+ "type": "string"
+ },
+ "recoveryAzureVMSize": {
+ "description": "The Recovery Azure VM size.",
+ "type": "string"
+ },
+ "recoveryAzureStorageAccount": {
+ "description": "The recovery Azure storage account.",
+ "type": "string"
+ },
+ "recoveryAzureLogStorageAccountId": {
+ "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.",
+ "type": "string"
+ },
+ "lastReplicatedTime": {
+ "format": "date-time",
+ "description": "The Last replication time.",
+ "type": "string"
+ },
+ "rpoInSeconds": {
+ "format": "int64",
+ "description": "Last RPO value.",
+ "type": "integer"
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The last RPO calculated time.",
+ "type": "string"
+ },
+ "vmId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "initialReplicationDetails": {
+ "$ref": "#/definitions/InitialReplicationDetails",
+ "description": "Initial replication details."
+ },
+ "vmNics": {
+ "description": "The PE Network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "selectedRecoveryAzureNetworkId": {
+ "description": "The selected recovery azure network Id.",
+ "type": "string"
+ },
+ "selectedSourceNicId": {
+ "description": "The selected source nic Id which will be used as the primary nic during failover.",
+ "type": "string"
+ },
+ "encryption": {
+ "description": "The encryption info.",
+ "type": "string"
+ },
+ "oSDetails": {
+ "$ref": "#/definitions/OSDetails",
+ "description": "The operating system info."
+ },
+ "sourceVmRamSizeInMB": {
+ "format": "int32",
+ "description": "The RAM size of the VM on the primary side.",
+ "type": "integer"
+ },
+ "sourceVmCpuCount": {
+ "format": "int32",
+ "description": "The CPU count of the VM on the primary side.",
+ "type": "integer"
+ },
+ "enableRdpOnTargetOption": {
+ "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.",
+ "type": "string"
+ },
+ "recoveryAzureResourceGroupId": {
+ "description": "The target resource group Id.",
+ "type": "string"
+ },
+ "recoveryAvailabilitySetId": {
+ "description": "The recovery availability set Id.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The target proximity placement group Id.",
+ "type": "string"
+ },
+ "useManagedDisks": {
+ "description": "A value indicating whether managed disks should be used during failover.",
+ "type": "string"
+ },
+ "licenseType": {
+ "description": "License Type of the VM to be used.",
+ "type": "string"
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "type": "string"
+ },
+ "lastRecoveryPointReceived": {
+ "format": "date-time",
+ "description": "The last recovery point received time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "seedManagedDiskTags": {
+ "description": "The tags for the seed managed disks.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetManagedDiskTags": {
+ "description": "The tags for the target managed disks.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "protectedManagedDisks": {
+ "description": "The list of protected managed disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HyperVReplicaAzureManagedDiskDetails"
+ },
+ "x-ms-identifiers": []
+ },
+ "allAvailableOSUpgradeConfigurations": {
+ "description": "A value indicating all available inplace OS Upgrade configurations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OSUpgradeSupportedVersions"
+ },
+ "x-ms-identifiers": []
+ },
+ "targetVmSecurityProfile": {
+ "$ref": "#/definitions/SecurityProfileProperties",
+ "description": "The target VM security profile."
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureReprotectInput": {
+ "description": "Azure specific reprotect input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReverseReplicationProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "hvHostVmId": {
+ "description": "The Hyper-V host Vm Id.",
+ "type": "string"
+ },
+ "vmName": {
+ "description": "The Vm Name.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OS type associated with vm.",
+ "type": "string"
+ },
+ "vHDId": {
+ "description": "The OS disk VHD id associated with vm.",
+ "type": "string"
+ },
+ "storageAccountId": {
+ "description": "The storage account name.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The storage account to be used for logging during replication.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureTestFailoverInput": {
+ "description": "HvrA provider specific input for test failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TestFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "primaryKekCertificatePfx": {
+ "description": "Primary kek certificate pfx.",
+ "type": "string"
+ },
+ "secondaryKekCertificatePfx": {
+ "description": "Secondary kek certificate pfx.",
+ "type": "string"
+ },
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ },
+ "osUpgradeVersion": {
+ "description": "A value indicating the inplace OS Upgrade version.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureUnplannedFailoverInput": {
+ "description": "HvrA provider specific input for unplanned failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "primaryKekCertificatePfx": {
+ "description": "Primary kek certificate pfx.",
+ "type": "string"
+ },
+ "secondaryKekCertificatePfx": {
+ "description": "Secondary kek certificate pfx.",
+ "type": "string"
+ },
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaAzureUpdateReplicationProtectedItemInput": {
+ "description": "HyperV replica Azure input to update replication protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput"
+ }
+ ],
+ "properties": {
+ "recoveryAzureV1ResourceGroupId": {
+ "description": "The recovery Azure resource group Id for classic deployment.",
+ "type": "string"
+ },
+ "recoveryAzureV2ResourceGroupId": {
+ "description": "The recovery Azure resource group Id for resource manager deployment.",
+ "type": "string"
+ },
+ "useManagedDisks": {
+ "description": "A value indicating whether managed disks should be used during failover.",
+ "type": "string"
+ },
+ "diskIdToDiskEncryptionMap": {
+ "description": "The dictionary of disk resource Id to disk encryption set ARM Id.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The target proximity placement group Id.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetManagedDiskTags": {
+ "description": "The tags for the target managed disks.",
+ "maxLength": 49,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "PAYG",
+ "AHUB"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SqlServerLicenseType",
+ "modelAsString": true
+ }
+ },
+ "vmDisks": {
+ "description": "The list of disk update properties.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UpdateDiskInput"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "HyperVReplicaBaseEventDetails": {
+ "description": "Abstract model class for event details of a HyperVReplica E2E event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "containerName": {
+ "description": "The container friendly name.",
+ "type": "string"
+ },
+ "fabricName": {
+ "description": "The fabric friendly name.",
+ "type": "string"
+ },
+ "remoteContainerName": {
+ "description": "The remote container name.",
+ "type": "string"
+ },
+ "remoteFabricName": {
+ "description": "The remote fabric name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaBaseEventDetails"
+ },
+ "HyperVReplicaBasePolicyDetails": {
+ "description": "Base class for HyperVReplica policy details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPoints": {
+ "format": "int32",
+ "description": "A value indicating the number of recovery points.",
+ "type": "integer"
+ },
+ "applicationConsistentSnapshotFrequencyInHours": {
+ "format": "int32",
+ "description": "A value indicating the application consistent frequency.",
+ "type": "integer"
+ },
+ "compression": {
+ "description": "A value indicating whether compression has to be enabled.",
+ "type": "string"
+ },
+ "initialReplicationMethod": {
+ "description": "A value indicating whether IR is online.",
+ "type": "string"
+ },
+ "onlineReplicationStartTime": {
+ "description": "A value indicating the online IR start time.",
+ "type": "string"
+ },
+ "offlineReplicationImportPath": {
+ "description": "A value indicating the offline IR import path.",
+ "type": "string"
+ },
+ "offlineReplicationExportPath": {
+ "description": "A value indicating the offline IR export path.",
+ "type": "string"
+ },
+ "replicationPort": {
+ "format": "int32",
+ "description": "A value indicating the recovery HTTPS port.",
+ "type": "integer"
+ },
+ "allowedAuthenticationType": {
+ "format": "int32",
+ "description": "A value indicating the authentication type.",
+ "type": "integer"
+ },
+ "replicaDeletionOption": {
+ "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaBasePolicyDetails"
+ },
+ "HyperVReplicaBaseReplicationDetails": {
+ "description": "Hyper V replica provider specific settings base class.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "lastReplicatedTime": {
+ "format": "date-time",
+ "description": "The Last replication time.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The PE Network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "vmId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "initialReplicationDetails": {
+ "$ref": "#/definitions/InitialReplicationDetails",
+ "description": "Initial replication details."
+ },
+ "vMDiskDetails": {
+ "description": "VM disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaBaseReplicationDetails"
+ },
+ "HyperVReplicaBluePolicyDetails": {
+ "description": "Hyper-V Replica Blue specific protection profile details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "replicationFrequencyInSeconds": {
+ "format": "int32",
+ "description": "A value indicating the replication interval.",
+ "type": "integer"
+ },
+ "recoveryPoints": {
+ "format": "int32",
+ "description": "A value indicating the number of recovery points.",
+ "type": "integer"
+ },
+ "applicationConsistentSnapshotFrequencyInHours": {
+ "format": "int32",
+ "description": "A value indicating the application consistent frequency.",
+ "type": "integer"
+ },
+ "compression": {
+ "description": "A value indicating whether compression has to be enabled.",
+ "type": "string"
+ },
+ "initialReplicationMethod": {
+ "description": "A value indicating whether IR is online.",
+ "type": "string"
+ },
+ "onlineReplicationStartTime": {
+ "description": "A value indicating the online IR start time.",
+ "type": "string"
+ },
+ "offlineReplicationImportPath": {
+ "description": "A value indicating the offline IR import path.",
+ "type": "string"
+ },
+ "offlineReplicationExportPath": {
+ "description": "A value indicating the offline IR export path.",
+ "type": "string"
+ },
+ "replicationPort": {
+ "format": "int32",
+ "description": "A value indicating the recovery HTTPS port.",
+ "type": "integer"
+ },
+ "allowedAuthenticationType": {
+ "format": "int32",
+ "description": "A value indicating the authentication type.",
+ "type": "integer"
+ },
+ "replicaDeletionOption": {
+ "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012R2"
+ },
+ "HyperVReplicaBluePolicyInput": {
+ "description": "HyperV Replica Blue policy input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HyperVReplicaPolicyInput"
+ }
+ ],
+ "properties": {
+ "replicationFrequencyInSeconds": {
+ "format": "int32",
+ "description": "A value indicating the replication interval.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012R2"
+ },
+ "HyperVReplicaBlueReplicationDetails": {
+ "description": "HyperV replica 2012 R2 (Blue) replication details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "lastReplicatedTime": {
+ "format": "date-time",
+ "description": "The Last replication time.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The PE Network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "vmId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "initialReplicationDetails": {
+ "$ref": "#/definitions/InitialReplicationDetails",
+ "description": "Initial replication details."
+ },
+ "vMDiskDetails": {
+ "description": "VM disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012R2"
+ },
+ "HyperVReplicaPolicyDetails": {
+ "description": "Hyper-V Replica Blue specific protection profile details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPoints": {
+ "format": "int32",
+ "description": "A value indicating the number of recovery points.",
+ "type": "integer"
+ },
+ "applicationConsistentSnapshotFrequencyInHours": {
+ "format": "int32",
+ "description": "A value indicating the application consistent frequency.",
+ "type": "integer"
+ },
+ "compression": {
+ "description": "A value indicating whether compression has to be enabled.",
+ "type": "string"
+ },
+ "initialReplicationMethod": {
+ "description": "A value indicating whether IR is online.",
+ "type": "string"
+ },
+ "onlineReplicationStartTime": {
+ "description": "A value indicating the online IR start time.",
+ "type": "string"
+ },
+ "offlineReplicationImportPath": {
+ "description": "A value indicating the offline IR import path.",
+ "type": "string"
+ },
+ "offlineReplicationExportPath": {
+ "description": "A value indicating the offline IR export path.",
+ "type": "string"
+ },
+ "replicationPort": {
+ "format": "int32",
+ "description": "A value indicating the recovery HTTPS port.",
+ "type": "integer"
+ },
+ "allowedAuthenticationType": {
+ "format": "int32",
+ "description": "A value indicating the authentication type.",
+ "type": "integer"
+ },
+ "replicaDeletionOption": {
+ "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012"
+ },
+ "HyperVReplicaPolicyInput": {
+ "description": "Hyper-V Replica specific policy Input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPoints": {
+ "format": "int32",
+ "description": "A value indicating the number of recovery points.",
+ "type": "integer"
+ },
+ "applicationConsistentSnapshotFrequencyInHours": {
+ "format": "int32",
+ "description": "A value indicating the application consistent frequency.",
+ "type": "integer"
+ },
+ "compression": {
+ "description": "A value indicating whether compression has to be enabled.",
+ "type": "string"
+ },
+ "initialReplicationMethod": {
+ "description": "A value indicating whether IR is online.",
+ "type": "string"
+ },
+ "onlineReplicationStartTime": {
+ "description": "A value indicating the online IR start time.",
+ "type": "string"
+ },
+ "offlineReplicationImportPath": {
+ "description": "A value indicating the offline IR import path.",
+ "type": "string"
+ },
+ "offlineReplicationExportPath": {
+ "description": "A value indicating the offline IR export path.",
+ "type": "string"
+ },
+ "replicationPort": {
+ "format": "int32",
+ "description": "A value indicating the recovery HTTPS port.",
+ "type": "integer"
+ },
+ "allowedAuthenticationType": {
+ "format": "int32",
+ "description": "A value indicating the authentication type.",
+ "type": "integer"
+ },
+ "replicaDeletion": {
+ "description": "A value indicating whether the VM has to be auto deleted.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType",
+ "x-ms-discriminator-value": "HyperVReplica2012"
+ },
+ "HyperVReplicaReplicationDetails": {
+ "description": "HyperV replica 2012 replication details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "lastReplicatedTime": {
+ "format": "date-time",
+ "description": "The Last replication time.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The PE Network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "vmId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "initialReplicationDetails": {
+ "$ref": "#/definitions/InitialReplicationDetails",
+ "description": "Initial replication details."
+ },
+ "vMDiskDetails": {
+ "description": "VM disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplica2012"
+ },
+ "HyperVSiteDetails": {
+ "description": "HyperVSite fabric specific details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificDetails"
+ }
+ ],
+ "properties": {
+ "hyperVHosts": {
+ "description": "The list of Hyper-V hosts associated with the fabric.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HyperVHostDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVSite"
+ },
+ "HyperVVirtualMachineDetails": {
+ "description": "Single Host fabric provider specific VM settings.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ConfigurationSettings"
+ }
+ ],
+ "properties": {
+ "sourceItemId": {
+ "description": "The source id of the object.",
+ "type": "string"
+ },
+ "generation": {
+ "description": "The id of the object in fabric.",
+ "type": "string"
+ },
+ "osDetails": {
+ "$ref": "#/definitions/OSDetails",
+ "description": "The Last replication time."
+ },
+ "diskDetails": {
+ "description": "The Last successful failover time.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskDetails"
+ }
+ },
+ "hasPhysicalDisk": {
+ "description": "A value indicating whether the VM has a physical disk attached. String value of SrsDataContract.PresenceStatus enum.",
+ "enum": [
+ "Unknown",
+ "Present",
+ "NotPresent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PresenceStatus",
+ "modelAsString": true
+ }
+ },
+ "hasFibreChannelAdapter": {
+ "description": "A value indicating whether the VM has a fibre channel adapter attached. String value of SrsDataContract.PresenceStatus enum.",
+ "enum": [
+ "Unknown",
+ "Present",
+ "NotPresent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PresenceStatus",
+ "modelAsString": true
+ }
+ },
+ "hasSharedVhd": {
+ "description": "A value indicating whether the VM has a shared VHD attached. String value of SrsDataContract.PresenceStatus enum.",
+ "enum": [
+ "Unknown",
+ "Present",
+ "NotPresent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PresenceStatus",
+ "modelAsString": true
+ }
+ },
+ "hyperVHostId": {
+ "description": "The Id of the hyper-v host in fabric.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType",
+ "x-ms-discriminator-value": "HyperVVirtualMachine"
+ },
+ "IdentityProviderDetails": {
+ "description": "Identity provider details.",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "description": "The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
+ "type": "string"
+ },
+ "applicationId": {
+ "description": "The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
+ "type": "string"
+ },
+ "objectId": {
+ "description": "The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
+ "type": "string"
+ },
+ "audience": {
+ "description": "The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
+ "type": "string"
+ },
+ "aadAuthority": {
+ "description": "The base authority for Azure Active Directory authentication.",
+ "type": "string"
+ }
+ }
+ },
+ "IdentityProviderInput": {
+ "description": "Identity provider input.",
+ "required": [
+ "tenantId",
+ "applicationId",
+ "objectId",
+ "audience",
+ "aadAuthority"
+ ],
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "description": "The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
+ "type": "string"
+ },
+ "applicationId": {
+ "description": "The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
+ "type": "string"
+ },
+ "objectId": {
+ "description": "The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
+ "type": "string"
+ },
+ "audience": {
+ "description": "The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
+ "type": "string"
+ },
+ "aadAuthority": {
+ "description": "The base authority for Azure Active Directory authentication.",
+ "type": "string"
+ }
+ }
+ },
+ "InconsistentVmDetails": {
+ "description": "This class stores the monitoring details for consistency check of inconsistent Protected Entity.",
+ "type": "object",
+ "properties": {
+ "vmName": {
+ "description": "The Vm name.",
+ "type": "string"
+ },
+ "cloudName": {
+ "description": "The Cloud name.",
+ "type": "string"
+ },
+ "details": {
+ "description": "The list of details regarding state of the Protected Entity in SRS and On prem.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "errorIds": {
+ "description": "The list of error ids.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "InitialReplicationDetails": {
+ "description": "Initial replication details.",
+ "type": "object",
+ "properties": {
+ "initialReplicationType": {
+ "description": "Initial replication type.",
+ "type": "string"
+ },
+ "initialReplicationProgressPercentage": {
+ "description": "The initial replication progress percentage.",
+ "type": "string"
+ }
+ }
+ },
+ "InlineWorkflowTaskDetails": {
+ "description": "This class represents the inline workflow task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/GroupTaskDetails"
+ }
+ ],
+ "properties": {
+ "workflowIds": {
+ "description": "The list of child workflow ids.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InlineWorkflowTaskDetails"
+ },
+ "InMageAgentDetails": {
+ "description": "The details of the InMage agent.",
+ "type": "object",
+ "properties": {
+ "agentVersion": {
+ "description": "The agent version.",
+ "type": "string"
+ },
+ "agentUpdateStatus": {
+ "description": "A value indicating whether installed agent needs to be updated.",
+ "type": "string"
+ },
+ "postUpdateRebootStatus": {
+ "description": "A value indicating whether reboot is required after update is applied.",
+ "type": "string"
+ },
+ "agentExpiryDate": {
+ "format": "date-time",
+ "description": "Agent expiry date.",
+ "type": "string"
+ }
+ }
+ },
+ "InMageAzureV2ApplyRecoveryPointInput": {
+ "description": "ApplyRecoveryPoint input specific to InMageAzureV2 provider.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2DiskInputDetails": {
+ "description": "Disk input details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The DiskId.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The LogStorageAccountId.",
+ "type": "string"
+ },
+ "diskType": {
+ "$ref": "#/definitions/DiskAccountType"
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM ID.",
+ "type": "string"
+ }
+ }
+ },
+ "InMageAzureV2EnableProtectionInput": {
+ "description": "VMware Azure specific enable protection input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "masterTargetId": {
+ "description": "The Master target Id.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The Process Server Id.",
+ "type": "string"
+ },
+ "storageAccountId": {
+ "description": "The storage account Id.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The CS account Id.",
+ "type": "string"
+ },
+ "multiVmGroupId": {
+ "description": "The multi VM group Id.",
+ "type": "string"
+ },
+ "multiVmGroupName": {
+ "description": "The multi VM group name.",
+ "type": "string"
+ },
+ "disksToInclude": {
+ "description": "The disks to include list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageAzureV2DiskInputDetails"
+ }
+ },
+ "targetAzureNetworkId": {
+ "description": "The selected target Azure network Id.",
+ "type": "string"
+ },
+ "targetAzureSubnetId": {
+ "description": "The selected target Azure subnet Id.",
+ "type": "string"
+ },
+ "enableRdpOnTargetOption": {
+ "description": "The selected option to enable RDP\\SSH on target VM after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.",
+ "type": "string"
+ },
+ "targetAzureVmName": {
+ "description": "The target azure VM Name.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The storage account to be used for logging during replication.",
+ "type": "string"
+ },
+ "targetAzureV1ResourceGroupId": {
+ "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.",
+ "type": "string"
+ },
+ "targetAzureV2ResourceGroupId": {
+ "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.",
+ "type": "string"
+ },
+ "diskType": {
+ "$ref": "#/definitions/DiskAccountType"
+ },
+ "targetAvailabilitySetId": {
+ "description": "The target availability set ARM Id for resource manager deployment.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The proximity placement group ARM Id.",
+ "type": "string"
+ },
+ "licenseType": {
+ "description": "License type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "WindowsServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LicenseType",
+ "modelAsString": true
+ }
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "PAYG",
+ "AHUB"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SqlServerLicenseType",
+ "modelAsString": true
+ }
+ },
+ "targetVmSize": {
+ "description": "The target VM size.",
+ "type": "string"
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM Id.",
+ "type": "string"
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "seedManagedDiskTags": {
+ "description": "The tags for the seed managed disks.",
+ "maxLength": 49,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetManagedDiskTags": {
+ "description": "The tags for the target managed disks.",
+ "maxLength": 49,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2EventDetails": {
+ "description": "Model class for event details of a VMwareAzureV2 event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "eventType": {
+ "description": "InMage Event type. Takes one of the values of InMageDataContract.InMageMonitoringEventType.",
+ "type": "string"
+ },
+ "category": {
+ "description": "InMage Event Category.",
+ "type": "string"
+ },
+ "component": {
+ "description": "InMage Event Component.",
+ "type": "string"
+ },
+ "correctiveAction": {
+ "description": "Corrective Action string for the event.",
+ "type": "string"
+ },
+ "details": {
+ "description": "InMage Event Details.",
+ "type": "string"
+ },
+ "summary": {
+ "description": "InMage Event Summary.",
+ "type": "string"
+ },
+ "siteName": {
+ "description": "VMware Site name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2ManagedDiskDetails": {
+ "description": "InMageAzureV2 Managed disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk id.",
+ "type": "string"
+ },
+ "seedManagedDiskId": {
+ "description": "Seed managed disk Id.",
+ "type": "string"
+ },
+ "replicaDiskType": {
+ "description": "The replica disk type.",
+ "type": "string"
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM ID.",
+ "type": "string"
+ },
+ "targetDiskName": {
+ "description": "The target disk name.",
+ "type": "string"
+ }
+ }
+ },
+ "InMageAzureV2PolicyDetails": {
+ "description": "InMage Azure v2 specific protection profile details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointThresholdInMinutes": {
+ "format": "int32",
+ "description": "The recovery point threshold in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2PolicyInput": {
+ "description": "VMWare Azure specific policy Input.",
+ "required": [
+ "multiVmSyncStatus"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointThresholdInMinutes": {
+ "format": "int32",
+ "description": "The recovery point threshold in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.",
+ "enum": [
+ "Enable",
+ "Disable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SetMultiVmSyncStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2ProtectedDiskDetails": {
+ "description": "InMageAzureV2 protected disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk id.",
+ "type": "string"
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string"
+ },
+ "protectionStage": {
+ "description": "The protection stage.",
+ "type": "string"
+ },
+ "healthErrorCode": {
+ "description": "The health error code for the disk.",
+ "type": "string"
+ },
+ "rpoInSeconds": {
+ "format": "int64",
+ "description": "The RPO in seconds.",
+ "type": "integer"
+ },
+ "resyncRequired": {
+ "description": "A value indicating whether resync is required for this disk.",
+ "type": "string"
+ },
+ "resyncProgressPercentage": {
+ "format": "int32",
+ "description": "The resync progress percentage.",
+ "type": "integer"
+ },
+ "resyncDurationInSeconds": {
+ "format": "int64",
+ "description": "The resync duration in seconds.",
+ "type": "integer"
+ },
+ "diskCapacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer"
+ },
+ "fileSystemCapacityInBytes": {
+ "format": "int64",
+ "description": "The disk file system capacity in bytes.",
+ "type": "integer"
+ },
+ "sourceDataInMegaBytes": {
+ "format": "double",
+ "description": "The source data transit in MB.",
+ "type": "number"
+ },
+ "psDataInMegaBytes": {
+ "format": "double",
+ "description": "The PS data transit in MB.",
+ "type": "number"
+ },
+ "targetDataInMegaBytes": {
+ "format": "double",
+ "description": "The target data transit in MB.",
+ "type": "number"
+ },
+ "diskResized": {
+ "description": "A value indicating whether disk is resized.",
+ "type": "string"
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The last RPO calculated time.",
+ "type": "string"
+ },
+ "resyncProcessedBytes": {
+ "format": "int64",
+ "description": "The resync processed bytes.",
+ "type": "integer"
+ },
+ "resyncTotalTransferredBytes": {
+ "format": "int64",
+ "description": "The resync total transferred bytes.",
+ "type": "integer"
+ },
+ "resyncLast15MinutesTransferredBytes": {
+ "format": "int64",
+ "description": "The resync last 15 minutes transferred bytes.",
+ "type": "integer"
+ },
+ "resyncLastDataTransferTimeUTC": {
+ "format": "date-time",
+ "description": "The last data transfer time in UTC.",
+ "type": "string"
+ },
+ "resyncStartTime": {
+ "format": "date-time",
+ "description": "The resync start time.",
+ "type": "string"
+ },
+ "progressHealth": {
+ "description": "The Progress Health.",
+ "type": "string"
+ },
+ "progressStatus": {
+ "description": "The Progress Status.",
+ "type": "string"
+ },
+ "secondsToTakeSwitchProvider": {
+ "format": "int64",
+ "description": "The seconds to take for switch provider.",
+ "type": "integer"
+ }
+ }
+ },
+ "InMageAzureV2RecoveryPointDetails": {
+ "description": "InMage Azure V2 provider specific recovery point details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails"
+ }
+ ],
+ "properties": {
+ "isMultiVmSyncPoint": {
+ "description": "A value indicating whether the recovery point is multi VM consistent.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2ReplicationDetails": {
+ "description": "InMageAzureV2 provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "infrastructureVmId": {
+ "description": "The infrastructure VM Id.",
+ "type": "string"
+ },
+ "vCenterInfrastructureId": {
+ "description": "The vCenter infrastructure Id.",
+ "type": "string"
+ },
+ "protectionStage": {
+ "description": "The protection stage.",
+ "type": "string"
+ },
+ "vmId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "resyncProgressPercentage": {
+ "format": "int32",
+ "description": "The resync progress percentage.",
+ "type": "integer"
+ },
+ "rpoInSeconds": {
+ "format": "int64",
+ "description": "The RPO in seconds.",
+ "type": "integer"
+ },
+ "compressedDataRateInMB": {
+ "format": "double",
+ "description": "The compressed data change rate in MB.",
+ "type": "number"
+ },
+ "uncompressedDataRateInMB": {
+ "format": "double",
+ "description": "The uncompressed data change rate in MB.",
+ "type": "number"
+ },
+ "ipAddress": {
+ "description": "The source IP address.",
+ "type": "string"
+ },
+ "agentVersion": {
+ "description": "The agent version.",
+ "type": "string"
+ },
+ "agentExpiryDate": {
+ "format": "date-time",
+ "description": "Agent expiry date.",
+ "type": "string"
+ },
+ "isAgentUpdateRequired": {
+ "description": "A value indicating whether installed agent needs to be updated.",
+ "type": "string"
+ },
+ "isRebootAfterUpdateRequired": {
+ "description": "A value indicating whether the source server requires a restart after update.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the source server.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The process server Id.",
+ "type": "string"
+ },
+ "processServerName": {
+ "description": "The process server name.",
+ "type": "string"
+ },
+ "multiVmGroupId": {
+ "description": "The multi vm group Id.",
+ "type": "string"
+ },
+ "multiVmGroupName": {
+ "description": "The multi vm group name.",
+ "type": "string"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi vm sync is enabled or disabled.",
+ "type": "string"
+ },
+ "protectedDisks": {
+ "description": "The list of protected disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageAzureV2ProtectedDiskDetails"
+ }
+ },
+ "diskResized": {
+ "description": "A value indicating whether any disk is resized for this VM.",
+ "type": "string"
+ },
+ "masterTargetId": {
+ "description": "The master target Id.",
+ "type": "string"
+ },
+ "sourceVmCpuCount": {
+ "format": "int32",
+ "description": "The CPU count of the VM on the primary side.",
+ "type": "integer"
+ },
+ "sourceVmRamSizeInMB": {
+ "format": "int32",
+ "description": "The RAM size of the VM on the primary side.",
+ "type": "integer"
+ },
+ "osType": {
+ "description": "The type of the OS on the VM.",
+ "type": "string"
+ },
+ "vhdName": {
+ "description": "The OS disk VHD name.",
+ "type": "string"
+ },
+ "osDiskId": {
+ "description": "The id of the disk containing the OS.",
+ "type": "string"
+ },
+ "azureVMDiskDetails": {
+ "description": "Azure VM Disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureVmDiskDetails"
+ }
+ },
+ "recoveryAzureVMName": {
+ "description": "Recovery Azure given name.",
+ "type": "string"
+ },
+ "recoveryAzureVMSize": {
+ "description": "The Recovery Azure VM size.",
+ "type": "string"
+ },
+ "recoveryAzureStorageAccount": {
+ "description": "The recovery Azure storage account.",
+ "type": "string"
+ },
+ "recoveryAzureLogStorageAccountId": {
+ "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The PE Network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "selectedRecoveryAzureNetworkId": {
+ "description": "The selected recovery azure network Id.",
+ "type": "string"
+ },
+ "selectedTfoAzureNetworkId": {
+ "description": "The test failover virtual network.",
+ "type": "string"
+ },
+ "selectedSourceNicId": {
+ "description": "The selected source nic Id which will be used as the primary nic during failover.",
+ "type": "string"
+ },
+ "discoveryType": {
+ "description": "A value indicating the discovery type of the machine. Value can be vCenter or physical.",
+ "type": "string"
+ },
+ "enableRdpOnTargetOption": {
+ "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.",
+ "type": "string"
+ },
+ "datastores": {
+ "description": "The datastores of the on-premise machine. Value can be list of strings that contain datastore names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "targetVmId": {
+ "description": "The ARM Id of the target Azure VM. This value will be null until the VM is failed over. Only after failure it will be populated with the ARM Id of the Azure VM.",
+ "type": "string"
+ },
+ "recoveryAzureResourceGroupId": {
+ "description": "The target resource group Id.",
+ "type": "string"
+ },
+ "recoveryAvailabilitySetId": {
+ "description": "The recovery availability set Id.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The target proximity placement group Id.",
+ "type": "string"
+ },
+ "useManagedDisks": {
+ "description": "A value indicating whether managed disks should be used during failover.",
+ "type": "string"
+ },
+ "licenseType": {
+ "description": "License Type of the VM to be used.",
+ "type": "string"
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "type": "string"
+ },
+ "validationErrors": {
+ "description": "The validation errors of the on-premise machine Value can be list of validation errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The last RPO calculated time.",
+ "type": "string"
+ },
+ "lastUpdateReceivedTime": {
+ "format": "date-time",
+ "description": "The last update time received from on-prem components.",
+ "type": "string"
+ },
+ "replicaId": {
+ "description": "The replica id of the protected item.",
+ "type": "string"
+ },
+ "osVersion": {
+ "description": "The OS Version of the protected item.",
+ "type": "string"
+ },
+ "protectedManagedDisks": {
+ "description": "The list of protected managed disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageAzureV2ManagedDiskDetails"
+ }
+ },
+ "lastRecoveryPointReceived": {
+ "format": "date-time",
+ "description": "The last recovery point received time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "firmwareType": {
+ "description": "The firmware type of this protected item.",
+ "type": "string"
+ },
+ "azureVmGeneration": {
+ "description": "The target generation for this protected item.",
+ "type": "string"
+ },
+ "isAdditionalStatsAvailable": {
+ "description": "A value indicating whether additional IR stats are available or not.",
+ "type": "boolean"
+ },
+ "totalDataTransferred": {
+ "format": "int64",
+ "description": "The total transferred data in bytes.",
+ "type": "integer"
+ },
+ "totalProgressHealth": {
+ "description": "The progress health.",
+ "type": "string"
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "seedManagedDiskTags": {
+ "description": "The tags for the seed managed disks.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetManagedDiskTags": {
+ "description": "The tags for the target managed disks.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "switchProviderBlockingErrorDetails": {
+ "description": "The switch provider blocking error information.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageAzureV2SwitchProviderBlockingErrorDetails"
+ }
+ },
+ "switchProviderDetails": {
+ "$ref": "#/definitions/InMageAzureV2SwitchProviderDetails",
+ "description": "The switch provider blocking error information."
+ },
+ "supportedOSVersions": {
+ "description": "A value indicating the inplace OS Upgrade version.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "x-ms-identifiers": []
+ },
+ "allAvailableOSUpgradeConfigurations": {
+ "description": "A value indicating all available inplace OS Upgrade configurations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OSUpgradeSupportedVersions"
+ },
+ "x-ms-identifiers": []
+ },
+ "osName": {
+ "description": "The name of the OS on the VM.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2ReprotectInput": {
+ "description": "InMageAzureV2 specific provider input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReverseReplicationProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "masterTargetId": {
+ "description": "The Master target Id.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The Process Server Id.",
+ "type": "string"
+ },
+ "storageAccountId": {
+ "description": "The storage account id.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The CS account Id.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "The Policy Id.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The storage account to be used for logging during replication.",
+ "type": "string"
+ },
+ "disksToInclude": {
+ "description": "The disks to include list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2SwitchProviderBlockingErrorDetails": {
+ "description": "InMageAzureV2 switch provider blocking error details.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessage": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "possibleCauses": {
+ "description": "The possible causes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendedAction": {
+ "description": "The recommended action.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessageParameters": {
+ "description": "The error message parameters.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "errorTags": {
+ "description": "The error tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "InMageAzureV2SwitchProviderDetails": {
+ "description": "InMageAzureV2 switch provider details.",
+ "type": "object",
+ "properties": {
+ "targetVaultId": {
+ "description": "The target vault Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetResourceId": {
+ "description": "The target resource Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetFabricId": {
+ "description": "The target fabric Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetApplianceId": {
+ "description": "The target appliance Id.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "InMageAzureV2SwitchProviderProviderInput": {
+ "description": "Provider specific input for InMageAzureV2 switch provider.",
+ "required": [
+ "targetVaultID",
+ "targetFabricID",
+ "targetApplianceID"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SwitchProviderProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "targetVaultID": {
+ "description": "The target vault Id.",
+ "type": "string"
+ },
+ "targetFabricID": {
+ "description": "The target fabric Id.",
+ "type": "string"
+ },
+ "targetApplianceID": {
+ "description": "The target appliance Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2TestFailoverInput": {
+ "description": "InMageAzureV2 provider specific input for test failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TestFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ },
+ "osUpgradeVersion": {
+ "description": "A value indicating the inplace OS Upgrade version.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2UnplannedFailoverInput": {
+ "description": "InMageAzureV2 provider specific input for unplanned failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ },
+ "osUpgradeVersion": {
+ "description": "A value indicating the inplace OS Upgrade version.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageAzureV2UpdateReplicationProtectedItemInput": {
+ "description": "InMage Azure V2 input to update replication protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput"
+ }
+ ],
+ "properties": {
+ "recoveryAzureV1ResourceGroupId": {
+ "description": "The recovery Azure resource group Id for classic deployment.",
+ "type": "string"
+ },
+ "recoveryAzureV2ResourceGroupId": {
+ "description": "The recovery Azure resource group Id for resource manager deployment.",
+ "type": "string"
+ },
+ "useManagedDisks": {
+ "description": "A value indicating whether managed disks should be used during failover.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The target proximity placement group Id.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetManagedDiskTags": {
+ "description": "The tags for the target managed disks.",
+ "maxLength": 49,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "PAYG",
+ "AHUB"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SqlServerLicenseType",
+ "modelAsString": true
+ }
+ },
+ "vmDisks": {
+ "description": "The list of disk update properties.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UpdateDiskInput"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "InMageBasePolicyDetails": {
+ "description": "Base class for the policies of providers using InMage replication.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointThresholdInMinutes": {
+ "format": "int32",
+ "description": "The recovery point threshold in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageBasePolicyDetails"
+ },
+ "InMageDisableProtectionProviderSpecificInput": {
+ "description": "InMage disable protection provider specific input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DisableProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "replicaVmDeletionStatus": {
+ "description": "A value indicating whether the replica VM should be destroyed or retained. Values from Delete and Retain.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMageDiskDetails": {
+ "description": "VMware/Physical specific Disk Details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string"
+ },
+ "diskSizeInMB": {
+ "description": "The disk size in MB.",
+ "type": "string"
+ },
+ "diskType": {
+ "description": "Whether disk is system disk or data disk.",
+ "type": "string"
+ },
+ "diskConfiguration": {
+ "description": "Whether disk is dynamic disk or basic disk.",
+ "type": "string"
+ },
+ "volumeList": {
+ "description": "Volumes of the disk.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskVolumeDetails"
+ }
+ }
+ }
+ },
+ "InMageDiskExclusionInput": {
+ "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider.",
+ "type": "object",
+ "properties": {
+ "volumeOptions": {
+ "description": "The volume label based option for disk exclusion.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageVolumeExclusionOptions"
+ }
+ },
+ "diskSignatureOptions": {
+ "description": "The guest disk signature based option for disk exclusion.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageDiskSignatureExclusionOptions"
+ }
+ }
+ }
+ },
+ "InMageDiskSignatureExclusionOptions": {
+ "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.",
+ "type": "object",
+ "properties": {
+ "diskSignature": {
+ "description": "The guest signature of disk to be excluded from replication.",
+ "type": "string"
+ }
+ }
+ },
+ "InMageEnableProtectionInput": {
+ "description": "VMware Azure specific enable protection input.",
+ "required": [
+ "masterTargetId",
+ "processServerId",
+ "retentionDrive",
+ "multiVmGroupId",
+ "multiVmGroupName"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "vmFriendlyName": {
+ "description": "The VM Name.",
+ "type": "string"
+ },
+ "masterTargetId": {
+ "description": "The Master Target Id.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The Process Server Id.",
+ "type": "string"
+ },
+ "retentionDrive": {
+ "description": "The retention drive to use on the MT.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The CS account Id.",
+ "type": "string"
+ },
+ "multiVmGroupId": {
+ "description": "The multi VM group Id.",
+ "type": "string"
+ },
+ "multiVmGroupName": {
+ "description": "The multi VM group name.",
+ "type": "string"
+ },
+ "datastoreName": {
+ "description": "The target datastore name.",
+ "type": "string"
+ },
+ "diskExclusionInput": {
+ "$ref": "#/definitions/InMageDiskExclusionInput",
+ "description": "The enable disk exclusion input."
+ },
+ "disksToInclude": {
+ "description": "The disks to include list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMageFabricSwitchProviderBlockingErrorDetails": {
+ "description": "InMageFabric switch provider blocking error details.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessage": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "possibleCauses": {
+ "description": "The possible causes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendedAction": {
+ "description": "The recommended action.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessageParameters": {
+ "description": "The error message parameters.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "errorTags": {
+ "description": "The error tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "InMagePolicyDetails": {
+ "description": "InMage specific protection profile details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointThresholdInMinutes": {
+ "format": "int32",
+ "description": "The recovery point threshold in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMagePolicyInput": {
+ "description": "VMWare Azure specific protection profile Input.",
+ "required": [
+ "multiVmSyncStatus"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointThresholdInMinutes": {
+ "format": "int32",
+ "description": "The recovery point threshold in minutes.",
+ "type": "integer"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.",
+ "enum": [
+ "Enable",
+ "Disable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SetMultiVmSyncStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMageProtectedDiskDetails": {
+ "description": "InMage protected disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk id.",
+ "type": "string"
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string"
+ },
+ "protectionStage": {
+ "description": "The protection stage.",
+ "type": "string"
+ },
+ "healthErrorCode": {
+ "description": "The health error code for the disk.",
+ "type": "string"
+ },
+ "rpoInSeconds": {
+ "format": "int64",
+ "description": "The RPO in seconds.",
+ "type": "integer"
+ },
+ "resyncRequired": {
+ "description": "A value indicating whether resync is required for this disk.",
+ "type": "string"
+ },
+ "resyncProgressPercentage": {
+ "format": "int32",
+ "description": "The resync progress percentage.",
+ "type": "integer"
+ },
+ "resyncDurationInSeconds": {
+ "format": "int64",
+ "description": "The resync duration in seconds.",
+ "type": "integer"
+ },
+ "diskCapacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer"
+ },
+ "fileSystemCapacityInBytes": {
+ "format": "int64",
+ "description": "The file system capacity in bytes.",
+ "type": "integer"
+ },
+ "sourceDataInMB": {
+ "format": "double",
+ "description": "The source data transit in MB.",
+ "type": "number"
+ },
+ "psDataInMB": {
+ "format": "double",
+ "description": "The PS data transit in MB.",
+ "type": "number"
+ },
+ "targetDataInMB": {
+ "format": "double",
+ "description": "The target data transit in MB.",
+ "type": "number"
+ },
+ "diskResized": {
+ "description": "A value indicating whether disk is resized.",
+ "type": "string"
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The last RPO calculated time.",
+ "type": "string"
+ },
+ "resyncProcessedBytes": {
+ "format": "int64",
+ "description": "The resync processed bytes.",
+ "type": "integer"
+ },
+ "resyncTotalTransferredBytes": {
+ "format": "int64",
+ "description": "The resync total transferred bytes.",
+ "type": "integer"
+ },
+ "resyncLast15MinutesTransferredBytes": {
+ "format": "int64",
+ "description": "The resync last 15 minutes transferred bytes.",
+ "type": "integer"
+ },
+ "resyncLastDataTransferTimeUTC": {
+ "format": "date-time",
+ "description": "The last data transfer time in UTC.",
+ "type": "string"
+ },
+ "resyncStartTime": {
+ "format": "date-time",
+ "description": "The resync start time.",
+ "type": "string"
+ },
+ "progressHealth": {
+ "description": "The Progress Health.",
+ "type": "string"
+ },
+ "progressStatus": {
+ "description": "The Progress Status.",
+ "type": "string"
+ }
+ }
+ },
+ "InMageRcmAddDisksInput": {
+ "description": "InMageRcm add disk(s) input.",
+ "required": [
+ "disks"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AddDisksProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "disks": {
+ "description": "The list of disk details.",
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageRcmDiskInput"
+ },
+ "x-ms-identifiers": [
+ "diskId"
+ ]
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmAgentUpgradeBlockingErrorDetails": {
+ "description": "InMageRcm source agent upgrade blocking error details.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessage": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "possibleCauses": {
+ "description": "The possible causes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendedAction": {
+ "description": "The recommended action.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessageParameters": {
+ "description": "The error message parameters.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "errorTags": {
+ "description": "The error tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmApplianceDetails": {
+ "description": "InMageRcm appliance details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The appliance Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The appliance name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fabricArmId": {
+ "description": "The fabric ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "processServer": {
+ "$ref": "#/definitions/ProcessServerDetails",
+ "description": "The process server.",
+ "readOnly": true
+ },
+ "rcmProxy": {
+ "$ref": "#/definitions/RcmProxyDetails",
+ "description": "The of RCM proxy.",
+ "readOnly": true
+ },
+ "pushInstaller": {
+ "$ref": "#/definitions/PushInstallerDetails",
+ "description": "The push installer.",
+ "readOnly": true
+ },
+ "replicationAgent": {
+ "$ref": "#/definitions/ReplicationAgentDetails",
+ "description": "The replication agent.",
+ "readOnly": true
+ },
+ "reprotectAgent": {
+ "$ref": "#/definitions/ReprotectAgentDetails",
+ "description": "The reprotect agent.",
+ "readOnly": true
+ },
+ "marsAgent": {
+ "$ref": "#/definitions/MarsAgentDetails",
+ "description": "The Mars agent.",
+ "readOnly": true
+ },
+ "dra": {
+ "$ref": "#/definitions/DraDetails",
+ "description": "The DRA.",
+ "readOnly": true
+ },
+ "switchProviderBlockingErrorDetails": {
+ "description": "The switch provider blocking error information.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageRcmFabricSwitchProviderBlockingErrorDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmApplianceSpecificDetails": {
+ "description": "InMageRcm appliance specific details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplianceSpecificDetails"
+ }
+ ],
+ "properties": {
+ "appliances": {
+ "description": "The list of appliances.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageRcmApplianceDetails"
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmApplyRecoveryPointInput": {
+ "description": "ApplyRecoveryPoint input specific to InMageRcm provider.",
+ "required": [
+ "recoveryPointId",
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "The recovery point Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmDiscoveredProtectedVmDetails": {
+ "description": "InMageRcm discovered protected VM details.",
+ "type": "object",
+ "properties": {
+ "vCenterId": {
+ "description": "The VCenter Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vCenterFqdn": {
+ "description": "The VCenter fqdn.",
+ "type": "string",
+ "readOnly": true
+ },
+ "datastores": {
+ "description": "The list of datastores.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "ipAddresses": {
+ "description": "The list of IP addresses.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "vmwareToolsStatus": {
+ "description": "The VMware tools status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "powerStatus": {
+ "description": "The VM power status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vmFqdn": {
+ "description": "The VM fqdn.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osName": {
+ "description": "The VM's OS name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdTimestamp": {
+ "format": "date-time",
+ "description": "The SDS created timestamp.",
+ "type": "string",
+ "readOnly": true
+ },
+ "updatedTimestamp": {
+ "format": "date-time",
+ "description": "The SDS updated timestamp.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isDeleted": {
+ "description": "A value indicating whether the VM is deleted.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "lastDiscoveryTimeInUtc": {
+ "format": "date-time",
+ "description": "The last time when SDS information discovered in SRS.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmDiskInput": {
+ "description": "InMageRcm disk input.",
+ "required": [
+ "diskId",
+ "logStorageAccountId",
+ "diskType"
+ ],
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The log storage account ARM Id.",
+ "type": "string"
+ },
+ "diskType": {
+ "$ref": "#/definitions/DiskAccountType"
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM Id.",
+ "type": "string"
+ },
+ "sectorSizeInBytes": {
+ "format": "int32",
+ "description": "The logical sector size (in bytes), 512 by default.",
+ "type": "integer"
+ }
+ }
+ },
+ "InMageRcmDisksDefaultInput": {
+ "description": "InMageRcm disk input.",
+ "required": [
+ "logStorageAccountId",
+ "diskType"
+ ],
+ "type": "object",
+ "properties": {
+ "logStorageAccountId": {
+ "description": "The log storage account ARM Id.",
+ "type": "string"
+ },
+ "diskType": {
+ "$ref": "#/definitions/DiskAccountType"
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM Id.",
+ "type": "string"
+ },
+ "sectorSizeInBytes": {
+ "format": "int32",
+ "description": "The logical sector size (in bytes), 512 by default.",
+ "type": "integer"
+ }
+ }
+ },
+ "InMageRcmEnableProtectionInput": {
+ "description": "InMageRcm specific enable protection input.",
+ "required": [
+ "fabricDiscoveryMachineId",
+ "targetResourceGroupId",
+ "processServerId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "fabricDiscoveryMachineId": {
+ "description": "The ARM Id of discovered machine.",
+ "type": "string"
+ },
+ "disksToInclude": {
+ "description": "The disks to include list.",
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageRcmDiskInput"
+ }
+ },
+ "disksDefault": {
+ "$ref": "#/definitions/InMageRcmDisksDefaultInput",
+ "description": "The default disk input."
+ },
+ "targetResourceGroupId": {
+ "description": "The target resource group ARM Id.",
+ "type": "string"
+ },
+ "targetNetworkId": {
+ "description": "The selected target network ARM Id.",
+ "type": "string"
+ },
+ "testNetworkId": {
+ "description": "The selected test network ARM Id.",
+ "type": "string"
+ },
+ "targetSubnetName": {
+ "description": "The selected target subnet name.",
+ "type": "string"
+ },
+ "testSubnetName": {
+ "description": "The selected test subnet name.",
+ "type": "string"
+ },
+ "targetVmName": {
+ "description": "The target VM name.",
+ "type": "string"
+ },
+ "targetVmSize": {
+ "description": "The target VM size.",
+ "type": "string"
+ },
+ "licenseType": {
+ "description": "The license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "WindowsServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LicenseType",
+ "modelAsString": true
+ }
+ },
+ "targetAvailabilitySetId": {
+ "description": "The target availability set ARM Id.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The target proximity placement group Id.",
+ "type": "string"
+ },
+ "targetBootDiagnosticsStorageAccountId": {
+ "description": "The target boot diagnostics storage account ARM Id.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The run-as account Id.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The process server Id.",
+ "type": "string"
+ },
+ "multiVmGroupName": {
+ "description": "The multi VM group name.",
+ "type": "string"
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "PAYG",
+ "AHUB"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SqlServerLicenseType",
+ "modelAsString": true
+ }
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "maxLength": 50,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserCreatedResourceTag"
+ },
+ "x-ms-identifiers": [
+ "tagName"
+ ]
+ },
+ "seedManagedDiskTags": {
+ "description": "The tags for the seed managed disks.",
+ "maxLength": 49,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserCreatedResourceTag"
+ },
+ "x-ms-identifiers": [
+ "tagName"
+ ]
+ },
+ "targetManagedDiskTags": {
+ "description": "The tags for the target managed disks.",
+ "maxLength": 49,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserCreatedResourceTag"
+ },
+ "x-ms-identifiers": [
+ "tagName"
+ ]
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "maxLength": 50,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserCreatedResourceTag"
+ },
+ "x-ms-identifiers": [
+ "tagName"
+ ]
+ },
+ "userSelectedOSName": {
+ "description": "The OS name selected by user.",
+ "type": "string"
+ },
+ "targetVmSecurityProfile": {
+ "$ref": "#/definitions/SecurityProfileProperties",
+ "description": "The target VM security profile."
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmEventDetails": {
+ "description": "Event details for InMageRcm provider.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "protectedItemName": {
+ "description": "The protected item name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vmName": {
+ "description": "The protected item name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "latestAgentVersion": {
+ "description": "The latest agent version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "jobId": {
+ "description": "The job Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fabricName": {
+ "description": "The fabric name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "applianceName": {
+ "description": "The appliance name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serverType": {
+ "description": "The server type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "componentDisplayName": {
+ "description": "The component display name.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmFabricCreationInput": {
+ "description": "InMageRcm fabric provider specific settings.",
+ "required": [
+ "vmwareSiteId",
+ "physicalSiteId",
+ "sourceAgentIdentity"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificCreationInput"
+ }
+ ],
+ "properties": {
+ "vmwareSiteId": {
+ "description": "The ARM Id of the VMware site.",
+ "type": "string"
+ },
+ "physicalSiteId": {
+ "description": "The ARM Id of the physical site.",
+ "type": "string"
+ },
+ "sourceAgentIdentity": {
+ "$ref": "#/definitions/IdentityProviderInput",
+ "description": "The identity provider input for source agent authentication."
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmFabricSpecificDetails": {
+ "description": "InMageRcm fabric specific details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificDetails"
+ }
+ ],
+ "properties": {
+ "vmwareSiteId": {
+ "description": "The ARM Id of the VMware site.",
+ "type": "string",
+ "readOnly": true
+ },
+ "physicalSiteId": {
+ "description": "The ARM Id of the physical site.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceEndpoint": {
+ "description": "The service endpoint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceResourceId": {
+ "description": "The service resource Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceContainerId": {
+ "description": "The service container Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataPlaneUri": {
+ "description": "The data plane Uri.",
+ "type": "string",
+ "readOnly": true
+ },
+ "controlPlaneUri": {
+ "description": "The control plane Uri.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sourceAgentIdentityDetails": {
+ "$ref": "#/definitions/IdentityProviderDetails",
+ "description": "The source agent identity details."
+ },
+ "processServers": {
+ "description": "The list of process servers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProcessServerDetails"
+ },
+ "readOnly": true
+ },
+ "rcmProxies": {
+ "description": "The list of RCM proxies.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RcmProxyDetails"
+ },
+ "readOnly": true
+ },
+ "pushInstallers": {
+ "description": "The list of push installers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PushInstallerDetails"
+ },
+ "readOnly": true
+ },
+ "replicationAgents": {
+ "description": "The list of replication agents.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicationAgentDetails"
+ },
+ "readOnly": true
+ },
+ "reprotectAgents": {
+ "description": "The list of reprotect agents.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReprotectAgentDetails"
+ },
+ "readOnly": true
+ },
+ "marsAgents": {
+ "description": "The list of Mars agents.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MarsAgentDetails"
+ },
+ "readOnly": true
+ },
+ "dras": {
+ "description": "The list of DRAs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DraDetails"
+ },
+ "readOnly": true
+ },
+ "agentDetails": {
+ "description": "The list of agent details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AgentDetails"
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmFabricSwitchProviderBlockingErrorDetails": {
+ "description": "InMageRcmFabric switch provider blocking error details.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessage": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "possibleCauses": {
+ "description": "The possible causes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendedAction": {
+ "description": "The recommended action.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessageParameters": {
+ "description": "The error message parameters.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "errorTags": {
+ "description": "The error tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmFailbackDiscoveredProtectedVmDetails": {
+ "description": "InMageRcmFailback discovered VM details.",
+ "type": "object",
+ "properties": {
+ "vCenterId": {
+ "description": "The VCenter Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vCenterFqdn": {
+ "description": "The VCenter fqdn.",
+ "type": "string",
+ "readOnly": true
+ },
+ "datastores": {
+ "description": "The list of datastores.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "ipAddresses": {
+ "description": "The list of IP addresses.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "vmwareToolsStatus": {
+ "description": "The VMware tools status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "powerStatus": {
+ "description": "The VM power status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vmFqdn": {
+ "description": "The VM fqdn.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osName": {
+ "description": "The VM's OS name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdTimestamp": {
+ "format": "date-time",
+ "description": "The SDS created timestamp.",
+ "type": "string",
+ "readOnly": true
+ },
+ "updatedTimestamp": {
+ "format": "date-time",
+ "description": "The SDS updated timestamp.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isDeleted": {
+ "description": "A value indicating whether the VM is deleted.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "lastDiscoveryTimeInUtc": {
+ "format": "date-time",
+ "description": "The last time when SDS information discovered in SRS.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmFailbackEventDetails": {
+ "description": "Event details for InMageRcmFailback provider.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "protectedItemName": {
+ "description": "The protected item name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vmName": {
+ "description": "The protected item name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "applianceName": {
+ "description": "The appliance name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serverType": {
+ "description": "The server type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "componentDisplayName": {
+ "description": "The component display name.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcmFailback"
+ },
+ "InMageRcmFailbackMobilityAgentDetails": {
+ "description": "InMageRcmFailback mobility agent details.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The agent version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "latestVersion": {
+ "description": "The latest agent version available.",
+ "type": "string",
+ "readOnly": true
+ },
+ "driverVersion": {
+ "description": "The driver version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "latestUpgradableVersionWithoutReboot": {
+ "description": "The latest upgradeable version available without reboot.",
+ "type": "string",
+ "readOnly": true
+ },
+ "agentVersionExpiryDate": {
+ "format": "date-time",
+ "description": "The agent version expiry date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "driverVersionExpiryDate": {
+ "format": "date-time",
+ "description": "The driver version expiry date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastHeartbeatUtc": {
+ "format": "date-time",
+ "description": "The time of the last heartbeat received from the agent.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reasonsBlockingUpgrade": {
+ "description": "The whether update is possible or not.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "AlreadyOnLatestVersion",
+ "RebootRequired",
+ "AgentNoHeartbeat",
+ "RcmProxyNoHeartbeat",
+ "ProcessServerNoHeartbeat",
+ "IncompatibleApplianceVersion",
+ "NotProtected",
+ "UnsupportedProtectionScenario",
+ "DistroIsNotReported",
+ "DistroNotSupportedForUpgrade",
+ "MissingUpgradePath",
+ "InvalidAgentVersion",
+ "InvalidDriverVersion",
+ "Unknown"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentUpgradeBlockedReason",
+ "modelAsString": true
+ }
+ },
+ "readOnly": true
+ },
+ "isUpgradeable": {
+ "description": "A value indicating whether agent is upgradeable or not.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmFailbackNicDetails": {
+ "description": "InMageRcmFailback NIC details.",
+ "type": "object",
+ "properties": {
+ "macAddress": {
+ "description": "The mac address.",
+ "type": "string",
+ "readOnly": true
+ },
+ "networkName": {
+ "description": "The network name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "adapterType": {
+ "description": "The adapter type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sourceIpAddress": {
+ "description": "The IP address.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmFailbackPlannedFailoverProviderInput": {
+ "description": "Provider specific input for InMageRcmFailback failover.",
+ "required": [
+ "recoveryPointType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PlannedFailoverProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "ApplicationConsistent",
+ "CrashConsistent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InMageRcmFailbackRecoveryPointType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcmFailback"
+ },
+ "InMageRcmFailbackPolicyCreationInput": {
+ "description": "InMageRcmFailback policy creation input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcmFailback"
+ },
+ "InMageRcmFailbackPolicyDetails": {
+ "description": "InMageRcm failback specific policy details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency in minutes.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcmFailback"
+ },
+ "InMageRcmFailbackProtectedDiskDetails": {
+ "description": "InMageRcmFailback protected disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id (reported by source agent).",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isOSDisk": {
+ "description": "A value indicating whether the disk is the OS disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "capacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "diskUuid": {
+ "description": "The disk Uuid (reported by vCenter).",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataPendingInLogDataStoreInMB": {
+ "format": "double",
+ "description": "The data pending in log data store in MB.",
+ "type": "number",
+ "readOnly": true
+ },
+ "dataPendingAtSourceAgentInMB": {
+ "format": "double",
+ "description": "The data pending at source agent in MB.",
+ "type": "number",
+ "readOnly": true
+ },
+ "isInitialReplicationComplete": {
+ "description": "A value indicating whether initial replication is complete or not.",
+ "type": "string",
+ "readOnly": true
+ },
+ "irDetails": {
+ "$ref": "#/definitions/InMageRcmFailbackSyncDetails",
+ "description": "The initial replication details."
+ },
+ "resyncDetails": {
+ "$ref": "#/definitions/InMageRcmFailbackSyncDetails",
+ "description": "The resync details."
+ },
+ "lastSyncTime": {
+ "format": "date-time",
+ "description": "The last sync time.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmFailbackReplicationDetails": {
+ "description": "InMageRcmFailback provider specific details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "internalIdentifier": {
+ "description": "The virtual machine internal identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "azureVirtualMachineId": {
+ "description": "The ARM Id of the azure VM.",
+ "type": "string",
+ "readOnly": true
+ },
+ "multiVmGroupName": {
+ "description": "The multi VM group name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reprotectAgentId": {
+ "description": "The reprotect agent Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reprotectAgentName": {
+ "description": "The reprotect agent name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osType": {
+ "description": "The type of the OS on the VM.",
+ "type": "string",
+ "readOnly": true
+ },
+ "logStorageAccountId": {
+ "description": "The log storage account ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetvCenterId": {
+ "description": "The target vCenter Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetDataStoreName": {
+ "description": "The target datastore name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetVmName": {
+ "description": "The target VM name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "initialReplicationProgressPercentage": {
+ "format": "int32",
+ "description": "The initial replication progress percentage.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "initialReplicationProcessedBytes": {
+ "format": "int64",
+ "description": "The initial replication processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "initialReplicationTransferredBytes": {
+ "format": "int64",
+ "description": "The initial replication transferred bytes from source VM to target for all selected disks on source VM.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "initialReplicationProgressHealth": {
+ "description": "The initial replication progress health.",
+ "enum": [
+ "None",
+ "InProgress",
+ "SlowProgress",
+ "NoProgress"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "VmReplicationProgressHealth",
+ "modelAsString": true
+ }
+ },
+ "resyncProgressPercentage": {
+ "format": "int32",
+ "description": "The resync progress percentage.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resyncProcessedBytes": {
+ "format": "int64",
+ "description": "The resync processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resyncTransferredBytes": {
+ "format": "int64",
+ "description": "The resync transferred bytes from source VM to target for all selected disks on source VM.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resyncProgressHealth": {
+ "description": "The resync progress health.",
+ "enum": [
+ "None",
+ "InProgress",
+ "SlowProgress",
+ "NoProgress"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "VmReplicationProgressHealth",
+ "modelAsString": true
+ }
+ },
+ "resyncRequired": {
+ "description": "A value indicating whether resync is required.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resyncState": {
+ "description": "The resync state.",
+ "enum": [
+ "None",
+ "PreparedForResynchronization",
+ "StartedResynchronization"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ResyncState",
+ "modelAsString": true
+ }
+ },
+ "protectedDisks": {
+ "description": "The list of protected disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageRcmFailbackProtectedDiskDetails"
+ }
+ },
+ "mobilityAgentDetails": {
+ "$ref": "#/definitions/InMageRcmFailbackMobilityAgentDetails",
+ "description": "The mobility agent information."
+ },
+ "vmNics": {
+ "description": "The network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageRcmFailbackNicDetails"
+ }
+ },
+ "lastPlannedFailoverStartTime": {
+ "format": "date-time",
+ "description": "The last planned failover start time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastPlannedFailoverStatus": {
+ "description": "The last planned failover status.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Cancelled",
+ "Unknown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PlannedFailoverStatus",
+ "modelAsString": true
+ }
+ },
+ "discoveredVmDetails": {
+ "$ref": "#/definitions/InMageRcmFailbackDiscoveredProtectedVmDetails",
+ "description": "The discovered VM information."
+ },
+ "lastUsedPolicyId": {
+ "description": "The policy Id used by the forward replication.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastUsedPolicyFriendlyName": {
+ "description": "The policy friendly name used by the forward replication.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isAgentRegistrationSuccessfulAfterFailover": {
+ "description": "A value indicating whether agent registration was successful after failover.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcmFailback"
+ },
+ "InMageRcmFailbackReprotectInput": {
+ "description": "InMageRcmFailback specific provider input.",
+ "required": [
+ "processServerId",
+ "policyId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReverseReplicationProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "processServerId": {
+ "description": "The process server Id.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The run as account Id.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "The Policy Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcmFailback"
+ },
+ "InMageRcmFailbackSyncDetails": {
+ "description": "InMageRcmFailback disk level sync details.",
+ "type": "object",
+ "properties": {
+ "progressHealth": {
+ "description": "The progress health.",
+ "enum": [
+ "None",
+ "InProgress",
+ "SlowProgress",
+ "NoProgress",
+ "Queued"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DiskReplicationProgressHealth",
+ "modelAsString": true
+ }
+ },
+ "transferredBytes": {
+ "format": "int64",
+ "description": "The transferred bytes from source VM to azure for the disk.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "last15MinutesTransferredBytes": {
+ "format": "int64",
+ "description": "The bytes transferred in last 15 minutes from source VM to target.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "lastDataTransferTimeUtc": {
+ "description": "The time of the last data transfer from source VM to target.",
+ "type": "string",
+ "readOnly": true
+ },
+ "processedBytes": {
+ "format": "int64",
+ "description": "The total processed bytes. This includes bytes that are transferred from source VM to target and matched bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "startTime": {
+ "description": "The start time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastRefreshTime": {
+ "description": "The last refresh time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "progressPercentage": {
+ "format": "int32",
+ "description": "Progress in percentage. Progress percentage is calculated based on processed bytes.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmLastAgentUpgradeErrorDetails": {
+ "description": "InMageRcm last source agent upgrade error details.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessage": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "possibleCauses": {
+ "description": "The possible causes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendedAction": {
+ "description": "The recommended action.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessageParameters": {
+ "description": "The error message parameters.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "errorTags": {
+ "description": "The error tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmMobilityAgentDetails": {
+ "description": "InMageRcm mobility agent details.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The agent version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "latestVersion": {
+ "description": "The latest agent version available.",
+ "type": "string",
+ "readOnly": true
+ },
+ "latestAgentReleaseDate": {
+ "description": "The latest agent version release date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "driverVersion": {
+ "description": "The driver version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "latestUpgradableVersionWithoutReboot": {
+ "description": "The latest upgradeable version available without reboot.",
+ "type": "string",
+ "readOnly": true
+ },
+ "agentVersionExpiryDate": {
+ "format": "date-time",
+ "description": "The agent version expiry date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "driverVersionExpiryDate": {
+ "format": "date-time",
+ "description": "The driver version expiry date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastHeartbeatUtc": {
+ "format": "date-time",
+ "description": "The time of the last heartbeat received from the agent.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reasonsBlockingUpgrade": {
+ "description": "The whether update is possible or not.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "AlreadyOnLatestVersion",
+ "RebootRequired",
+ "AgentNoHeartbeat",
+ "RcmProxyNoHeartbeat",
+ "ProcessServerNoHeartbeat",
+ "IncompatibleApplianceVersion",
+ "NotProtected",
+ "UnsupportedProtectionScenario",
+ "DistroIsNotReported",
+ "DistroNotSupportedForUpgrade",
+ "MissingUpgradePath",
+ "InvalidAgentVersion",
+ "InvalidDriverVersion",
+ "Unknown"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentUpgradeBlockedReason",
+ "modelAsString": true
+ }
+ },
+ "readOnly": true
+ },
+ "isUpgradeable": {
+ "description": "A value indicating whether agent is upgradeable or not.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmNicDetails": {
+ "description": "InMageRcm NIC details.",
+ "type": "object",
+ "properties": {
+ "nicId": {
+ "description": "The NIC Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isPrimaryNic": {
+ "description": "A value indicating whether this is the primary NIC.",
+ "type": "string"
+ },
+ "isSelectedForFailover": {
+ "description": "A value indicating whether this NIC is selected for failover.",
+ "type": "string"
+ },
+ "sourceIPAddress": {
+ "description": "The source IP address.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sourceIPAddressType": {
+ "description": "The source IP address type.",
+ "enum": [
+ "Dynamic",
+ "Static"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "EthernetAddressType",
+ "modelAsString": true
+ }
+ },
+ "sourceNetworkId": {
+ "description": "Source network Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sourceSubnetName": {
+ "description": "Source subnet name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetIPAddress": {
+ "description": "The target IP address.",
+ "type": "string"
+ },
+ "targetIPAddressType": {
+ "description": "The target IP address type.",
+ "enum": [
+ "Dynamic",
+ "Static"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EthernetAddressType",
+ "modelAsString": true
+ }
+ },
+ "targetSubnetName": {
+ "description": "Target subnet name.",
+ "type": "string"
+ },
+ "testSubnetName": {
+ "description": "Test subnet name.",
+ "type": "string"
+ },
+ "testIPAddress": {
+ "description": "The test IP address.",
+ "type": "string"
+ },
+ "testIPAddressType": {
+ "description": "The test IP address type.",
+ "enum": [
+ "Dynamic",
+ "Static"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EthernetAddressType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "InMageRcmNicInput": {
+ "description": "InMageRcm NIC input.",
+ "required": [
+ "nicId",
+ "isPrimaryNic"
+ ],
+ "type": "object",
+ "properties": {
+ "nicId": {
+ "description": "The NIC Id.",
+ "type": "string"
+ },
+ "isPrimaryNic": {
+ "description": "A value indicating whether this is the primary NIC.",
+ "type": "string"
+ },
+ "isSelectedForFailover": {
+ "description": "A value indicating whether this NIC is selected for failover.",
+ "type": "string"
+ },
+ "targetSubnetName": {
+ "description": "Target subnet name.",
+ "type": "string"
+ },
+ "targetStaticIPAddress": {
+ "description": "The target static IP address.",
+ "type": "string"
+ },
+ "testSubnetName": {
+ "description": "The test subnet name.",
+ "type": "string"
+ },
+ "testStaticIPAddress": {
+ "description": "The test static IP address.",
+ "type": "string"
+ }
+ }
+ },
+ "InMageRcmPolicyCreationInput": {
+ "description": "InMageRcm policy creation input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointHistoryInMinutes": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "enableMultiVmSync": {
+ "description": "A value indicating whether multi-VM sync has to be enabled.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmPolicyDetails": {
+ "description": "InMageRcm specific policy details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointHistoryInMinutes": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "enableMultiVmSync": {
+ "description": "A value indicating whether multi-VM sync has to be enabled.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmProtectedDiskDetails": {
+ "description": "InMageRcm protected disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isOSDisk": {
+ "description": "A value indicating whether the disk is the OS disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "capacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "diskState": {
+ "description": "The disk state.",
+ "enum": [
+ "Unavailable",
+ "InitialReplicationPending",
+ "InitialReplicationFailed",
+ "Protected"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DiskState",
+ "modelAsString": true
+ }
+ },
+ "logStorageAccountId": {
+ "description": "The log storage account ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "seedManagedDiskId": {
+ "description": "The ARM Id of the seed managed disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "seedBlobUri": {
+ "description": "The uri of the seed blob.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetManagedDiskId": {
+ "description": "The ARM Id of the target managed disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskType": {
+ "$ref": "#/definitions/DiskAccountType"
+ },
+ "dataPendingInLogDataStoreInMB": {
+ "format": "double",
+ "description": "The data pending in log data store in MB.",
+ "type": "number",
+ "readOnly": true
+ },
+ "dataPendingAtSourceAgentInMB": {
+ "format": "double",
+ "description": "The data pending at source agent in MB.",
+ "type": "number",
+ "readOnly": true
+ },
+ "isInitialReplicationComplete": {
+ "description": "A value indicating whether initial replication is complete or not.",
+ "type": "string",
+ "readOnly": true
+ },
+ "irDetails": {
+ "$ref": "#/definitions/InMageRcmSyncDetails",
+ "description": "The initial replication details."
+ },
+ "resyncDetails": {
+ "$ref": "#/definitions/InMageRcmSyncDetails",
+ "description": "The resync details."
+ },
+ "customTargetDiskName": {
+ "description": "The custom target Azure disk name.",
+ "type": "string"
+ },
+ "sectorSizeInBytes": {
+ "format": "int32",
+ "description": "The logical sector size (in bytes), 512 by default.",
+ "type": "integer"
+ }
+ }
+ },
+ "InMageRcmUnProtectedDiskDetails": {
+ "description": "InMageRcm un-protected disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "capacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmProtectionContainerMappingDetails": {
+ "description": "InMageRcm provider specific container mapping details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "enableAgentAutoUpgrade": {
+ "description": "A value indicating whether the flag for enable agent auto upgrade.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmRecoveryPointDetails": {
+ "description": "InMageRcm provider specific recovery point details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails"
+ }
+ ],
+ "properties": {
+ "isMultiVmSyncPoint": {
+ "description": "A value indicating whether the recovery point is multi VM consistent.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmReplicationDetails": {
+ "description": "InMageRcm provider specific details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "internalIdentifier": {
+ "description": "The virtual machine internal identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fabricDiscoveryMachineId": {
+ "description": "The ARM Id of the discovered VM.",
+ "type": "string",
+ "readOnly": true
+ },
+ "multiVmGroupName": {
+ "description": "The multi VM group name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "discoveryType": {
+ "description": "The type of the discovered VM.",
+ "type": "string",
+ "readOnly": true
+ },
+ "processServerId": {
+ "description": "The process server Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "processorCoreCount": {
+ "format": "int32",
+ "description": "The processor core count.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "allocatedMemoryInMB": {
+ "format": "double",
+ "description": "The allocated memory in MB.",
+ "type": "number",
+ "readOnly": true
+ },
+ "processServerName": {
+ "description": "The process server name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "runAsAccountId": {
+ "description": "The run-as account Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osType": {
+ "description": "The type of the OS on the VM.",
+ "type": "string",
+ "readOnly": true
+ },
+ "firmwareType": {
+ "description": "The firmware type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "primaryNicIpAddress": {
+ "description": "The IP address of the primary network interface.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetGeneration": {
+ "description": "The target generation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "licenseType": {
+ "description": "License Type of the VM to be used.",
+ "type": "string"
+ },
+ "storageAccountId": {
+ "description": "The replication storage account ARM Id. This is applicable only for the blob based replication test hook.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetVmName": {
+ "description": "Target VM name.",
+ "type": "string"
+ },
+ "targetVmSize": {
+ "description": "The target VM size.",
+ "type": "string"
+ },
+ "targetResourceGroupId": {
+ "description": "The target resource group Id.",
+ "type": "string"
+ },
+ "targetLocation": {
+ "description": "The target location.",
+ "type": "string"
+ },
+ "targetAvailabilitySetId": {
+ "description": "The target availability set Id.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The target proximity placement group Id.",
+ "type": "string"
+ },
+ "targetBootDiagnosticsStorageAccountId": {
+ "description": "The target boot diagnostics storage account ARM Id.",
+ "type": "string"
+ },
+ "targetNetworkId": {
+ "description": "The target network Id.",
+ "type": "string"
+ },
+ "testNetworkId": {
+ "description": "The test network Id.",
+ "type": "string"
+ },
+ "failoverRecoveryPointId": {
+ "description": "The recovery point Id to which the VM was failed over.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastRecoveryPointReceived": {
+ "format": "date-time",
+ "description": "The last recovery point received time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastRpoInSeconds": {
+ "format": "int64",
+ "description": "The last recovery point objective value.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The last recovery point objective calculated time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastRecoveryPointId": {
+ "description": "The last recovery point Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "initialReplicationProgressPercentage": {
+ "format": "int32",
+ "description": "The initial replication progress percentage. This is calculated based on total bytes processed for all disks in the source VM.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "initialReplicationProcessedBytes": {
+ "format": "int64",
+ "description": "The initial replication processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "initialReplicationTransferredBytes": {
+ "format": "int64",
+ "description": "The initial replication transferred bytes from source VM to azure for all selected disks on source VM.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "initialReplicationProgressHealth": {
+ "description": "The initial replication progress health.",
+ "enum": [
+ "None",
+ "InProgress",
+ "SlowProgress",
+ "NoProgress"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "VmReplicationProgressHealth",
+ "modelAsString": true
+ }
+ },
+ "resyncProgressPercentage": {
+ "format": "int32",
+ "description": "The resync progress percentage. This is calculated based on total bytes processed for all disks in the source VM.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resyncProcessedBytes": {
+ "format": "int64",
+ "description": "The resync processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resyncTransferredBytes": {
+ "format": "int64",
+ "description": "The resync transferred bytes from source VM to azure for all selected disks on source VM.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resyncProgressHealth": {
+ "description": "The resync progress health.",
+ "enum": [
+ "None",
+ "InProgress",
+ "SlowProgress",
+ "NoProgress"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "VmReplicationProgressHealth",
+ "modelAsString": true
+ }
+ },
+ "resyncRequired": {
+ "description": "A value indicating whether resync is required.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resyncState": {
+ "description": "The resync state.",
+ "enum": [
+ "None",
+ "PreparedForResynchronization",
+ "StartedResynchronization"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ResyncState",
+ "modelAsString": true
+ }
+ },
+ "agentUpgradeState": {
+ "description": "The agent auto upgrade state.",
+ "enum": [
+ "None",
+ "Started",
+ "Completed",
+ "Commit"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "MobilityAgentUpgradeState",
+ "modelAsString": true
+ }
+ },
+ "lastAgentUpgradeType": {
+ "description": "The last agent upgrade type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "agentUpgradeJobId": {
+ "description": "The agent upgrade job Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "agentUpgradeAttemptToVersion": {
+ "description": "The agent version to which last agent upgrade was attempted.",
+ "type": "string",
+ "readOnly": true
+ },
+ "protectedDisks": {
+ "description": "The list of protected disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageRcmProtectedDiskDetails"
+ }
+ },
+ "unprotectedDisks": {
+ "description": "The list of unprotected disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageRcmUnProtectedDiskDetails"
+ },
+ "x-ms-identifiers": [
+ "diskId"
+ ]
+ },
+ "isLastUpgradeSuccessful": {
+ "description": "A value indicating whether last agent upgrade was successful or not.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isAgentRegistrationSuccessfulAfterFailover": {
+ "description": "A value indicating whether agent registration was successful after failover.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "mobilityAgentDetails": {
+ "$ref": "#/definitions/InMageRcmMobilityAgentDetails",
+ "description": "The mobility agent information."
+ },
+ "lastAgentUpgradeErrorDetails": {
+ "description": "The last agent upgrade error information.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageRcmLastAgentUpgradeErrorDetails"
+ }
+ },
+ "agentUpgradeBlockingErrorDetails": {
+ "description": "The agent upgrade blocking error information.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageRcmAgentUpgradeBlockingErrorDetails"
+ }
+ },
+ "vmNics": {
+ "description": "The network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageRcmNicDetails"
+ }
+ },
+ "discoveredVmDetails": {
+ "$ref": "#/definitions/InMageRcmDiscoveredProtectedVmDetails",
+ "description": "The discovered VM details."
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "maxLength": 50,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserCreatedResourceTag"
+ },
+ "x-ms-identifiers": [
+ "tagName"
+ ]
+ },
+ "seedManagedDiskTags": {
+ "description": "The tags for the seed managed disks.",
+ "maxLength": 49,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserCreatedResourceTag"
+ },
+ "x-ms-identifiers": [
+ "tagName"
+ ]
+ },
+ "targetManagedDiskTags": {
+ "description": "The tags for the target managed disks.",
+ "maxLength": 49,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserCreatedResourceTag"
+ },
+ "x-ms-identifiers": [
+ "tagName"
+ ]
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "maxLength": 50,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserCreatedResourceTag"
+ },
+ "x-ms-identifiers": [
+ "tagName"
+ ]
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "type": "string"
+ },
+ "supportedOSVersions": {
+ "description": "A value indicating the inplace OS Upgrade version.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "osName": {
+ "description": "The OS name associated with VM.",
+ "type": "string"
+ },
+ "targetVmSecurityProfile": {
+ "$ref": "#/definitions/SecurityProfileProperties",
+ "description": "The target VM security profile."
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmReprotectInput": {
+ "description": "InMageRcm specific provider input.",
+ "required": [
+ "reprotectAgentId",
+ "datastoreName",
+ "logStorageAccountId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReverseReplicationProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "reprotectAgentId": {
+ "description": "The reprotect agent Id.",
+ "type": "string"
+ },
+ "datastoreName": {
+ "description": "The target datastore name.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The log storage account ARM Id.",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "The Policy Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmSyncDetails": {
+ "description": "InMageRcm disk level sync details.",
+ "type": "object",
+ "properties": {
+ "progressHealth": {
+ "description": "The progress health.",
+ "enum": [
+ "None",
+ "InProgress",
+ "SlowProgress",
+ "NoProgress",
+ "Queued"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DiskReplicationProgressHealth",
+ "modelAsString": true
+ }
+ },
+ "transferredBytes": {
+ "format": "int64",
+ "description": "The transferred bytes from source VM to azure for the disk.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "last15MinutesTransferredBytes": {
+ "format": "int64",
+ "description": "The bytes transferred in last 15 minutes from source VM to azure.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "lastDataTransferTimeUtc": {
+ "description": "The time of the last data transfer from source VM to azure.",
+ "type": "string",
+ "readOnly": true
+ },
+ "processedBytes": {
+ "format": "int64",
+ "description": "The total processed bytes. This includes bytes that are transferred from source VM to azure and matched bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "startTime": {
+ "description": "The start time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastRefreshTime": {
+ "description": "The last refresh time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "progressPercentage": {
+ "format": "int32",
+ "description": "Progress in percentage. Progress percentage is calculated based on processed bytes.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "InMageRcmTestFailoverInput": {
+ "description": "InMageRcm provider specific input for test failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TestFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "networkId": {
+ "description": "The test network Id.",
+ "type": "string"
+ },
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmUnplannedFailoverInput": {
+ "description": "InMageRcm provider specific input for unplanned failover.",
+ "required": [
+ "performShutdown"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "performShutdown": {
+ "description": "A value indicating whether VM is to be shutdown.",
+ "type": "string"
+ },
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmUpdateApplianceForReplicationProtectedItemInput": {
+ "description": "InMageRcm provider specific input to update appliance for replication protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateApplianceForReplicationProtectedItemProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "runAsAccountId": {
+ "description": "The run as account Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmUpdateContainerMappingInput": {
+ "description": "InMageRcm update protection container mapping.",
+ "required": [
+ "enableAgentAutoUpgrade"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificUpdateContainerMappingInput"
+ }
+ ],
+ "properties": {
+ "enableAgentAutoUpgrade": {
+ "description": "A value indicating whether agent auto upgrade has to be enabled.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageRcmUpdateReplicationProtectedItemInput": {
+ "description": "InMageRcm provider specific input to update replication protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput"
+ }
+ ],
+ "properties": {
+ "targetVmName": {
+ "description": "The target VM name.",
+ "type": "string"
+ },
+ "targetVmSize": {
+ "description": "The target VM size.",
+ "type": "string"
+ },
+ "targetResourceGroupId": {
+ "description": "The target resource group ARM Id.",
+ "type": "string"
+ },
+ "targetAvailabilitySetId": {
+ "description": "The target availability set ARM Id.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The target proximity placement group Id.",
+ "type": "string"
+ },
+ "targetBootDiagnosticsStorageAccountId": {
+ "description": "The target boot diagnostics storage account ARM Id.",
+ "type": "string"
+ },
+ "targetNetworkId": {
+ "description": "The target network ARM Id.",
+ "type": "string"
+ },
+ "testNetworkId": {
+ "description": "The test network ARM Id.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The list of NIC details.",
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageRcmNicInput"
+ }
+ },
+ "licenseType": {
+ "description": "The license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "WindowsServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LicenseType",
+ "modelAsString": true
+ }
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "PAYG",
+ "AHUB"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SqlServerLicenseType",
+ "modelAsString": true
+ }
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "maxLength": 50,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserCreatedResourceTag"
+ },
+ "x-ms-identifiers": [
+ "tagName"
+ ]
+ },
+ "targetManagedDiskTags": {
+ "description": "The tags for the target managed disks.",
+ "maxLength": 49,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserCreatedResourceTag"
+ },
+ "x-ms-identifiers": [
+ "tagName"
+ ]
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "maxLength": 50,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserCreatedResourceTag"
+ },
+ "x-ms-identifiers": [
+ "tagName"
+ ]
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "InMageReplicationDetails": {
+ "description": "InMage provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "activeSiteType": {
+ "description": "The active location of the VM. If the VM is being protected from Azure, this field will take values from { Azure, OnPrem }. If the VM is being protected between two data-centers, this field will be OnPrem always.",
+ "type": "string"
+ },
+ "sourceVmCpuCount": {
+ "format": "int32",
+ "description": "The CPU count of the VM on the primary side.",
+ "type": "integer"
+ },
+ "sourceVmRamSizeInMB": {
+ "format": "int32",
+ "description": "The RAM size of the VM on the primary side.",
+ "type": "integer"
+ },
+ "osDetails": {
+ "$ref": "#/definitions/OSDiskDetails",
+ "description": "The OS details."
+ },
+ "protectionStage": {
+ "description": "The protection stage.",
+ "type": "string"
+ },
+ "vmId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ },
+ "vmProtectionState": {
+ "description": "The protection state for the vm.",
+ "type": "string"
+ },
+ "vmProtectionStateDescription": {
+ "description": "The protection state description for the vm.",
+ "type": "string"
+ },
+ "resyncDetails": {
+ "$ref": "#/definitions/InitialReplicationDetails",
+ "description": "The resync details of the machine."
+ },
+ "retentionWindowStart": {
+ "format": "date-time",
+ "description": "The retention window start time.",
+ "type": "string"
+ },
+ "retentionWindowEnd": {
+ "format": "date-time",
+ "description": "The retention window end time.",
+ "type": "string"
+ },
+ "compressedDataRateInMB": {
+ "format": "double",
+ "description": "The compressed data change rate in MB.",
+ "type": "number"
+ },
+ "uncompressedDataRateInMB": {
+ "format": "double",
+ "description": "The uncompressed data change rate in MB.",
+ "type": "number"
+ },
+ "rpoInSeconds": {
+ "format": "int64",
+ "description": "The RPO in seconds.",
+ "type": "integer"
+ },
+ "protectedDisks": {
+ "description": "The list of protected disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageProtectedDiskDetails"
+ }
+ },
+ "ipAddress": {
+ "description": "The source IP address.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the source server.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The process server Id.",
+ "type": "string"
+ },
+ "masterTargetId": {
+ "description": "The master target Id.",
+ "type": "string"
+ },
+ "consistencyPoints": {
+ "description": "The collection of Consistency points.",
+ "type": "object",
+ "additionalProperties": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "diskResized": {
+ "description": "A value indicating whether any disk is resized for this VM.",
+ "type": "string"
+ },
+ "rebootAfterUpdateStatus": {
+ "description": "A value indicating whether the source server requires a restart after update.",
+ "type": "string"
+ },
+ "multiVmGroupId": {
+ "description": "The multi vm group Id, if any.",
+ "type": "string"
+ },
+ "multiVmGroupName": {
+ "description": "The multi vm group name, if any.",
+ "type": "string"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether the multi vm sync is enabled or disabled.",
+ "type": "string"
+ },
+ "agentDetails": {
+ "$ref": "#/definitions/InMageAgentDetails",
+ "description": "The agent details."
+ },
+ "vCenterInfrastructureId": {
+ "description": "The vCenter infrastructure Id.",
+ "type": "string"
+ },
+ "infrastructureVmId": {
+ "description": "The infrastructure VM Id.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The PE Network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicDetails"
+ }
+ },
+ "discoveryType": {
+ "description": "A value indicating the discovery type of the machine.",
+ "type": "string"
+ },
+ "azureStorageAccountId": {
+ "description": "A value indicating the underlying Azure storage account. If the VM is not running in Azure, this value shall be set to null.",
+ "type": "string"
+ },
+ "datastores": {
+ "description": "The datastores of the on-premise machine Value can be list of strings that contain datastore names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "validationErrors": {
+ "description": "The validation errors of the on-premise machine Value can be list of validation errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "lastRpoCalculatedTime": {
+ "format": "date-time",
+ "description": "The last RPO calculated time.",
+ "type": "string"
+ },
+ "lastUpdateReceivedTime": {
+ "format": "date-time",
+ "description": "The last update time received from on-prem components.",
+ "type": "string"
+ },
+ "replicaId": {
+ "description": "The replica id of the protected item.",
+ "type": "string"
+ },
+ "osVersion": {
+ "description": "The OS Version of the protected item.",
+ "type": "string"
+ },
+ "isAdditionalStatsAvailable": {
+ "description": "A value indicating whether additional IR stats are available or not.",
+ "type": "boolean"
+ },
+ "totalDataTransferred": {
+ "format": "int64",
+ "description": "The total transferred data in bytes.",
+ "type": "integer"
+ },
+ "totalProgressHealth": {
+ "description": "The progress health.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMageReprotectInput": {
+ "description": "InMageAzureV2 specific provider input.",
+ "required": [
+ "masterTargetId",
+ "processServerId",
+ "retentionDrive",
+ "profileId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReverseReplicationProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "masterTargetId": {
+ "description": "The Master Target Id.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The Process Server Id.",
+ "type": "string"
+ },
+ "retentionDrive": {
+ "description": "The retention drive to use on the MT.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The CS account Id.",
+ "type": "string"
+ },
+ "datastoreName": {
+ "description": "The target datastore name.",
+ "type": "string"
+ },
+ "diskExclusionInput": {
+ "$ref": "#/definitions/InMageDiskExclusionInput",
+ "description": "The enable disk exclusion input."
+ },
+ "profileId": {
+ "description": "The Policy Id.",
+ "type": "string"
+ },
+ "disksToInclude": {
+ "description": "The disks to include list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMageTestFailoverInput": {
+ "description": "Provider specific input for InMage test failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TestFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "The recovery point type. Values from LatestTime, LatestTag or Custom. In the case of custom, the recovery point provided by RecoveryPointId will be used. In the other two cases, recovery point id will be ignored.",
+ "enum": [
+ "LatestTime",
+ "LatestTag",
+ "Custom"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointType",
+ "modelAsString": true
+ }
+ },
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMageUnplannedFailoverInput": {
+ "description": "Provider specific input for InMage unplanned failover.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "The recovery point type. Values from LatestTime, LatestTag or Custom. In the case of custom, the recovery point provided by RecoveryPointId will be used. In the other two cases, recovery point id will be ignored.",
+ "enum": [
+ "LatestTime",
+ "LatestTag",
+ "Custom"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPointType",
+ "modelAsString": true
+ }
+ },
+ "recoveryPointId": {
+ "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "InMageVolumeExclusionOptions": {
+ "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.",
+ "type": "object",
+ "properties": {
+ "volumeLabel": {
+ "description": "The volume label. The disk having any volume with this label will be excluded from replication.",
+ "type": "string"
+ },
+ "onlyExcludeIfSingleVolume": {
+ "description": "The value indicating whether to exclude multi volume disk or not. If a disk has multiple volumes and one of the volume has label matching with VolumeLabel this disk will be excluded from replication if OnlyExcludeIfSingleVolume is false.",
+ "type": "string"
+ }
+ }
+ },
+ "InnerHealthError": {
+ "description": "Implements InnerHealthError class. HealthError object has a list of InnerHealthErrors as child errors. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.",
+ "type": "object",
+ "properties": {
+ "errorSource": {
+ "description": "Source of error.",
+ "type": "string"
+ },
+ "errorType": {
+ "description": "Type of error.",
+ "type": "string"
+ },
+ "errorLevel": {
+ "description": "Level of error.",
+ "type": "string"
+ },
+ "errorCategory": {
+ "description": "Category of error.",
+ "type": "string"
+ },
+ "errorCode": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "summaryMessage": {
+ "description": "Summary message of the entity.",
+ "type": "string"
+ },
+ "errorMessage": {
+ "description": "Error message.",
+ "type": "string"
+ },
+ "possibleCauses": {
+ "description": "Possible causes of error.",
+ "type": "string"
+ },
+ "recommendedAction": {
+ "description": "Recommended action to resolve error.",
+ "type": "string"
+ },
+ "creationTimeUtc": {
+ "format": "date-time",
+ "description": "Error creation time (UTC).",
+ "type": "string"
+ },
+ "recoveryProviderErrorMessage": {
+ "description": "DRA error message.",
+ "type": "string"
+ },
+ "entityId": {
+ "description": "ID of the entity.",
+ "type": "string"
+ },
+ "errorId": {
+ "description": "The health error unique id.",
+ "type": "string"
+ },
+ "customerResolvability": {
+ "description": "Value indicating whether the health error is customer resolvable.",
+ "enum": [
+ "Allowed",
+ "NotAllowed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthErrorCustomerResolvability",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "InputEndpoint": {
+ "type": "object",
+ "properties": {
+ "endpointName": {
+ "type": "string"
+ },
+ "privatePort": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "publicPort": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "protocol": {
+ "type": "string"
+ }
+ }
+ },
+ "Job": {
+ "description": "Job details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/JobProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "JobCollection": {
+ "description": "Collection of jobs.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of jobs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "JobDetails": {
+ "description": "Job details based on specific job type.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the type of job details (see JobDetailsTypes enum for possible values).",
+ "type": "string"
+ },
+ "affectedObjectDetails": {
+ "description": "The affected object properties like source server, source cloud, target server, target cloud etc. based on the workflow object details.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "JobEntity": {
+ "description": "This class contains the minimal job details required to navigate to the desired drill down.",
+ "type": "object",
+ "properties": {
+ "jobId": {
+ "description": "The job id.",
+ "type": "string"
+ },
+ "jobFriendlyName": {
+ "description": "The job display name.",
+ "type": "string"
+ },
+ "targetObjectId": {
+ "description": "The object id.",
+ "type": "string"
+ },
+ "targetObjectName": {
+ "description": "The object name.",
+ "type": "string"
+ },
+ "targetInstanceType": {
+ "description": "The workflow affected object type.",
+ "type": "string"
+ },
+ "jobScenarioName": {
+ "description": "The job name. Enum type ScenarioName.",
+ "type": "string"
+ }
+ }
+ },
+ "JobErrorDetails": {
+ "description": "This class contains the error details per object.",
+ "type": "object",
+ "properties": {
+ "serviceErrorDetails": {
+ "$ref": "#/definitions/ServiceError",
+ "description": "The Service error details."
+ },
+ "providerErrorDetails": {
+ "$ref": "#/definitions/ProviderError",
+ "description": "The Provider error details."
+ },
+ "errorLevel": {
+ "description": "Error level of error.",
+ "type": "string"
+ },
+ "creationTime": {
+ "format": "date-time",
+ "description": "The creation time of job error.",
+ "type": "string"
+ },
+ "taskId": {
+ "description": "The Id of the task.",
+ "type": "string"
+ }
+ }
+ },
+ "JobProperties": {
+ "description": "Job custom data details.",
+ "type": "object",
+ "properties": {
+ "activityId": {
+ "description": "The activity id.",
+ "type": "string"
+ },
+ "scenarioName": {
+ "description": "The ScenarioName.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "The DisplayName.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The status of the Job. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.",
+ "type": "string"
+ },
+ "stateDescription": {
+ "description": "The description of the state of the Job. For e.g. - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.",
+ "type": "string"
+ },
+ "tasks": {
+ "description": "The tasks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ASRTask"
+ }
+ },
+ "errors": {
+ "description": "The errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobErrorDetails"
+ }
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time.",
+ "type": "string"
+ },
+ "allowedActions": {
+ "description": "The Allowed action the job.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "targetObjectId": {
+ "description": "The affected Object Id.",
+ "type": "string"
+ },
+ "targetObjectName": {
+ "description": "The name of the affected object.",
+ "type": "string"
+ },
+ "targetInstanceType": {
+ "description": "The type of the affected object which is of Microsoft.Azure.SiteRecovery.V2015_11_10.AffectedObjectType class.",
+ "type": "string"
+ },
+ "customDetails": {
+ "$ref": "#/definitions/JobDetails",
+ "description": "The custom job details like test failover job details."
+ }
+ }
+ },
+ "JobQueryParameter": {
+ "description": "Query parameter to enumerate jobs.",
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "description": "Date time to get jobs from.",
+ "type": "string"
+ },
+ "endTime": {
+ "description": "Date time to get jobs upto.",
+ "type": "string"
+ },
+ "fabricId": {
+ "description": "The Id of the fabric to search jobs under.",
+ "type": "string"
+ },
+ "affectedObjectTypes": {
+ "description": "The type of objects.",
+ "type": "string"
+ },
+ "jobStatus": {
+ "description": "The states of the job to be filtered can be in.",
+ "type": "string"
+ },
+ "jobOutputType": {
+ "description": "The output type of the jobs.",
+ "enum": [
+ "Json",
+ "Xml",
+ "Excel"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ExportJobOutputSerializationType",
+ "modelAsString": true
+ }
+ },
+ "jobName": {
+ "description": "The job Name.",
+ "type": "string"
+ },
+ "timezoneOffset": {
+ "format": "double",
+ "description": "The timezone offset for the location of the request (in minutes).",
+ "type": "number"
+ }
+ }
+ },
+ "JobStatusEventDetails": {
+ "description": "Model class for event details of a job status event.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSpecificDetails"
+ }
+ ],
+ "properties": {
+ "jobId": {
+ "description": "Job arm id for the event.",
+ "type": "string"
+ },
+ "jobFriendlyName": {
+ "description": "JobName for the Event.",
+ "type": "string"
+ },
+ "jobStatus": {
+ "description": "JobStatus for the Event.",
+ "type": "string"
+ },
+ "affectedObjectType": {
+ "description": "AffectedObjectType for the event.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "JobStatus"
+ },
+ "JobTaskDetails": {
+ "description": "This class represents a task which is actually a workflow so that one can navigate to its individual drill down.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskTypeDetails"
+ }
+ ],
+ "properties": {
+ "jobTask": {
+ "$ref": "#/definitions/JobEntity",
+ "description": "The job entity."
+ }
+ },
+ "discriminator": "instanceType",
+ "x-ms-discriminator-value": "JobTaskDetails"
+ },
+ "KeyEncryptionKeyInfo": {
+ "description": "Key Encryption Key (KEK) information.",
+ "type": "object",
+ "properties": {
+ "keyIdentifier": {
+ "description": "The key URL / identifier.",
+ "type": "string"
+ },
+ "keyVaultResourceArmId": {
+ "description": "The KeyVault resource ARM Id for key.",
+ "type": "string"
+ }
+ }
+ },
+ "LogicalNetwork": {
+ "description": "Logical network data model.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/LogicalNetworkProperties",
+ "description": "The Logical Network Properties."
+ }
+ }
+ },
+ "LogicalNetworkCollection": {
+ "description": "List of logical networks.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Logical Networks list details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogicalNetwork"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "LogicalNetworkProperties": {
+ "description": "Logical Network Properties.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The Friendly Name.",
+ "type": "string"
+ },
+ "networkVirtualizationStatus": {
+ "description": "A value indicating whether Network Virtualization is enabled for the logical network.",
+ "type": "string"
+ },
+ "logicalNetworkUsage": {
+ "description": "A value indicating whether logical network is used as private test network by test failover.",
+ "type": "string"
+ },
+ "logicalNetworkDefinitionsStatus": {
+ "description": "A value indicating whether logical network definitions are isolated.",
+ "type": "string"
+ }
+ }
+ },
+ "ManagedRunCommandScriptInput": {
+ "description": "Managed RunCommand script input",
+ "required": [
+ "stepName",
+ "scriptUrl",
+ "scriptParameters"
+ ],
+ "type": "object",
+ "properties": {
+ "stepName": {
+ "description": "The step name.",
+ "type": "string"
+ },
+ "scriptUrl": {
+ "description": "The script url.",
+ "type": "string"
+ },
+ "scriptParameters": {
+ "description": "The script parameters.",
+ "type": "string"
+ }
+ }
+ },
+ "ManualActionTaskDetails": {
+ "description": "This class represents the manual action task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskTypeDetails"
+ }
+ ],
+ "properties": {
+ "name": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "instructions": {
+ "description": "The instructions.",
+ "type": "string"
+ },
+ "observation": {
+ "description": "The observation.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ManualActionTaskDetails"
+ },
+ "MarsAgentDetails": {
+ "description": "Mars agent details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The Mars agent Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The Mars agent name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "biosId": {
+ "description": "The Mars agent Bios Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fabricObjectId": {
+ "description": "The fabric object Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fqdn": {
+ "description": "The Mars agent Fqdn.",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "The version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastHeartbeatUtc": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the Mars agent.",
+ "type": "string",
+ "readOnly": true
+ },
+ "health": {
+ "description": "The health of the Mars agent.",
+ "enum": [
+ "None",
+ "Normal",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProtectionHealth",
+ "modelAsString": true
+ }
+ },
+ "healthErrors": {
+ "description": "The health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "MasterTargetServer": {
+ "description": "Details of a Master Target Server.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The server Id.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address of the server.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The server name.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OS type of the server.",
+ "type": "string"
+ },
+ "agentVersion": {
+ "description": "The version of the scout component on the server.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the server.",
+ "type": "string"
+ },
+ "versionStatus": {
+ "description": "Version status.",
+ "type": "string"
+ },
+ "retentionVolumes": {
+ "description": "The retention volumes of Master target Server.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RetentionVolume"
+ }
+ },
+ "dataStores": {
+ "description": "The list of data stores in the fabric.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataStore"
+ }
+ },
+ "validationErrors": {
+ "description": "Validation errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "healthErrors": {
+ "description": "Health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "diskCount": {
+ "format": "int32",
+ "description": "Disk count of the master target.",
+ "type": "integer"
+ },
+ "osVersion": {
+ "description": "OS Version of the master target.",
+ "type": "string"
+ },
+ "agentExpiryDate": {
+ "format": "date-time",
+ "description": "Agent expiry date.",
+ "type": "string"
+ },
+ "marsAgentVersion": {
+ "description": "MARS agent version.",
+ "type": "string"
+ },
+ "marsAgentExpiryDate": {
+ "format": "date-time",
+ "description": "MARS agent expiry date.",
+ "type": "string"
+ },
+ "agentVersionDetails": {
+ "$ref": "#/definitions/VersionDetails",
+ "description": "Agent version details."
+ },
+ "marsAgentVersionDetails": {
+ "$ref": "#/definitions/VersionDetails",
+ "description": "Mars agent version details."
+ }
+ }
+ },
+ "MigrateInput": {
+ "description": "Input for migrate.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MigrateInputProperties",
+ "description": "Migrate input properties."
+ }
+ }
+ },
+ "MigrateInputProperties": {
+ "description": "Migrate input properties.",
+ "required": [
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/MigrateProviderSpecificInput",
+ "description": "The provider specific details."
+ }
+ }
+ },
+ "MigrateProviderSpecificInput": {
+ "description": "Migrate provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "MigrationItem": {
+ "description": "Migration item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MigrationItemProperties",
+ "description": "The migration item properties."
+ }
+ }
+ },
+ "MigrationItemCollection": {
+ "description": "Migration item collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of migration items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "MigrationItemProperties": {
+ "description": "Migration item properties.",
+ "type": "object",
+ "properties": {
+ "machineName": {
+ "description": "The on-premise virtual machine name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "policyId": {
+ "description": "The ARM Id of policy governing this item.",
+ "type": "string",
+ "readOnly": true
+ },
+ "policyFriendlyName": {
+ "description": "The name of policy governing this item.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recoveryServicesProviderId": {
+ "description": "The recovery services provider ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "replicationStatus": {
+ "description": "The replication status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "migrationState": {
+ "description": "The migration status.",
+ "enum": [
+ "None",
+ "EnableMigrationInProgress",
+ "EnableMigrationFailed",
+ "DisableMigrationInProgress",
+ "DisableMigrationFailed",
+ "InitialSeedingInProgress",
+ "InitialSeedingFailed",
+ "Replicating",
+ "MigrationInProgress",
+ "MigrationSucceeded",
+ "MigrationFailed",
+ "ResumeInProgress",
+ "ResumeInitiated",
+ "SuspendingProtection",
+ "ProtectionSuspended",
+ "MigrationCompletedWithInformation",
+ "MigrationPartiallySucceeded"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "MigrationState",
+ "modelAsString": true
+ }
+ },
+ "migrationStateDescription": {
+ "description": "The migration state description.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastTestMigrationTime": {
+ "format": "date-time",
+ "description": "The last test migration time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastTestMigrationStatus": {
+ "description": "The status of the last test migration.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastMigrationTime": {
+ "format": "date-time",
+ "description": "The last migration time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastMigrationStatus": {
+ "description": "The status of the last migration.",
+ "type": "string",
+ "readOnly": true
+ },
+ "testMigrateState": {
+ "description": "The test migrate state.",
+ "enum": [
+ "None",
+ "TestMigrationInProgress",
+ "TestMigrationSucceeded",
+ "TestMigrationFailed",
+ "TestMigrationCleanupInProgress",
+ "TestMigrationCompletedWithInformation",
+ "TestMigrationPartiallySucceeded"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "TestMigrationState",
+ "modelAsString": true
+ }
+ },
+ "testMigrateStateDescription": {
+ "description": "The test migrate state description.",
+ "type": "string",
+ "readOnly": true
+ },
+ "health": {
+ "description": "The consolidated health.",
+ "enum": [
+ "None",
+ "Normal",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProtectionHealth",
+ "modelAsString": true
+ }
+ },
+ "healthErrors": {
+ "description": "The list of health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ },
+ "readOnly": true
+ },
+ "allowedOperations": {
+ "description": "The allowed operations on the migration item based on the current migration state of the item.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup",
+ "Migrate",
+ "StartResync",
+ "PauseReplication",
+ "ResumeReplication"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MigrationItemOperation",
+ "modelAsString": true
+ }
+ },
+ "readOnly": true
+ },
+ "currentJob": {
+ "$ref": "#/definitions/CurrentJobDetails",
+ "description": "The current job details.",
+ "readOnly": true
+ },
+ "criticalJobHistory": {
+ "description": "The critical past job details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CriticalJobHistoryDetails"
+ },
+ "readOnly": true,
+ "x-ms-identifiers": []
+ },
+ "eventCorrelationId": {
+ "description": "The correlation Id for events associated with this migration item.",
+ "type": "string",
+ "readOnly": true
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/MigrationProviderSpecificSettings",
+ "description": "The migration provider custom settings."
+ }
+ }
+ },
+ "MigrationItemsQueryParameter": {
+ "description": "Query parameter to enumerate migration items.",
+ "type": "object",
+ "properties": {
+ "sourceFabricName": {
+ "description": "The source fabric name filter.",
+ "type": "string"
+ },
+ "sourceContainerName": {
+ "description": "The source container name filter.",
+ "type": "string"
+ },
+ "instanceType": {
+ "description": "The replication provider type.",
+ "type": "string"
+ }
+ }
+ },
+ "MigrationProviderSpecificSettings": {
+ "description": "Migration provider specific settings.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "MigrationRecoveryPoint": {
+ "description": "Recovery point for a migration item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MigrationRecoveryPointProperties",
+ "description": "Recovery point properties."
+ }
+ }
+ },
+ "MigrationRecoveryPointCollection": {
+ "description": "Collection of migration recovery points.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The migration recovery point details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrationRecoveryPoint"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "MigrationRecoveryPointProperties": {
+ "description": "Migration item recovery point properties.",
+ "type": "object",
+ "properties": {
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "The recovery point time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "NotSpecified",
+ "ApplicationConsistent",
+ "CrashConsistent"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "MigrationRecoveryPointType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "MobilityServiceUpdate": {
+ "description": "The Mobility Service update details.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The version of the latest update.",
+ "type": "string"
+ },
+ "rebootStatus": {
+ "description": "The reboot status of the update - whether it is required or not.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OS type.",
+ "type": "string"
+ }
+ }
+ },
+ "Network": {
+ "description": "Network model.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/NetworkProperties",
+ "description": "The Network Properties."
+ }
+ }
+ },
+ "NetworkCollection": {
+ "description": "List of networks.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Networks list details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Network"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "NetworkMapping": {
+ "description": "Network Mapping model. Ideally it should have been possible to inherit this class from prev version in InheritedModels as long as there is no difference in structure or method signature. Since there were no base Models for certain fields and methods viz NetworkMappingProperties and Load with required return type, the class has been introduced in its entirety with references to base models to facilitate extensions in subsequent versions.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/NetworkMappingProperties",
+ "description": "The Network Mapping Properties."
+ }
+ }
+ },
+ "NetworkMappingCollection": {
+ "description": "List of network mappings. As with NetworkMapping, it should be possible to reuse a prev version of this class. It doesn't seem likely this class could be anything more than a slightly bespoke collection of NetworkMapping. Hence it makes sense to override Load with Base.NetworkMapping instead of existing CurrentVersion.NetworkMapping.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Network Mappings list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkMapping"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "NetworkMappingFabricSpecificSettings": {
+ "description": "Network Mapping fabric specific settings.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the Instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "NetworkMappingProperties": {
+ "description": "Network Mapping Properties.",
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "The pairing state for network mapping.",
+ "type": "string"
+ },
+ "primaryNetworkFriendlyName": {
+ "description": "The primary network friendly name.",
+ "type": "string"
+ },
+ "primaryNetworkId": {
+ "description": "The primary network id for network mapping.",
+ "type": "string"
+ },
+ "primaryFabricFriendlyName": {
+ "description": "The primary fabric friendly name.",
+ "type": "string"
+ },
+ "recoveryNetworkFriendlyName": {
+ "description": "The recovery network friendly name.",
+ "type": "string"
+ },
+ "recoveryNetworkId": {
+ "description": "The recovery network id for network mapping.",
+ "type": "string"
+ },
+ "recoveryFabricArmId": {
+ "description": "The recovery fabric ARM id.",
+ "type": "string"
+ },
+ "recoveryFabricFriendlyName": {
+ "description": "The recovery fabric friendly name.",
+ "type": "string"
+ },
+ "fabricSpecificSettings": {
+ "$ref": "#/definitions/NetworkMappingFabricSpecificSettings",
+ "description": "The fabric specific settings."
+ }
+ }
+ },
+ "NetworkProperties": {
+ "description": "Network Properties.",
+ "type": "object",
+ "properties": {
+ "fabricType": {
+ "description": "The Fabric Type.",
+ "type": "string"
+ },
+ "subnets": {
+ "description": "The List of subnets.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Subnet"
+ }
+ },
+ "friendlyName": {
+ "description": "The Friendly Name.",
+ "type": "string"
+ },
+ "networkType": {
+ "description": "The Network Type.",
+ "type": "string"
+ }
+ }
+ },
+ "NewProtectionProfile": {
+ "description": "New Protection profile input.",
+ "required": [
+ "policyName",
+ "multiVmSyncStatus"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionProfileCustomDetails"
+ }
+ ],
+ "properties": {
+ "policyName": {
+ "description": "The protection profile input.",
+ "type": "string"
+ },
+ "recoveryPointHistory": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "multiVmSyncStatus": {
+ "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.",
+ "enum": [
+ "Enable",
+ "Disable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SetMultiVmSyncStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "New"
+ },
+ "NewRecoveryVirtualNetwork": {
+ "description": "Recovery virtual network input to create new virtual network from given source network.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryVirtualNetworkCustomDetails"
+ }
+ ],
+ "properties": {
+ "recoveryVirtualNetworkResourceGroupName": {
+ "description": "The name of the resource group to be used to create the recovery virtual network. If absent, target network would be created in the same resource group as target VM.",
+ "type": "string"
+ },
+ "recoveryVirtualNetworkName": {
+ "description": "The recovery virtual network name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "New"
+ },
+ "OperationsDiscovery": {
+ "description": "Operations discovery class.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the API. The name of the operation being performed on this particular object. It should match the action name that appears in RBAC / the event service. Examples of operations include: * Microsoft.Compute/virtualMachine/capture/action * Microsoft.Compute/virtualMachine/restart/action * Microsoft.Compute/virtualMachine/write * Microsoft.Compute/virtualMachine/read * Microsoft.Compute/virtualMachine/delete Each action should include, in order: (1) Resource Provider Namespace (2) Type hierarchy for which the action applies (e.g. server/databases for a SQL Azure database) (3) Read, Write, Action or Delete indicating which type applies. If it is a PUT/PATCH on a collection or named value, Write should be used. If it is a GET, Read should be used. If it is a DELETE, Delete should be used. If it is a POST, Action should be used. As a note: all resource providers would need to include the \"{Resource Provider Namespace}/register/action\" operation in their response. This API is used to register for their service, and should include details about the operation (e.g. a localized name for the resource provider + any special considerations like PII release).",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/Display",
+ "description": "Object type."
+ },
+ "origin": {
+ "description": "Origin. 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\".",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationsDiscoveryProperties",
+ "description": "Properties. Reserved for future use."
+ }
+ }
+ },
+ "OperationsDiscoveryCollection": {
+ "description": "Collection of ClientDiscovery details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The ClientDiscovery details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationsDiscovery"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationsDiscoveryProperties": {
+ "description": "ClientDiscovery properties.",
+ "type": "object",
+ "properties": {}
+ },
+ "OSDetails": {
+ "description": "Disk Details.",
+ "type": "object",
+ "properties": {
+ "osType": {
+ "description": "VM Disk details.",
+ "type": "string"
+ },
+ "productType": {
+ "description": "Product type.",
+ "type": "string"
+ },
+ "osEdition": {
+ "description": "The OSEdition.",
+ "type": "string"
+ },
+ "oSVersion": {
+ "description": "The OS Version.",
+ "type": "string"
+ },
+ "oSMajorVersion": {
+ "description": "The OS Major Version.",
+ "type": "string"
+ },
+ "oSMinorVersion": {
+ "description": "The OS Minor Version.",
+ "type": "string"
+ },
+ "userSelectedOSName": {
+ "description": "The OS name selected by user.",
+ "type": "string"
+ }
+ }
+ },
+ "OSDiskDetails": {
+ "description": "Details of the OS Disk.",
+ "type": "object",
+ "properties": {
+ "osVhdId": {
+ "description": "The id of the disk containing the OS.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The type of the OS on the VM.",
+ "type": "string"
+ },
+ "vhdName": {
+ "description": "The OS disk VHD name.",
+ "type": "string"
+ }
+ }
+ },
+ "OSUpgradeSupportedVersions": {
+ "description": "Supported OS upgrade versions.",
+ "type": "object",
+ "properties": {
+ "supportedSourceOsVersion": {
+ "description": "The source OS version name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "supportedTargetOsVersions": {
+ "description": "The target OS version names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "OSVersionWrapper": {
+ "description": "Wrapper model for OSVersion to include version and service pack info.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The version.",
+ "type": "string"
+ },
+ "servicePack": {
+ "description": "The service pack.",
+ "type": "string"
+ }
+ }
+ },
+ "PauseReplicationInput": {
+ "description": "Pause replication input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PauseReplicationInputProperties",
+ "description": "Pause replication input properties."
+ }
+ }
+ },
+ "PauseReplicationInputProperties": {
+ "description": "Pause replication input properties.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ }
+ },
+ "PlannedFailoverInput": {
+ "description": "Input definition for planned failover.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PlannedFailoverInputProperties",
+ "description": "Planned failover input properties."
+ }
+ }
+ },
+ "PlannedFailoverInputProperties": {
+ "description": "Input definition for planned failover input properties.",
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "Failover direction.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/PlannedFailoverProviderSpecificFailoverInput",
+ "description": "Provider specific settings."
+ }
+ }
+ },
+ "PlannedFailoverProviderSpecificFailoverInput": {
+ "description": "Provider specific failover input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "Policy": {
+ "description": "Protection profile details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PolicyProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "PolicyCollection": {
+ "description": "Protection Profile Collection details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The policy details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Policy"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "PolicyProperties": {
+ "description": "Protection profile custom data details.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The FriendlyName.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails",
+ "description": "The ReplicationChannelSetting."
+ }
+ }
+ },
+ "PolicyProviderSpecificDetails": {
+ "description": "Base class for Provider specific details for policies.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overridden in derived classes.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "PolicyProviderSpecificInput": {
+ "description": "Base class for provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ProcessServer": {
+ "description": "Details of the Process Server.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The Process Server's friendly name.",
+ "type": "string"
+ },
+ "id": {
+ "description": "The Process Server Id.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address of the server.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OS type of the server.",
+ "type": "string"
+ },
+ "agentVersion": {
+ "description": "The version of the scout component on the server.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the server.",
+ "type": "string"
+ },
+ "versionStatus": {
+ "description": "Version status.",
+ "type": "string"
+ },
+ "mobilityServiceUpdates": {
+ "description": "The list of the mobility service updates available on the Process Server.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MobilityServiceUpdate"
+ }
+ },
+ "hostId": {
+ "description": "The agent generated Id.",
+ "type": "string"
+ },
+ "machineCount": {
+ "description": "The servers configured with this PS.",
+ "type": "string"
+ },
+ "replicationPairCount": {
+ "description": "The number of replication pairs configured in this PS.",
+ "type": "string"
+ },
+ "systemLoad": {
+ "description": "The percentage of the system load.",
+ "type": "string"
+ },
+ "systemLoadStatus": {
+ "description": "The system load status.",
+ "type": "string"
+ },
+ "cpuLoad": {
+ "description": "The percentage of the CPU load.",
+ "type": "string"
+ },
+ "cpuLoadStatus": {
+ "description": "The CPU load status.",
+ "type": "string"
+ },
+ "totalMemoryInBytes": {
+ "format": "int64",
+ "description": "The total memory.",
+ "type": "integer"
+ },
+ "availableMemoryInBytes": {
+ "format": "int64",
+ "description": "The available memory.",
+ "type": "integer"
+ },
+ "memoryUsageStatus": {
+ "description": "The memory usage status.",
+ "type": "string"
+ },
+ "totalSpaceInBytes": {
+ "format": "int64",
+ "description": "The total space.",
+ "type": "integer"
+ },
+ "availableSpaceInBytes": {
+ "format": "int64",
+ "description": "The available space.",
+ "type": "integer"
+ },
+ "spaceUsageStatus": {
+ "description": "The space usage status.",
+ "type": "string"
+ },
+ "psServiceStatus": {
+ "description": "The PS service status.",
+ "type": "string"
+ },
+ "sslCertExpiryDate": {
+ "format": "date-time",
+ "description": "The PS SSL cert expiry date.",
+ "type": "string"
+ },
+ "sslCertExpiryRemainingDays": {
+ "format": "int32",
+ "description": "CS SSL cert expiry date.",
+ "type": "integer"
+ },
+ "osVersion": {
+ "description": "OS Version of the process server. Note: This will get populated if user has CS version greater than 9.12.0.0.",
+ "type": "string"
+ },
+ "healthErrors": {
+ "description": "Health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "agentExpiryDate": {
+ "format": "date-time",
+ "description": "Agent expiry date.",
+ "type": "string"
+ },
+ "agentVersionDetails": {
+ "$ref": "#/definitions/VersionDetails",
+ "description": "The agent version details."
+ },
+ "health": {
+ "description": "The health of Process Server.",
+ "enum": [
+ "None",
+ "Normal",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProtectionHealth",
+ "modelAsString": true
+ }
+ },
+ "psStatsRefreshTime": {
+ "format": "date-time",
+ "description": "The process server stats refresh time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "throughputUploadPendingDataInBytes": {
+ "format": "int64",
+ "description": "The uploading pending data in bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "throughputInMBps": {
+ "format": "int64",
+ "description": "The throughput in MBps.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "throughputInBytes": {
+ "format": "int64",
+ "description": "The throughput in bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "throughputStatus": {
+ "description": "The throughput status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "marsCommunicationStatus": {
+ "description": "The MARS communication status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "marsRegistrationStatus": {
+ "description": "The MARS registration status.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ProcessServerDetails": {
+ "description": "Process server details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The process server Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The process server name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "biosId": {
+ "description": "The process server Bios Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fabricObjectId": {
+ "description": "The fabric object Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fqdn": {
+ "description": "The process server Fqdn.",
+ "type": "string",
+ "readOnly": true
+ },
+ "ipAddresses": {
+ "description": "The list of IP addresses for communicating with the RCM component.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "version": {
+ "description": "The version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastHeartbeatUtc": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the process server.",
+ "type": "string",
+ "readOnly": true
+ },
+ "totalMemoryInBytes": {
+ "format": "int64",
+ "description": "The total memory.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "availableMemoryInBytes": {
+ "format": "int64",
+ "description": "The available memory.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "usedMemoryInBytes": {
+ "format": "int64",
+ "description": "The used memory.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "memoryUsagePercentage": {
+ "format": "double",
+ "description": "The memory usage percentage.",
+ "type": "number",
+ "readOnly": true
+ },
+ "totalSpaceInBytes": {
+ "format": "int64",
+ "description": "The total disk space.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "availableSpaceInBytes": {
+ "format": "int64",
+ "description": "The available disk space.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "usedSpaceInBytes": {
+ "format": "int64",
+ "description": "The used disk space.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "freeSpacePercentage": {
+ "format": "double",
+ "description": "The free disk space percentage.",
+ "type": "number",
+ "readOnly": true
+ },
+ "throughputUploadPendingDataInBytes": {
+ "format": "int64",
+ "description": "The uploading pending data in bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "throughputInBytes": {
+ "format": "int64",
+ "description": "The throughput in bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "processorUsagePercentage": {
+ "format": "double",
+ "description": "The processor usage percentage.",
+ "type": "number",
+ "readOnly": true
+ },
+ "throughputStatus": {
+ "description": "The throughput status.",
+ "enum": [
+ "Healthy",
+ "Warning",
+ "Critical",
+ "Unknown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RcmComponentStatus",
+ "modelAsString": true
+ }
+ },
+ "systemLoad": {
+ "format": "int64",
+ "description": "The system load.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "systemLoadStatus": {
+ "description": "The system load status.",
+ "enum": [
+ "Healthy",
+ "Warning",
+ "Critical",
+ "Unknown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RcmComponentStatus",
+ "modelAsString": true
+ }
+ },
+ "diskUsageStatus": {
+ "description": "The disk usage status.",
+ "enum": [
+ "Healthy",
+ "Warning",
+ "Critical",
+ "Unknown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RcmComponentStatus",
+ "modelAsString": true
+ }
+ },
+ "memoryUsageStatus": {
+ "description": "The memory usage status.",
+ "enum": [
+ "Healthy",
+ "Warning",
+ "Critical",
+ "Unknown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RcmComponentStatus",
+ "modelAsString": true
+ }
+ },
+ "processorUsageStatus": {
+ "description": "The processor usage status.",
+ "enum": [
+ "Healthy",
+ "Warning",
+ "Critical",
+ "Unknown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RcmComponentStatus",
+ "modelAsString": true
+ }
+ },
+ "health": {
+ "description": "The health of the process server.",
+ "enum": [
+ "None",
+ "Normal",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProtectionHealth",
+ "modelAsString": true
+ }
+ },
+ "healthErrors": {
+ "description": "The health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ },
+ "readOnly": true
+ },
+ "protectedItemCount": {
+ "format": "int32",
+ "description": "The protected item count.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "historicHealth": {
+ "description": "The historic health of the process server based on the health in last 24 hours.",
+ "enum": [
+ "None",
+ "Normal",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProtectionHealth",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ProtectableItem": {
+ "description": "Replication protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectableItemProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "ProtectableItemCollection": {
+ "description": "Protectable item collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Protectable item details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectableItem"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectableItemProperties": {
+ "description": "Replication protected item custom data details.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "protectionStatus": {
+ "description": "The protection status.",
+ "type": "string"
+ },
+ "replicationProtectedItemId": {
+ "description": "The ARM resource of protected items.",
+ "type": "string"
+ },
+ "recoveryServicesProviderId": {
+ "description": "The recovery provider ARM Id.",
+ "type": "string"
+ },
+ "protectionReadinessErrors": {
+ "description": "The Current protection readiness errors.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "supportedReplicationProviders": {
+ "description": "The list of replication providers supported for the protectable item.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "customDetails": {
+ "$ref": "#/definitions/ConfigurationSettings",
+ "description": "The Replication provider custom settings."
+ }
+ }
+ },
+ "ProtectableItemQueryParameter": {
+ "description": "Query parameter to enumerate Protectable items.",
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "State of the Protectable item query filter.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectedItemsQueryParameter": {
+ "description": "Query parameter to enumerate protected items.",
+ "type": "object",
+ "properties": {
+ "sourceFabricName": {
+ "description": "The source fabric name filter.",
+ "type": "string"
+ },
+ "recoveryPlanName": {
+ "description": "The recovery plan filter.",
+ "type": "string"
+ },
+ "sourceFabricLocation": {
+ "description": "The source fabric location filter.",
+ "type": "string"
+ },
+ "fabricObjectId": {
+ "description": "The fabric object Id filter.",
+ "type": "string"
+ },
+ "vCenterName": {
+ "description": "The vCenter name filter.",
+ "type": "string"
+ },
+ "instanceType": {
+ "description": "The replication provider type.",
+ "type": "string"
+ },
+ "multiVmGroupCreateOption": {
+ "description": "Whether Multi VM group is auto created or specified by user.",
+ "enum": [
+ "AutoCreated",
+ "UserSpecified"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MultiVmGroupCreateOption",
+ "modelAsString": true
+ }
+ },
+ "processServerId": {
+ "description": "The process server Id filter.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectionContainer": {
+ "description": "Protection container details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectionContainerProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "ProtectionContainerCollection": {
+ "description": "Protection Container collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Protection Container details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectionContainer"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectionContainerFabricSpecificDetails": {
+ "description": "Base class for fabric specific details of container.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overridden in derived classes.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ProtectionContainerMapping": {
+ "description": "Protection container mapping object.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProtectionContainerMappingProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "ProtectionContainerMappingCollection": {
+ "description": "Protection container mapping collection class.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of container mappings.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtectionContainerMapping"
+ }
+ },
+ "nextLink": {
+ "description": "Link to fetch rest of the data.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectionContainerMappingProperties": {
+ "description": "Protection container mapping properties.",
+ "type": "object",
+ "properties": {
+ "targetProtectionContainerId": {
+ "description": "Paired protection container ARM ID.",
+ "type": "string"
+ },
+ "targetProtectionContainerFriendlyName": {
+ "description": "Friendly name of paired container.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails",
+ "description": "Provider specific provider details."
+ },
+ "health": {
+ "description": "Health of pairing.",
+ "type": "string"
+ },
+ "healthErrorDetails": {
+ "description": "Health error.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "policyId": {
+ "description": "Policy ARM Id.",
+ "type": "string"
+ },
+ "state": {
+ "description": "Association Status.",
+ "type": "string"
+ },
+ "sourceProtectionContainerFriendlyName": {
+ "description": "Friendly name of source protection container.",
+ "type": "string"
+ },
+ "sourceFabricFriendlyName": {
+ "description": "Friendly name of source fabric.",
+ "type": "string"
+ },
+ "targetFabricFriendlyName": {
+ "description": "Friendly name of target fabric.",
+ "type": "string"
+ },
+ "policyFriendlyName": {
+ "description": "Friendly name of replication policy.",
+ "type": "string"
+ }
+ }
+ },
+ "ProtectionContainerMappingProviderSpecificDetails": {
+ "description": "Container mapping provider specific details.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the class type. Overridden in derived classes.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ProtectionContainerProperties": {
+ "description": "Protection profile custom data details.",
+ "type": "object",
+ "properties": {
+ "fabricFriendlyName": {
+ "description": "Fabric friendly name.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "fabricType": {
+ "description": "The fabric type.",
+ "type": "string"
+ },
+ "protectedItemCount": {
+ "format": "int32",
+ "description": "Number of protected PEs.",
+ "type": "integer"
+ },
+ "pairingStatus": {
+ "description": "The pairing status of this cloud.",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role of this cloud.",
+ "type": "string"
+ },
+ "fabricSpecificDetails": {
+ "$ref": "#/definitions/ProtectionContainerFabricSpecificDetails",
+ "description": "Fabric specific details."
+ }
+ }
+ },
+ "ProtectionProfileCustomDetails": {
+ "description": "Protection Profile custom input.",
+ "required": [
+ "resourceType"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "resourceType"
+ },
+ "ProviderError": {
+ "description": "This class contains the error details per object.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "format": "int32",
+ "description": "The Error code.",
+ "type": "integer"
+ },
+ "errorMessage": {
+ "description": "The Error message.",
+ "type": "string"
+ },
+ "errorId": {
+ "description": "The Provider error Id.",
+ "type": "string"
+ },
+ "possibleCauses": {
+ "description": "The possible causes for the error.",
+ "type": "string"
+ },
+ "recommendedAction": {
+ "description": "The recommended action to resolve the error.",
+ "type": "string"
+ }
+ }
+ },
+ "ProviderSpecificRecoveryPointDetails": {
+ "description": "Replication provider specific recovery point details.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the provider type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "PushInstallerDetails": {
+ "description": "Push installer details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The push installer Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The push installer name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "biosId": {
+ "description": "The push installer Bios Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fabricObjectId": {
+ "description": "The fabric object Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fqdn": {
+ "description": "The push installer Fqdn.",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "The version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastHeartbeatUtc": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the push installer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "health": {
+ "description": "The health of the push installer.",
+ "enum": [
+ "None",
+ "Normal",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProtectionHealth",
+ "modelAsString": true
+ }
+ },
+ "healthErrors": {
+ "description": "The health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "RcmProxyDetails": {
+ "description": "RCM proxy details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The RCM proxy Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The RCM proxy name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "biosId": {
+ "description": "The RCM proxy Bios Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fabricObjectId": {
+ "description": "The fabric object Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fqdn": {
+ "description": "The RCM proxy Fqdn.",
+ "type": "string",
+ "readOnly": true
+ },
+ "clientAuthenticationType": {
+ "description": "The client authentication type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "The version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastHeartbeatUtc": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the RCM proxy.",
+ "type": "string",
+ "readOnly": true
+ },
+ "health": {
+ "description": "The health of the RCM proxy.",
+ "enum": [
+ "None",
+ "Normal",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProtectionHealth",
+ "modelAsString": true
+ }
+ },
+ "healthErrors": {
+ "description": "The health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "RecoveryAvailabilitySetCustomDetails": {
+ "description": "Recovery Availability Set custom input.",
+ "required": [
+ "resourceType"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "resourceType"
+ },
+ "RecoveryPlan": {
+ "description": "Recovery plan details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPlanProperties",
+ "description": "The custom details."
+ }
+ }
+ },
+ "RecoveryPlanA2ADetails": {
+ "description": "Recovery plan A2A specific details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "primaryZone": {
+ "description": "The primary zone.",
+ "type": "string"
+ },
+ "recoveryZone": {
+ "description": "The recovery zone.",
+ "type": "string"
+ },
+ "primaryExtendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The primary extended location."
+ },
+ "recoveryExtendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The recovery extended location."
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "RecoveryPlanA2AFailoverInput": {
+ "description": "Recovery plan A2A failover input.",
+ "required": [
+ "recoveryPointType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "Latest",
+ "LatestApplicationConsistent",
+ "LatestCrashConsistent",
+ "LatestProcessed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "A2ARpRecoveryPointType",
+ "modelAsString": true
+ }
+ },
+ "cloudServiceCreationOption": {
+ "description": "A value indicating whether to use recovery cloud service for TFO or not.",
+ "type": "string"
+ },
+ "multiVmSyncPointOption": {
+ "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.",
+ "enum": [
+ "UseMultiVmSyncRecoveryPoint",
+ "UsePerVmRecoveryPoint"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MultiVmSyncPointOption",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "RecoveryPlanA2AInput": {
+ "description": "Recovery plan A2A input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "primaryZone": {
+ "description": "The primary zone.",
+ "type": "string"
+ },
+ "recoveryZone": {
+ "description": "The recovery zone.",
+ "type": "string"
+ },
+ "primaryExtendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The primary extended location."
+ },
+ "recoveryExtendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The recovery extended location."
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "RecoveryPlanAction": {
+ "description": "Recovery plan action details.",
+ "required": [
+ "actionName",
+ "failoverTypes",
+ "failoverDirections",
+ "customDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "actionName": {
+ "description": "The action name.",
+ "type": "string"
+ },
+ "failoverTypes": {
+ "description": "The list of failover types.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "ReverseReplicate",
+ "Commit",
+ "PlannedFailover",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover",
+ "TestFailoverCleanup",
+ "Failback",
+ "FinalizeFailback",
+ "CancelFailover",
+ "ChangePit",
+ "RepairReplication",
+ "SwitchProtection",
+ "CompleteMigration"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ReplicationProtectedItemOperation",
+ "modelAsString": true
+ }
+ }
+ },
+ "failoverDirections": {
+ "description": "The list of failover directions.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "PrimaryToRecovery",
+ "RecoveryToPrimary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PossibleOperationsDirections",
+ "modelAsString": true
+ }
+ }
+ },
+ "customDetails": {
+ "$ref": "#/definitions/RecoveryPlanActionDetails",
+ "description": "The custom details."
+ }
+ }
+ },
+ "RecoveryPlanActionDetails": {
+ "description": "Recovery plan action custom details.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values).",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "RecoveryPlanAutomationRunbookActionDetails": {
+ "description": "Recovery plan Automation runbook action details.",
+ "required": [
+ "fabricLocation"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanActionDetails"
+ }
+ ],
+ "properties": {
+ "runbookId": {
+ "description": "The runbook ARM Id.",
+ "type": "string"
+ },
+ "timeout": {
+ "description": "The runbook timeout.",
+ "type": "string"
+ },
+ "fabricLocation": {
+ "description": "The fabric location.",
+ "enum": [
+ "Primary",
+ "Recovery"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPlanActionLocation",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AutomationRunbookActionDetails"
+ },
+ "RecoveryPlanCollection": {
+ "description": "Recovery plan collection details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of recovery plans.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlan"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "RecoveryPlanGroup": {
+ "description": "Recovery plan group details.",
+ "required": [
+ "groupType"
+ ],
+ "type": "object",
+ "properties": {
+ "groupType": {
+ "description": "The group type.",
+ "enum": [
+ "Shutdown",
+ "Boot",
+ "Failover"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPlanGroupType",
+ "modelAsString": true
+ }
+ },
+ "replicationProtectedItems": {
+ "description": "The list of protected items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanProtectedItem"
+ }
+ },
+ "startGroupActions": {
+ "description": "The start group actions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanAction"
+ }
+ },
+ "endGroupActions": {
+ "description": "The end group actions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanAction"
+ }
+ }
+ }
+ },
+ "RecoveryPlanGroupTaskDetails": {
+ "description": "This class represents the recovery plan group task.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/GroupTaskDetails"
+ }
+ ],
+ "properties": {
+ "name": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "groupId": {
+ "description": "The group identifier.",
+ "type": "string"
+ },
+ "rpGroupType": {
+ "description": "The group type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType",
+ "x-ms-discriminator-value": "RecoveryPlanGroupTaskDetails"
+ },
+ "RecoveryPlanHyperVReplicaAzureFailbackInput": {
+ "description": "Recovery plan HVR Azure failback input.",
+ "required": [
+ "dataSyncOption",
+ "recoveryVmCreationOption"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "dataSyncOption": {
+ "description": "The data sync option.",
+ "enum": [
+ "ForDownTime",
+ "ForSynchronization"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSyncStatus",
+ "modelAsString": true
+ }
+ },
+ "recoveryVmCreationOption": {
+ "description": "The ALR option.",
+ "enum": [
+ "CreateVmIfNotFound",
+ "NoAction"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AlternateLocationRecoveryOption",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzureFailback"
+ },
+ "RecoveryPlanHyperVReplicaAzureFailoverInput": {
+ "description": "Recovery plan HVR Azure failover input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "primaryKekCertificatePfx": {
+ "description": "The primary KEK certificate PFX.",
+ "type": "string"
+ },
+ "secondaryKekCertificatePfx": {
+ "description": "The secondary KEK certificate PFX.",
+ "type": "string"
+ },
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "Latest",
+ "LatestApplicationConsistent",
+ "LatestProcessed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HyperVReplicaAzureRpRecoveryPointType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVReplicaAzure"
+ },
+ "RecoveryPlanInMageAzureV2FailoverInput": {
+ "description": "Recovery plan InMageAzureV2 failover input.",
+ "required": [
+ "recoveryPointType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "Latest",
+ "LatestApplicationConsistent",
+ "LatestCrashConsistent",
+ "LatestProcessed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InMageV2RpRecoveryPointType",
+ "modelAsString": true
+ }
+ },
+ "useMultiVmSyncPoint": {
+ "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageAzureV2"
+ },
+ "RecoveryPlanInMageFailoverInput": {
+ "description": "Recovery plan InMage failover input.",
+ "required": [
+ "recoveryPointType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "LatestTime",
+ "LatestTag",
+ "Custom"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RpInMageRecoveryPointType",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "InMage"
+ },
+ "RecoveryPlanInMageRcmFailbackFailoverInput": {
+ "description": "Recovery plan InMageRcmFailback failover input.",
+ "required": [
+ "recoveryPointType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "ApplicationConsistent",
+ "CrashConsistent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InMageRcmFailbackRecoveryPointType",
+ "modelAsString": true
+ }
+ },
+ "useMultiVmSyncPoint": {
+ "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcmFailback"
+ },
+ "RecoveryPlanInMageRcmFailoverInput": {
+ "description": "Recovery plan InMageRcm failover input.",
+ "required": [
+ "recoveryPointType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "Latest",
+ "LatestApplicationConsistent",
+ "LatestCrashConsistent",
+ "LatestProcessed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPlanPointType",
+ "modelAsString": true
+ }
+ },
+ "useMultiVmSyncPoint": {
+ "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "InMageRcm"
+ },
+ "RecoveryPlanManualActionDetails": {
+ "description": "Recovery plan manual action details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanActionDetails"
+ }
+ ],
+ "properties": {
+ "description": {
+ "description": "The manual action description.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ManualActionDetails"
+ },
+ "RecoveryPlanPlannedFailoverInput": {
+ "description": "Recovery plan planned failover input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPlanPlannedFailoverInputProperties",
+ "description": "The recovery plan planned failover input properties."
+ }
+ }
+ },
+ "RecoveryPlanPlannedFailoverInputProperties": {
+ "description": "Recovery plan planned failover input properties.",
+ "required": [
+ "failoverDirection"
+ ],
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "The failover direction.",
+ "enum": [
+ "PrimaryToRecovery",
+ "RecoveryToPrimary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PossibleOperationsDirections",
+ "modelAsString": true
+ }
+ },
+ "providerSpecificDetails": {
+ "description": "The provider specific properties.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ }
+ }
+ },
+ "RecoveryPlanProperties": {
+ "description": "Recovery plan properties.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The friendly name.",
+ "type": "string"
+ },
+ "primaryFabricId": {
+ "description": "The primary fabric Id.",
+ "type": "string"
+ },
+ "primaryFabricFriendlyName": {
+ "description": "The primary fabric friendly name.",
+ "type": "string"
+ },
+ "recoveryFabricId": {
+ "description": "The recovery fabric Id.",
+ "type": "string"
+ },
+ "recoveryFabricFriendlyName": {
+ "description": "The recovery fabric friendly name.",
+ "type": "string"
+ },
+ "failoverDeploymentModel": {
+ "description": "The failover deployment model.",
+ "type": "string"
+ },
+ "replicationProviders": {
+ "description": "The list of replication providers.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "allowedOperations": {
+ "description": "The list of allowed operations.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "lastPlannedFailoverTime": {
+ "format": "date-time",
+ "description": "The start time of the last planned failover.",
+ "type": "string"
+ },
+ "lastUnplannedFailoverTime": {
+ "format": "date-time",
+ "description": "The start time of the last unplanned failover.",
+ "type": "string"
+ },
+ "lastTestFailoverTime": {
+ "format": "date-time",
+ "description": "The start time of the last test failover.",
+ "type": "string"
+ },
+ "currentScenario": {
+ "$ref": "#/definitions/CurrentScenarioDetails",
+ "description": "The current scenario details."
+ },
+ "currentScenarioStatus": {
+ "description": "The recovery plan status.",
+ "type": "string"
+ },
+ "currentScenarioStatusDescription": {
+ "description": "The recovery plan status description.",
+ "type": "string"
+ },
+ "groups": {
+ "description": "The recovery plan groups.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanGroup"
+ }
+ },
+ "providerSpecificDetails": {
+ "description": "The provider id and provider specific details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificDetails"
+ }
+ }
+ }
+ },
+ "RecoveryPlanProtectedItem": {
+ "description": "Recovery plan protected item.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ARM Id of the recovery plan protected item.",
+ "type": "string"
+ },
+ "virtualMachineId": {
+ "description": "The virtual machine Id.",
+ "type": "string"
+ }
+ }
+ },
+ "RecoveryPlanProviderSpecificDetails": {
+ "description": "Recovery plan provider specific details.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the Instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "RecoveryPlanProviderSpecificFailoverInput": {
+ "description": "Recovery plan provider specific failover input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "RecoveryPlanProviderSpecificInput": {
+ "description": "Recovery plan provider specific input base class.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the Instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "RecoveryPlanScriptActionDetails": {
+ "description": "Recovery plan script action details.",
+ "required": [
+ "path",
+ "fabricLocation"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanActionDetails"
+ }
+ ],
+ "properties": {
+ "path": {
+ "description": "The script path.",
+ "type": "string"
+ },
+ "timeout": {
+ "description": "The script timeout.",
+ "type": "string"
+ },
+ "fabricLocation": {
+ "description": "The fabric location.",
+ "enum": [
+ "Primary",
+ "Recovery"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RecoveryPlanActionLocation",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ScriptActionDetails"
+ },
+ "RecoveryPlanShutdownGroupTaskDetails": {
+ "description": "This class represents the recovery plan shutdown group task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RecoveryPlanGroupTaskDetails"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "RecoveryPlanShutdownGroupTaskDetails"
+ },
+ "RecoveryPlanTestFailoverCleanupInput": {
+ "description": "Recovery plan test failover cleanup input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInputProperties",
+ "description": "The recovery plan test failover cleanup input properties."
+ }
+ }
+ },
+ "RecoveryPlanTestFailoverCleanupInputProperties": {
+ "description": "Recovery plan test failover cleanup input properties.",
+ "type": "object",
+ "properties": {
+ "comments": {
+ "description": "The test failover cleanup comments.",
+ "maxLength": 1024,
+ "type": "string"
+ }
+ }
+ },
+ "RecoveryPlanTestFailoverInput": {
+ "description": "Recovery plan test failover input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPlanTestFailoverInputProperties",
+ "description": "The recovery plan test failover input properties."
+ }
+ }
+ },
+ "RecoveryPlanTestFailoverInputProperties": {
+ "description": "Recovery plan test failover input properties.",
+ "required": [
+ "failoverDirection",
+ "networkType"
+ ],
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "The failover direction.",
+ "enum": [
+ "PrimaryToRecovery",
+ "RecoveryToPrimary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PossibleOperationsDirections",
+ "modelAsString": true
+ }
+ },
+ "networkType": {
+ "description": "The network type to be used for test failover.",
+ "type": "string"
+ },
+ "networkId": {
+ "description": "The Id of the network to be used for test failover.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "description": "The provider specific properties.",
+ "maxLength": 1,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ }
+ }
+ },
+ "RecoveryPlanUnplannedFailoverInput": {
+ "description": "Recovery plan unplanned failover input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInputProperties",
+ "description": "The recovery plan unplanned failover input properties."
+ }
+ }
+ },
+ "RecoveryPlanUnplannedFailoverInputProperties": {
+ "description": "Recovery plan unplanned failover input properties.",
+ "required": [
+ "failoverDirection",
+ "sourceSiteOperations"
+ ],
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "The failover direction.",
+ "enum": [
+ "PrimaryToRecovery",
+ "RecoveryToPrimary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PossibleOperationsDirections",
+ "modelAsString": true
+ }
+ },
+ "sourceSiteOperations": {
+ "description": "A value indicating whether source site operations are required.",
+ "enum": [
+ "Required",
+ "NotRequired"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SourceSiteOperations",
+ "modelAsString": true
+ }
+ },
+ "providerSpecificDetails": {
+ "description": "The provider specific properties.",
+ "maxLength": 1,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
+ }
+ }
+ }
+ },
+ "RecoveryPoint": {
+ "description": "Recovery point.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryPointProperties",
+ "description": "The recovery point properties."
+ }
+ }
+ },
+ "RecoveryPointCollection": {
+ "description": "Collection of recovery point details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The recovery point details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPoint"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "RecoveryPointProperties": {
+ "description": "Recovery point properties.",
+ "type": "object",
+ "properties": {
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "The recovery point time.",
+ "type": "string"
+ },
+ "recoveryPointType": {
+ "description": "The recovery point type: ApplicationConsistent, CrashConsistent.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails",
+ "description": "The provider specific details for the recovery point."
+ }
+ }
+ },
+ "RecoveryProximityPlacementGroupCustomDetails": {
+ "description": "Recovery Proximity placement group custom input.",
+ "required": [
+ "resourceType"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "resourceType"
+ },
+ "RecoveryResourceGroupCustomDetails": {
+ "description": "Recovery Resource Group custom input.",
+ "required": [
+ "resourceType"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "resourceType"
+ },
+ "RecoveryServicesProvider": {
+ "description": "Provider details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RecoveryServicesProviderProperties",
+ "description": "Provider properties."
+ }
+ }
+ },
+ "RecoveryServicesProviderCollection": {
+ "description": "Collection of providers.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Servers details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryServicesProvider"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "RecoveryServicesProviderProperties": {
+ "description": "Recovery services provider properties.",
+ "type": "object",
+ "properties": {
+ "fabricType": {
+ "description": "Type of the site.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Friendly name of the DRA.",
+ "type": "string"
+ },
+ "providerVersion": {
+ "description": "The provider version.",
+ "type": "string"
+ },
+ "serverVersion": {
+ "description": "The fabric provider.",
+ "type": "string"
+ },
+ "providerVersionState": {
+ "description": "DRA version status.",
+ "type": "string"
+ },
+ "providerVersionExpiryDate": {
+ "format": "date-time",
+ "description": "Expiry date of the version.",
+ "type": "string"
+ },
+ "fabricFriendlyName": {
+ "description": "The fabric friendly name.",
+ "type": "string"
+ },
+ "lastHeartBeat": {
+ "format": "date-time",
+ "description": "Time when last heartbeat was sent by the DRA.",
+ "type": "string"
+ },
+ "connectionStatus": {
+ "description": "A value indicating whether DRA is responsive.",
+ "type": "string"
+ },
+ "protectedItemCount": {
+ "format": "int32",
+ "description": "Number of protected VMs currently managed by the DRA.",
+ "type": "integer"
+ },
+ "allowedScenarios": {
+ "description": "The scenarios allowed on this provider.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "healthErrorDetails": {
+ "description": "The recovery services provider health error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "draIdentifier": {
+ "description": "The DRA Id.",
+ "type": "string"
+ },
+ "machineId": {
+ "description": "The machine Id.",
+ "type": "string"
+ },
+ "machineName": {
+ "description": "The machine name.",
+ "type": "string"
+ },
+ "biosId": {
+ "description": "The Bios Id.",
+ "type": "string"
+ },
+ "authenticationIdentityDetails": {
+ "$ref": "#/definitions/IdentityProviderDetails",
+ "description": "The authentication identity details."
+ },
+ "resourceAccessIdentityDetails": {
+ "$ref": "#/definitions/IdentityProviderDetails",
+ "description": "The resource access identity details."
+ },
+ "dataPlaneAuthenticationIdentityDetails": {
+ "$ref": "#/definitions/IdentityProviderDetails",
+ "description": "The data plane authentication identity details."
+ },
+ "providerVersionDetails": {
+ "$ref": "#/definitions/VersionDetails",
+ "description": "The provider version details."
+ }
+ }
+ },
+ "RecoveryVirtualNetworkCustomDetails": {
+ "description": "Recovery Virtual network custom input.",
+ "required": [
+ "resourceType"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "resourceType"
+ },
+ "RegisteredClusterNodes": {
+ "description": "Extended location of the resource.",
+ "type": "object",
+ "properties": {
+ "clusterNodeFqdn": {
+ "description": "The cluster node name.",
+ "type": "string"
+ },
+ "machineId": {
+ "description": "The machine ID.",
+ "type": "string"
+ },
+ "biosId": {
+ "description": "The BIOS ID.",
+ "type": "string"
+ },
+ "isSharedDiskVirtualNode": {
+ "description": "A value indicating whether this represents virtual entity hosting all the shared disks.",
+ "type": "boolean"
+ }
+ }
+ },
+ "RemoveDisksInput": {
+ "description": "Input for remove disk(s) operation.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RemoveDisksInputProperties",
+ "description": "Remove disk input properties."
+ }
+ }
+ },
+ "RemoveDisksInputProperties": {
+ "description": "Remove Disk input properties.",
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/RemoveDisksProviderSpecificInput",
+ "description": "The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null."
+ }
+ }
+ },
+ "RemoveDisksProviderSpecificInput": {
+ "description": "Remove Disk provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "RemoveProtectionContainerMappingInput": {
+ "description": "Container unpairing input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RemoveProtectionContainerMappingInputProperties",
+ "description": "Configure protection input properties."
+ }
+ }
+ },
+ "RemoveProtectionContainerMappingInputProperties": {
+ "description": "Unpairing input properties.",
+ "type": "object",
+ "properties": {
+ "providerSpecificInput": {
+ "$ref": "#/definitions/ReplicationProviderContainerUnmappingInput",
+ "description": "Provider specific input for unpairing."
+ }
+ }
+ },
+ "RenewCertificateInput": {
+ "description": "Certificate renewal input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RenewCertificateInputProperties",
+ "description": "Renew certificate input properties."
+ }
+ }
+ },
+ "RenewCertificateInputProperties": {
+ "description": "Renew Certificate input properties.",
+ "type": "object",
+ "properties": {
+ "renewCertificateType": {
+ "description": "Renew certificate type.",
+ "type": "string"
+ }
+ }
+ },
+ "ReplicationAgentDetails": {
+ "description": "Replication agent details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The replication agent Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The replication agent name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "biosId": {
+ "description": "The replication agent Bios Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fabricObjectId": {
+ "description": "The fabric object Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fqdn": {
+ "description": "The replication agent Fqdn.",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "The version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastHeartbeatUtc": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the replication agent.",
+ "type": "string",
+ "readOnly": true
+ },
+ "health": {
+ "description": "The health of the replication agent.",
+ "enum": [
+ "None",
+ "Normal",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProtectionHealth",
+ "modelAsString": true
+ }
+ },
+ "healthErrors": {
+ "description": "The health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ReplicationAppliance": {
+ "description": "Replication appliance definition.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ReplicationApplianceProperties",
+ "description": "Appliance related data."
+ }
+ }
+ },
+ "ReplicationApplianceProperties": {
+ "description": "Replication appliance properties.",
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ApplianceSpecificDetails",
+ "description": "Provider specific settings."
+ }
+ }
+ },
+ "ReplicationClusterProviderSpecificSettings": {
+ "description": "Replication cluster provider specific settings.",
+ "type": "object",
+ "required": [
+ "instanceType"
+ ],
+ "properties": {
+ "instanceType": {
+ "description": "Gets the Instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ReplicationEligibilityResults": {
+ "description": "Replication eligibility results response model.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Gets the name of this object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Gets the object type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Gets Unique ARM identifier for this object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/ReplicationEligibilityResultsProperties",
+ "description": "Gets properties model for replication eligibility results API.",
+ "readOnly": true
+ }
+ }
+ },
+ "ReplicationEligibilityResultsCollection": {
+ "description": "Replication eligibility results collection response model.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The replication eligibility results details.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicationEligibilityResults"
+ }
+ }
+ }
+ },
+ "ReplicationEligibilityResultsErrorInfo": {
+ "description": "Error model that can be exposed to the user.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string"
+ },
+ "possibleCauses": {
+ "description": "The possible causes.",
+ "type": "string"
+ },
+ "recommendedAction": {
+ "description": "The recommended action.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The error status.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "ReplicationEligibilityResultsProperties": {
+ "description": "Properties model for replication eligibility results API.",
+ "type": "object",
+ "properties": {
+ "clientRequestId": {
+ "description": "The client request Id.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "errors": {
+ "description": "The error details.",
+ "type": "array",
+ "uniqueItems": false,
+ "items": {
+ "$ref": "#/definitions/ReplicationEligibilityResultsErrorInfo"
+ }
+ }
+ }
+ },
+ "ReplicationGroupDetails": {
+ "description": "Replication group details. This will be used in case of San.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ConfigurationSettings"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "ReplicationGroupDetails"
+ },
+ "ReplicationProtectedItem": {
+ "description": "Replication protected item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ReplicationProtectedItemProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "ReplicationProtectedItemCollection": {
+ "description": "Replication protected item collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Replication protected item details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "ReplicationProtectedItemProperties": {
+ "description": "Replication protected item custom data details.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "protectedItemType": {
+ "description": "The type of protected item type.",
+ "type": "string"
+ },
+ "protectableItemId": {
+ "description": "The protected item ARM Id.",
+ "type": "string"
+ },
+ "recoveryServicesProviderId": {
+ "description": "The recovery provider ARM Id.",
+ "type": "string"
+ },
+ "primaryFabricFriendlyName": {
+ "description": "The friendly name of the primary fabric.",
+ "type": "string"
+ },
+ "primaryFabricProvider": {
+ "description": "The fabric provider of the primary fabric.",
+ "type": "string"
+ },
+ "recoveryFabricFriendlyName": {
+ "description": "The friendly name of recovery fabric.",
+ "type": "string"
+ },
+ "recoveryFabricId": {
+ "description": "The Arm Id of recovery fabric.",
+ "type": "string"
+ },
+ "primaryProtectionContainerFriendlyName": {
+ "description": "The name of primary protection container friendly name.",
+ "type": "string"
+ },
+ "recoveryProtectionContainerFriendlyName": {
+ "description": "The name of recovery container friendly name.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "The protection status.",
+ "type": "string"
+ },
+ "protectionStateDescription": {
+ "description": "The protection state description.",
+ "type": "string"
+ },
+ "activeLocation": {
+ "description": "The Current active location of the PE.",
+ "type": "string"
+ },
+ "testFailoverState": {
+ "description": "The Test failover state.",
+ "type": "string"
+ },
+ "testFailoverStateDescription": {
+ "description": "The Test failover state description.",
+ "type": "string"
+ },
+ "switchProviderState": {
+ "description": "The switch provider state.",
+ "type": "string"
+ },
+ "switchProviderStateDescription": {
+ "description": "The switch provider state description.",
+ "type": "string"
+ },
+ "allowedOperations": {
+ "description": "The allowed operations on the Replication protected item.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "replicationHealth": {
+ "description": "The consolidated protection health for the VM taking any issues with SRS as well as all the replication units associated with the VM's replication group into account. This is a string representation of the ProtectionHealth enumeration.",
+ "type": "string"
+ },
+ "failoverHealth": {
+ "description": "The consolidated failover health for the VM.",
+ "type": "string"
+ },
+ "healthErrors": {
+ "description": "List of health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "policyId": {
+ "description": "The ID of Policy governing this PE.",
+ "type": "string"
+ },
+ "policyFriendlyName": {
+ "description": "The name of Policy governing this PE.",
+ "type": "string"
+ },
+ "lastSuccessfulFailoverTime": {
+ "format": "date-time",
+ "description": "The Last successful failover time.",
+ "type": "string"
+ },
+ "lastSuccessfulTestFailoverTime": {
+ "format": "date-time",
+ "description": "The Last successful test failover time.",
+ "type": "string"
+ },
+ "currentScenario": {
+ "$ref": "#/definitions/CurrentScenarioDetails",
+ "description": "The current scenario."
+ },
+ "failoverRecoveryPointId": {
+ "description": "The recovery point ARM Id to which the Vm was failed over.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ReplicationProviderSpecificSettings",
+ "description": "The Replication provider custom settings."
+ },
+ "recoveryContainerId": {
+ "description": "The recovery container Id.",
+ "type": "string"
+ },
+ "eventCorrelationId": {
+ "description": "The correlation Id for events associated with this protected item.",
+ "type": "string"
+ }
+ }
+ },
+ "ReplicationProtectionCluster": {
+ "description": "Replication protection Cluster.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "description": "The protection cluster Id.",
+ "type": "string"
+ },
+ "name": {
+ "readOnly": true,
+ "description": "The name of the protection cluster.",
+ "type": "string"
+ },
+ "type": {
+ "readOnly": true,
+ "description": "The Type of the object.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/ReplicationProtectionClusterProperties",
+ "description": "The custom data."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ReplicationProtectionClusterCollection": {
+ "description": "Replication protected item collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Replication protection cluster details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicationProtectionCluster"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "ReplicationProtectionClusterProperties": {
+ "description": "Replication protection cluster custom data details.",
+ "type": "object",
+ "properties": {
+ "protectionClusterType": {
+ "description": "The type of protection cluster type.",
+ "type": "string"
+ },
+ "primaryFabricFriendlyName": {
+ "description": "The friendly name of the primary fabric.",
+ "type": "string"
+ },
+ "primaryFabricProvider": {
+ "description": "The fabric provider of the primary fabric.",
+ "type": "string"
+ },
+ "recoveryFabricFriendlyName": {
+ "description": "The friendly name of recovery fabric.",
+ "type": "string"
+ },
+ "recoveryFabricId": {
+ "description": "The Arm Id of recovery fabric.",
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics"
+ }
+ ]
+ }
+ },
+ "primaryProtectionContainerFriendlyName": {
+ "description": "The name of primary protection container friendly name.",
+ "type": "string"
+ },
+ "recoveryProtectionContainerFriendlyName": {
+ "description": "The name of recovery container friendly name.",
+ "type": "string"
+ },
+ "protectionState": {
+ "description": "The protection status.",
+ "type": "string"
+ },
+ "protectionStateDescription": {
+ "description": "The protection state description.",
+ "type": "string"
+ },
+ "activeLocation": {
+ "description": "The Current active location of the Protection cluster.",
+ "type": "string"
+ },
+ "testFailoverState": {
+ "description": "The Test failover state.",
+ "type": "string"
+ },
+ "testFailoverStateDescription": {
+ "description": "The Test failover state description.",
+ "type": "string"
+ },
+ "allowedOperations": {
+ "description": "The allowed operations on the Replication protection cluster.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "replicationHealth": {
+ "description": "The consolidated protection health for the VM taking any issues with SRS as well as all the replication units associated with the VM's replication group into account. This is a string representation of the ProtectionHealth enumeration.",
+ "type": "string"
+ },
+ "healthErrors": {
+ "description": "List of health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ },
+ "x-ms-identifiers": []
+ },
+ "lastSuccessfulFailoverTime": {
+ "format": "date-time",
+ "description": "The last successful failover time.",
+ "type": "string"
+ },
+ "lastSuccessfulTestFailoverTime": {
+ "format": "date-time",
+ "description": "The last successful test failover time.",
+ "type": "string"
+ },
+ "policyFriendlyName": {
+ "description": "The name of Policy governing this PE.",
+ "type": "string"
+ },
+ "currentScenario": {
+ "$ref": "#/definitions/CurrentScenarioDetails",
+ "description": "The current scenario."
+ },
+ "recoveryContainerId": {
+ "description": "The recovery container Id.",
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers"
+ }
+ ]
+ }
+ },
+ "agentClusterId": {
+ "description": "The Agent cluster Id.",
+ "type": "string"
+ },
+ "clusterFqdn": {
+ "description": "The cluster FQDN.",
+ "type": "string"
+ },
+ "clusterNodeFqdns": {
+ "description": "The List of cluster Node FQDNs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "clusterProtectedItemIds": {
+ "description": "The List of Protected Item Id's.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems"
+ }
+ ]
+ }
+ }
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the cluster.",
+ "type": "string",
+ "readOnly": true
+ },
+ "areAllClusterNodesRegistered": {
+ "description": "A value indicating whether all nodes of the cluster are registered or not.",
+ "type": "boolean"
+ },
+ "clusterRegisteredNodes": {
+ "description": "The registered node details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegisteredClusterNodes"
+ },
+ "x-ms-identifiers": [
+ "clusterNodeFqdn"
+ ]
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ReplicationClusterProviderSpecificSettings",
+ "description": "The Replication cluster provider custom settings."
+ },
+ "sharedDiskProperties": {
+ "$ref": "#/definitions/SharedDiskReplicationItemProperties",
+ "description": "The shared disk properties."
+ },
+ "policyId": {
+ "description": "The Policy Id.",
+ "type": "string",
+ "format": "arm-id",
+ "x-ms-arm-id-details": {
+ "allowedResources": [
+ {
+ "type": "Microsoft.RecoveryServices/vaults/replicationPolicies"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "ReplicationProtectionIntent": {
+ "description": "Replication protection intent.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ReplicationProtectionIntentProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "ReplicationProtectionIntentCollection": {
+ "description": "Replication protection intent objects collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Replication protection intent details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicationProtectionIntent"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "ReplicationProtectionIntentProperties": {
+ "description": "Replication protection intent custom data details.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "jobId": {
+ "description": "The job Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "jobState": {
+ "description": "The job state.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isActive": {
+ "description": "A value indicating whether the intent object is active.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "creationTimeUTC": {
+ "description": "The creation time in UTC.",
+ "type": "string",
+ "readOnly": true
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ReplicationProtectionIntentProviderSpecificSettings",
+ "description": "The Replication provider custom settings."
+ }
+ }
+ },
+ "ReplicationProtectionIntentProviderSpecificSettings": {
+ "description": "Replication provider specific settings.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the Instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ReplicationProviderContainerUnmappingInput": {
+ "description": "Provider specific input for unpairing operations.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ }
+ },
+ "ReplicationProviderSpecificContainerCreationInput": {
+ "description": "Provider specific input for container creation operation.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ReplicationProviderSpecificContainerMappingInput": {
+ "description": "Provider specific input for pairing operations.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ReplicationProviderSpecificSettings": {
+ "description": "Replication provider specific settings.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the Instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ReplicationProviderSpecificUpdateContainerMappingInput": {
+ "description": "Provider specific input for update pairing operations.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ReprotectAgentDetails": {
+ "description": "Reprotect agent details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The reprotect agent Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The reprotect agent name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "biosId": {
+ "description": "The reprotect agent Bios Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fabricObjectId": {
+ "description": "The fabric object Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fqdn": {
+ "description": "The reprotect agent Fqdn.",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "The version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastHeartbeatUtc": {
+ "format": "date-time",
+ "description": "The last heartbeat received from the reprotect agent.",
+ "type": "string",
+ "readOnly": true
+ },
+ "health": {
+ "description": "The health of the reprotect agent.",
+ "enum": [
+ "None",
+ "Normal",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProtectionHealth",
+ "modelAsString": true
+ }
+ },
+ "healthErrors": {
+ "description": "The health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ },
+ "x-ms-identifier": [
+ "errorCode"
+ ],
+ "readOnly": true
+ },
+ "protectedItemCount": {
+ "format": "int32",
+ "description": "The protected item count.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "accessibleDatastores": {
+ "description": "The list of accessible datastores fetched from discovery.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "vcenterId": {
+ "description": "The Vcenter Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastDiscoveryInUtc": {
+ "format": "date-time",
+ "description": "The last time when SDS information discovered in SRS.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ResolveHealthError": {
+ "description": "Resolve health errors input properties.",
+ "type": "object",
+ "properties": {
+ "healthErrorId": {
+ "description": "Health error id.",
+ "type": "string"
+ }
+ }
+ },
+ "ResolveHealthInput": {
+ "description": "Resolve health input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ResolveHealthInputProperties",
+ "description": "Disable resolve health input properties."
+ }
+ }
+ },
+ "ResolveHealthInputProperties": {
+ "description": "Resolve health input properties.",
+ "type": "object",
+ "properties": {
+ "healthErrors": {
+ "description": "Health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResolveHealthError"
+ }
+ }
+ }
+ },
+ "Resource": {
+ "description": "Azure resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Resource Name",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Resource Type",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "Resource Location",
+ "type": "string"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ResourceHealthSummary": {
+ "description": "Base class to define the health summary of the resources contained under an Arm resource.",
+ "type": "object",
+ "properties": {
+ "resourceCount": {
+ "format": "int32",
+ "description": "The count of total resources under the container.",
+ "type": "integer"
+ },
+ "issues": {
+ "description": "The list of summary of health errors across the resources under the container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthErrorSummary"
+ }
+ },
+ "categorizedResourceCounts": {
+ "description": "The categorized resource counts.",
+ "type": "object",
+ "additionalProperties": {
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ }
+ },
+ "ResumeJobParams": {
+ "description": "Resume job params.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ResumeJobParamsProperties",
+ "description": "Resume job properties."
+ }
+ }
+ },
+ "ResumeJobParamsProperties": {
+ "description": "Resume job properties.",
+ "type": "object",
+ "properties": {
+ "comments": {
+ "description": "Resume job comments.",
+ "type": "string"
+ }
+ }
+ },
+ "ResumeReplicationInput": {
+ "description": "Resume replication input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ResumeReplicationInputProperties",
+ "description": "Resume replication input properties."
+ }
+ }
+ },
+ "ResumeReplicationInputProperties": {
+ "description": "Resume replication input properties.",
+ "required": [
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ResumeReplicationProviderSpecificInput",
+ "description": "The provider specific input for resume replication."
+ }
+ }
+ },
+ "ResumeReplicationProviderSpecificInput": {
+ "description": "Resume replication provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ResyncInput": {
+ "description": "Resync input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ResyncInputProperties",
+ "description": "Resync input properties."
+ }
+ }
+ },
+ "ResyncInputProperties": {
+ "description": "Resync input properties.",
+ "required": [
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ResyncProviderSpecificInput",
+ "description": "The provider specific details."
+ }
+ }
+ },
+ "ResyncProviderSpecificInput": {
+ "description": "Resync provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "RetentionVolume": {
+ "description": "The retention details of the MT.",
+ "type": "object",
+ "properties": {
+ "volumeName": {
+ "description": "The volume name.",
+ "type": "string"
+ },
+ "capacityInBytes": {
+ "format": "int64",
+ "description": "The volume capacity.",
+ "type": "integer"
+ },
+ "freeSpaceInBytes": {
+ "format": "int64",
+ "description": "The free space available in this volume.",
+ "type": "integer"
+ },
+ "thresholdPercentage": {
+ "format": "int32",
+ "description": "The threshold percentage.",
+ "type": "integer"
+ }
+ }
+ },
+ "ReverseReplicationInput": {
+ "description": "Reverse replication input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ReverseReplicationInputProperties",
+ "description": "Reverse replication properties."
+ }
+ }
+ },
+ "ReverseReplicationInputProperties": {
+ "description": "Reverse replication input properties.",
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "Failover direction.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/ReverseReplicationProviderSpecificInput",
+ "description": "Provider specific reverse replication input."
+ }
+ }
+ },
+ "ReverseReplicationProviderSpecificInput": {
+ "description": "Provider specific reverse replication input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "RoleAssignment": {
+ "description": "Azure role assignment details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ARM Id of the role assignment.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the role assignment.",
+ "type": "string"
+ },
+ "scope": {
+ "description": "Role assignment scope.",
+ "type": "string"
+ },
+ "principalId": {
+ "description": "Principal Id.",
+ "type": "string"
+ },
+ "roleDefinitionId": {
+ "description": "Role definition id.",
+ "type": "string"
+ }
+ }
+ },
+ "RunAsAccount": {
+ "description": "CS Accounts Details.",
+ "type": "object",
+ "properties": {
+ "accountId": {
+ "description": "The CS RunAs account Id.",
+ "type": "string"
+ },
+ "accountName": {
+ "description": "The CS RunAs account name.",
+ "type": "string"
+ }
+ }
+ },
+ "ScriptActionTaskDetails": {
+ "description": "This class represents the script action task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskTypeDetails"
+ }
+ ],
+ "properties": {
+ "name": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "path": {
+ "description": "The path.",
+ "type": "string"
+ },
+ "output": {
+ "description": "The output.",
+ "type": "string"
+ },
+ "isPrimarySideScript": {
+ "description": "A value indicating whether it is a primary side script or not.",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "ScriptActionTaskDetails"
+ },
+ "SecurityProfileProperties": {
+ "description": "Security profile input.",
+ "type": "object",
+ "properties": {
+ "targetVmSecurityType": {
+ "description": "The target VM security type.",
+ "enum": [
+ "None",
+ "TrustedLaunch",
+ "ConfidentialVM"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SecurityType",
+ "modelAsString": true
+ }
+ },
+ "targetVmSecureBoot": {
+ "$ref": "#/definitions/SecurityConfiguration",
+ "description": "A value indicating whether secure boot to be enabled."
+ },
+ "targetVmTpm": {
+ "$ref": "#/definitions/SecurityConfiguration",
+ "description": "A value indicating whether trusted platform module to be enabled."
+ },
+ "targetVmMonitoring": {
+ "$ref": "#/definitions/SecurityConfiguration",
+ "description": "A value indicating whether integrity monitoring to be enabled."
+ },
+ "targetVmConfidentialEncryption": {
+ "$ref": "#/definitions/SecurityConfiguration",
+ "description": "A value indicating whether confidential compute encryption to be enabled."
+ }
+ }
+ },
+ "ServiceError": {
+ "description": "ASR error model.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message.",
+ "type": "string"
+ },
+ "possibleCauses": {
+ "description": "Possible causes of error.",
+ "type": "string"
+ },
+ "recommendedAction": {
+ "description": "Recommended action to resolve error.",
+ "type": "string"
+ },
+ "activityId": {
+ "description": "Activity Id.",
+ "type": "string"
+ }
+ }
+ },
+ "SharedDiskReplicationItemProperties": {
+ "description": "Shared Disk Replication item custom data details.",
+ "type": "object",
+ "properties": {
+ "protectionState": {
+ "description": "The protection state of shared disk.",
+ "type": "string"
+ },
+ "testFailoverState": {
+ "description": "The tfo state of shared disk.",
+ "type": "string"
+ },
+ "activeLocation": {
+ "description": "The Current active location of the PE.",
+ "type": "string"
+ },
+ "allowedOperations": {
+ "description": "The allowed operations on the Replication protected item.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "replicationHealth": {
+ "description": "The consolidated protection health for the VM taking any issues with SRS as well as all the replication units associated with the VM's replication group into account. This is a string representation of the ProtectionHealth enumeration.",
+ "type": "string"
+ },
+ "healthErrors": {
+ "description": "List of health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ },
+ "x-ms-identifiers": [
+ "errorCode"
+ ]
+ },
+ "currentScenario": {
+ "$ref": "#/definitions/CurrentScenarioDetails",
+ "description": "The current scenario."
+ },
+ "sharedDiskProviderSpecificDetails": {
+ "$ref": "#/definitions/SharedDiskReplicationProviderSpecificSettings",
+ "description": "The Replication provider custom settings."
+ }
+ }
+ },
+ "SharedDiskReplicationProviderSpecificSettings": {
+ "description": "Replication provider specific settings.",
+ "type": "object",
+ "required": [
+ "instanceType"
+ ],
+ "properties": {
+ "instanceType": {
+ "description": "Gets the Instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "IPConfigDetails": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "isPrimary": {
+ "type": "boolean"
+ },
+ "subnetName": {
+ "type": "string"
+ },
+ "staticIPAddress": {
+ "type": "string"
+ },
+ "ipAddressType": {
+ "type": "string"
+ },
+ "isSeletedForFailover": {
+ "type": "boolean"
+ },
+ "recoverySubnetName": {
+ "type": "string"
+ },
+ "recoveryStaticIPAddress": {
+ "type": "string"
+ },
+ "recoveryIPAddressType": {
+ "type": "string"
+ },
+ "recoveryPublicIPAddressId": {
+ "type": "string"
+ },
+ "recoveryLBBackendAddressPoolIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "tfoSubnetName": {
+ "type": "string"
+ },
+ "tfoStaticIPAddress": {
+ "type": "string"
+ },
+ "tfoPublicIPAddressId": {
+ "type": "string"
+ },
+ "tfoLBBackendAddressPoolIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "IPConfigInputDetails": {
+ "type": "object",
+ "properties": {
+ "ipConfigName": {
+ "type": "string"
+ },
+ "isPrimary": {
+ "type": "boolean"
+ },
+ "isSeletedForFailover": {
+ "type": "boolean"
+ },
+ "recoverySubnetName": {
+ "type": "string"
+ },
+ "recoveryStaticIPAddress": {
+ "type": "string"
+ },
+ "recoveryPublicIPAddressId": {
+ "type": "string"
+ },
+ "recoveryLBBackendAddressPoolIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "tfoSubnetName": {
+ "type": "string"
+ },
+ "tfoStaticIPAddress": {
+ "type": "string"
+ },
+ "tfoPublicIPAddressId": {
+ "type": "string"
+ },
+ "tfoLBBackendAddressPoolIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "StorageAccountCustomDetails": {
+ "description": "Storage account custom input.",
+ "required": [
+ "resourceType"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "resourceType"
+ },
+ "StorageClassification": {
+ "description": "Storage object definition.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageClassificationProperties",
+ "description": "Properties of the storage object."
+ }
+ }
+ },
+ "StorageClassificationCollection": {
+ "description": "Collection of storage details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The storage details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageClassification"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageClassificationMapping": {
+ "description": "Storage mapping object.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageClassificationMappingProperties",
+ "description": "Properties of the storage mapping object."
+ }
+ }
+ },
+ "StorageClassificationMappingCollection": {
+ "description": "Collection of storage mapping details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The storage details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageClassificationMapping"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageClassificationMappingInput": {
+ "description": "Storage mapping input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageMappingInputProperties",
+ "description": "Storage mapping input properties."
+ }
+ }
+ },
+ "StorageClassificationMappingProperties": {
+ "description": "Storage mapping properties.",
+ "type": "object",
+ "properties": {
+ "targetStorageClassificationId": {
+ "description": "Target storage object Id.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageClassificationProperties": {
+ "description": "Storage object properties.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the Storage classification.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageMappingInputProperties": {
+ "description": "Storage mapping input properties.",
+ "type": "object",
+ "properties": {
+ "targetStorageClassificationId": {
+ "description": "The ID of the storage object.",
+ "type": "string"
+ }
+ }
+ },
+ "Subnet": {
+ "description": "Subnets of the network.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The subnet name.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "The subnet friendly name.",
+ "type": "string"
+ },
+ "addressList": {
+ "description": "The list of addresses for the subnet.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "SupportedOperatingSystems": {
+ "description": "Supported operating systems.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SupportedOSProperties",
+ "description": "The supported operating systems properties."
+ }
+ }
+ },
+ "SupportedOSDetails": {
+ "description": "Supported operating system details.",
+ "type": "object",
+ "properties": {
+ "osName": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The type.",
+ "type": "string"
+ },
+ "osVersions": {
+ "description": "The list of version for operating system.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OSVersionWrapper"
+ }
+ }
+ }
+ },
+ "SupportedOSProperties": {
+ "description": "Supported operating systems properties.",
+ "type": "object",
+ "properties": {
+ "supportedOsList": {
+ "description": "The supported operating systems property list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SupportedOSProperty"
+ }
+ }
+ }
+ },
+ "SupportedOSProperty": {
+ "description": "Supported operating systems property.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The replication provider type.",
+ "type": "string"
+ },
+ "supportedOs": {
+ "description": "The list of supported operating systems.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SupportedOSDetails"
+ }
+ }
+ }
+ },
+ "SwitchClusterProtectionInput": {
+ "description": "Switch cluster protection input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SwitchClusterProtectionInputProperties",
+ "description": "Switch cluster protection properties."
+ }
+ }
+ },
+ "SwitchClusterProtectionInputProperties": {
+ "description": "Switch cluster protection input properties.",
+ "type": "object",
+ "properties": {
+ "replicationProtectionClusterName": {
+ "description": "The unique replication protection cluster name.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/SwitchClusterProtectionProviderSpecificInput",
+ "description": "Provider specific switch protection input."
+ }
+ }
+ },
+ "SwitchClusterProtectionProviderSpecificInput": {
+ "description": "Provider specific switch cluster protection input.",
+ "type": "object",
+ "required": [
+ "instanceType"
+ ],
+ "properties": {
+ "instanceType": {
+ "description": "Gets the Instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "SwitchProtectionInput": {
+ "description": "Switch protection input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SwitchProtectionInputProperties",
+ "description": "Switch protection properties."
+ }
+ }
+ },
+ "SwitchProtectionInputProperties": {
+ "description": "Switch protection input properties.",
+ "type": "object",
+ "properties": {
+ "replicationProtectedItemName": {
+ "description": "The unique replication protected item name.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/SwitchProtectionProviderSpecificInput",
+ "description": "Provider specific switch protection input."
+ }
+ }
+ },
+ "SwitchProtectionJobDetails": {
+ "description": "This class represents details for switch protection job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "newReplicationProtectedItemId": {
+ "description": "ARM Id of the new replication protected item.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "SwitchProtectionJobDetails"
+ },
+ "SwitchProtectionProviderSpecificInput": {
+ "description": "Provider specific switch protection input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the Instance type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "SwitchProviderInput": {
+ "description": "Input definition for switch provider.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SwitchProviderInputProperties",
+ "description": "Switch provider input properties."
+ }
+ }
+ },
+ "SwitchProviderInputProperties": {
+ "description": "Input definition for switch provider input properties.",
+ "type": "object",
+ "properties": {
+ "targetInstanceType": {
+ "description": "Target provider type.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/SwitchProviderProviderSpecificInput",
+ "description": "Provider specific settings."
+ }
+ }
+ },
+ "SwitchProviderProviderSpecificInput": {
+ "description": "Provider specific switch provider input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "TargetComputeSize": {
+ "description": "Represents applicable recovery vm sizes.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The Id.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The Type of the object.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/TargetComputeSizeProperties",
+ "description": "The custom data."
+ }
+ }
+ },
+ "TargetComputeSizeCollection": {
+ "description": "Target compute size collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of target compute sizes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TargetComputeSize"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "TargetComputeSizeProperties": {
+ "description": "Represents applicable recovery vm sizes properties.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Target compute size name.",
+ "type": "string"
+ },
+ "friendlyName": {
+ "description": "Target compute size display name.",
+ "type": "string"
+ },
+ "cpuCoresCount": {
+ "format": "int32",
+ "description": "The maximum cpu cores count supported by target compute size.",
+ "type": "integer"
+ },
+ "vCPUsAvailable": {
+ "format": "int32",
+ "description": "The Available vCPUs supported by target compute size.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "memoryInGB": {
+ "format": "double",
+ "description": "The maximum memory in GB supported by target compute size.",
+ "type": "number"
+ },
+ "maxDataDiskCount": {
+ "format": "int32",
+ "description": "The maximum data disks count supported by target compute size.",
+ "type": "integer"
+ },
+ "maxNicsCount": {
+ "format": "int32",
+ "description": "The maximum Nics count supported by target compute size.",
+ "type": "integer"
+ },
+ "errors": {
+ "description": "The reasons why the target compute size is not applicable for the protected item.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ComputeSizeErrorDetails"
+ }
+ },
+ "highIopsSupported": {
+ "description": "The value indicating whether the target compute size supports high Iops.",
+ "type": "string"
+ },
+ "hyperVGenerations": {
+ "description": "The supported HyperV Generations.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TaskTypeDetails": {
+ "description": "Task details based on specific task type.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The type of task details.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "TestFailoverCleanupInput": {
+ "description": "Input definition for test failover cleanup.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TestFailoverCleanupInputProperties",
+ "description": "Test failover cleanup input properties."
+ }
+ }
+ },
+ "TestFailoverCleanupInputProperties": {
+ "description": "Input definition for test failover cleanup input properties.",
+ "type": "object",
+ "properties": {
+ "comments": {
+ "description": "Test failover cleanup comments.",
+ "maxLength": 1024,
+ "type": "string"
+ }
+ }
+ },
+ "TestFailoverInput": {
+ "description": "Input definition for test failover.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TestFailoverInputProperties",
+ "description": "Test failover input properties."
+ }
+ }
+ },
+ "TestFailoverInputProperties": {
+ "description": "Input definition for test failover input properties.",
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "Test failover direction.",
+ "type": "string"
+ },
+ "networkType": {
+ "description": "Network type to be used for test failover.",
+ "type": "string"
+ },
+ "networkId": {
+ "description": "The id of the network to be used for test failover.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/TestFailoverProviderSpecificInput",
+ "description": "Provider specific settings."
+ }
+ }
+ },
+ "TestFailoverJobDetails": {
+ "description": "This class represents the details for a test failover job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "testFailoverStatus": {
+ "description": "The test failover status.",
+ "type": "string"
+ },
+ "comments": {
+ "description": "The test failover comments.",
+ "type": "string"
+ },
+ "networkName": {
+ "description": "The test network name.",
+ "type": "string"
+ },
+ "networkFriendlyName": {
+ "description": "The test network friendly name.",
+ "type": "string"
+ },
+ "networkType": {
+ "description": "The test network type (see TestFailoverInput enum for possible values).",
+ "type": "string"
+ },
+ "protectedItemDetails": {
+ "description": "The test VM details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FailoverReplicationProtectedItemDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "TestFailoverJobDetails"
+ },
+ "TestFailoverProviderSpecificInput": {
+ "description": "Provider specific test failover input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "TestMigrateCleanupInput": {
+ "description": "Input for test migrate cleanup.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TestMigrateCleanupInputProperties",
+ "description": "Test migrate cleanup input properties."
+ }
+ }
+ },
+ "TestMigrateCleanupInputProperties": {
+ "description": "Test migrate cleanup input properties.",
+ "type": "object",
+ "properties": {
+ "comments": {
+ "description": "Test migrate cleanup comments.",
+ "maxLength": 1024,
+ "type": "string"
+ }
+ }
+ },
+ "TestMigrateInput": {
+ "description": "Input for test migrate.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TestMigrateInputProperties",
+ "description": "Test migrate input properties."
+ }
+ }
+ },
+ "TestMigrateInputProperties": {
+ "description": "Test migrate input properties.",
+ "required": [
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/TestMigrateProviderSpecificInput",
+ "description": "The provider specific details."
+ }
+ }
+ },
+ "TestMigrateProviderSpecificInput": {
+ "description": "Test migrate provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "UnplannedFailoverInput": {
+ "description": "Input definition for unplanned failover.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UnplannedFailoverInputProperties",
+ "description": "Unplanned failover input properties."
+ }
+ }
+ },
+ "UnplannedFailoverInputProperties": {
+ "description": "Input definition for unplanned failover input properties.",
+ "type": "object",
+ "properties": {
+ "failoverDirection": {
+ "description": "Failover direction.",
+ "type": "string"
+ },
+ "sourceSiteOperations": {
+ "description": "Source site operations status.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput",
+ "description": "Provider specific settings."
+ }
+ }
+ },
+ "UnplannedFailoverProviderSpecificInput": {
+ "description": "Provider specific unplanned failover input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "UpdateApplianceForReplicationProtectedItemInput": {
+ "description": "Update appliance for replication protected item input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateApplianceForReplicationProtectedItemInputProperties",
+ "description": "Update appliance replication protected item properties."
+ }
+ }
+ },
+ "UpdateApplianceForReplicationProtectedItemInputProperties": {
+ "description": "Update appliance for protected item input properties.",
+ "required": [
+ "targetApplianceId",
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "targetApplianceId": {
+ "description": "The target appliance Id.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/UpdateApplianceForReplicationProtectedItemProviderSpecificInput",
+ "description": "The provider specific input to update replication protected item."
+ }
+ }
+ },
+ "UpdateApplianceForReplicationProtectedItemProviderSpecificInput": {
+ "description": "Update replication protected item provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "UpdateDiskInput": {
+ "description": "Disk input for update.",
+ "required": [
+ "diskId"
+ ],
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "targetDiskName": {
+ "description": "The target disk name.",
+ "type": "string"
+ }
+ }
+ },
+ "UpdateMigrationItemInput": {
+ "description": "Update migration item input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateMigrationItemInputProperties",
+ "description": "Update migration item input properties."
+ }
+ }
+ },
+ "UpdateMigrationItemInputProperties": {
+ "description": "Update migration item input properties.",
+ "required": [
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/UpdateMigrationItemProviderSpecificInput",
+ "description": "The provider specific input to update migration item."
+ }
+ }
+ },
+ "UpdateMigrationItemProviderSpecificInput": {
+ "description": "Update migration item provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "UpdateMobilityServiceRequest": {
+ "description": "Request to update the mobility service on a protected item.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateMobilityServiceRequestProperties",
+ "description": "The properties of the update mobility service request."
+ }
+ }
+ },
+ "UpdateMobilityServiceRequestProperties": {
+ "description": "The properties of an update mobility service request.",
+ "type": "object",
+ "properties": {
+ "runAsAccountId": {
+ "description": "The CS run as account Id.",
+ "type": "string"
+ }
+ }
+ },
+ "UpdateNetworkMappingInput": {
+ "description": "Update network mapping input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateNetworkMappingInputProperties",
+ "description": "The input properties needed to update network mapping."
+ }
+ }
+ },
+ "UpdateNetworkMappingInputProperties": {
+ "description": "Common input details for network mapping operation.",
+ "type": "object",
+ "properties": {
+ "recoveryFabricName": {
+ "description": "Recovery fabric name.",
+ "type": "string"
+ },
+ "recoveryNetworkId": {
+ "description": "Recovery network Id.",
+ "type": "string"
+ },
+ "fabricSpecificDetails": {
+ "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput",
+ "description": "Fabrics specific input network Id."
+ }
+ }
+ },
+ "UpdatePolicyInput": {
+ "description": "Update policy input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdatePolicyInputProperties",
+ "description": "The ReplicationProviderSettings."
+ }
+ }
+ },
+ "UpdatePolicyInputProperties": {
+ "description": "Policy update properties.",
+ "type": "object",
+ "properties": {
+ "replicationProviderSettings": {
+ "$ref": "#/definitions/PolicyProviderSpecificInput",
+ "description": "The ReplicationProviderSettings."
+ }
+ }
+ },
+ "UpdateProtectionContainerMappingInput": {
+ "description": "Container pairing update input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateProtectionContainerMappingInputProperties",
+ "description": "Update protection container mapping input properties."
+ }
+ }
+ },
+ "UpdateProtectionContainerMappingInputProperties": {
+ "description": "Container pairing update input.",
+ "type": "object",
+ "properties": {
+ "providerSpecificInput": {
+ "$ref": "#/definitions/ReplicationProviderSpecificUpdateContainerMappingInput",
+ "description": "Provider specific input for updating protection container mapping."
+ }
+ }
+ },
+ "UpdateRecoveryPlanInput": {
+ "description": "Update recovery plan input class.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateRecoveryPlanInputProperties",
+ "description": "Recovery plan update properties."
+ }
+ }
+ },
+ "UpdateRecoveryPlanInputProperties": {
+ "description": "Recovery plan update properties.",
+ "type": "object",
+ "properties": {
+ "groups": {
+ "description": "The recovery plan groups.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanGroup"
+ }
+ }
+ }
+ },
+ "UpdateReplicationProtectedItemInput": {
+ "description": "Update replication protected item input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateReplicationProtectedItemInputProperties",
+ "description": "Update replication protected item properties."
+ }
+ }
+ },
+ "UpdateReplicationProtectedItemInputProperties": {
+ "description": "Update protected item input properties.",
+ "type": "object",
+ "properties": {
+ "recoveryAzureVMName": {
+ "description": "Target Azure VM name given by the user.",
+ "type": "string"
+ },
+ "recoveryAzureVMSize": {
+ "description": "Target Azure VM size.",
+ "type": "string"
+ },
+ "selectedRecoveryAzureNetworkId": {
+ "description": "Target Azure Network Id.",
+ "type": "string"
+ },
+ "selectedTfoAzureNetworkId": {
+ "description": "The Azure Network Id for test failover.",
+ "type": "string"
+ },
+ "selectedSourceNicId": {
+ "description": "The selected source nic Id which will be used as the primary nic during failover.",
+ "type": "string"
+ },
+ "enableRdpOnTargetOption": {
+ "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The list of VM nic details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMNicInputDetails"
+ }
+ },
+ "licenseType": {
+ "description": "License type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "WindowsServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LicenseType",
+ "modelAsString": true
+ }
+ },
+ "recoveryAvailabilitySetId": {
+ "description": "The target availability set Id.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput",
+ "description": "The provider specific input to update replication protected item."
+ }
+ }
+ },
+ "UpdateReplicationProtectedItemProviderInput": {
+ "description": "Update replication protected item provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "UpdateVCenterRequest": {
+ "description": "Input required to update vCenter.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateVCenterRequestProperties",
+ "description": "The update VCenter Request Properties."
+ }
+ }
+ },
+ "UpdateVCenterRequestProperties": {
+ "description": "The properties of an update vCenter request.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "The friendly name of the vCenter.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address of the vCenter to be discovered.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The process server Id from where the update can be orchestrated.",
+ "type": "string"
+ },
+ "port": {
+ "description": "The port number for discovery.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The CS account Id which has privileges to update the vCenter.",
+ "type": "string"
+ }
+ }
+ },
+ "UserCreatedResourceTag": {
+ "description": "Resource tag input.",
+ "type": "object",
+ "properties": {
+ "tagName": {
+ "description": "The tag name. Please read for more information: https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/tag-resources#limitations",
+ "maxLength": 512,
+ "type": "string"
+ },
+ "tagValue": {
+ "description": "The tag value. Please read her for more information: https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/tag-resources#limitations",
+ "maxLength": 256,
+ "type": "string"
+ }
+ }
+ },
+ "VaultHealthDetails": {
+ "description": "Vault health details definition.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/VaultHealthProperties",
+ "description": "The vault health related data."
+ }
+ }
+ },
+ "VaultHealthProperties": {
+ "description": "class to define the health summary of the Vault.",
+ "type": "object",
+ "properties": {
+ "vaultErrors": {
+ "description": "The list of errors on the vault.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ },
+ "protectedItemsHealth": {
+ "$ref": "#/definitions/ResourceHealthSummary",
+ "description": "The list of the health detail of the protected items in the vault."
+ },
+ "fabricsHealth": {
+ "$ref": "#/definitions/ResourceHealthSummary",
+ "description": "The list of the health detail of the fabrics in the vault."
+ },
+ "containersHealth": {
+ "$ref": "#/definitions/ResourceHealthSummary",
+ "description": "The list of the health detail of the containers in the vault."
+ }
+ }
+ },
+ "VaultSetting": {
+ "description": "Vault setting.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/VaultSettingProperties",
+ "description": "The vault setting properties."
+ }
+ }
+ },
+ "VaultSettingCollection": {
+ "description": "Vault setting collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of vault setting.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VaultSetting"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "VaultSettingCreationInput": {
+ "description": "Input to create vault setting.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/VaultSettingCreationInputProperties",
+ "description": "Vault setting creation input properties."
+ }
+ }
+ },
+ "VaultSettingCreationInputProperties": {
+ "description": "Input to create vault setting.",
+ "type": "object",
+ "properties": {
+ "migrationSolutionId": {
+ "description": "The migration solution Id.",
+ "type": "string"
+ },
+ "vmwareToAzureProviderType": {
+ "description": "VMware to Azure provider type.",
+ "type": "string"
+ }
+ }
+ },
+ "VaultSettingProperties": {
+ "description": "Vault setting properties.",
+ "type": "object",
+ "properties": {
+ "migrationSolutionId": {
+ "description": "The migration solution ARM Id.",
+ "type": "string"
+ },
+ "vmwareToAzureProviderType": {
+ "description": "VMware to Azure provider type.",
+ "type": "string"
+ }
+ }
+ },
+ "VCenter": {
+ "description": "vCenter definition.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/VCenterProperties",
+ "description": "VCenter related data."
+ }
+ }
+ },
+ "VCenterCollection": {
+ "description": "Collection of vCenter details.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The vCenter details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VCenter"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "VCenterProperties": {
+ "description": "vCenter properties.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "Friendly name of the vCenter.",
+ "type": "string"
+ },
+ "internalId": {
+ "description": "VCenter internal ID.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The time when the last heartbeat was received by vCenter.",
+ "type": "string"
+ },
+ "discoveryStatus": {
+ "description": "The VCenter discovery status.",
+ "type": "string"
+ },
+ "processServerId": {
+ "description": "The process server Id.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address of the vCenter.",
+ "type": "string"
+ },
+ "infrastructureId": {
+ "description": "The infrastructure Id of vCenter.",
+ "type": "string"
+ },
+ "port": {
+ "description": "The port number for discovery.",
+ "type": "string"
+ },
+ "runAsAccountId": {
+ "description": "The account Id which has privileges to discover the vCenter.",
+ "type": "string"
+ },
+ "fabricArmResourceName": {
+ "description": "The ARM resource name of the fabric containing this VCenter.",
+ "type": "string"
+ },
+ "healthErrors": {
+ "description": "The health errors for this VCenter.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ }
+ }
+ },
+ "VersionDetails": {
+ "description": "Version related details.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The agent version.",
+ "type": "string"
+ },
+ "expiryDate": {
+ "format": "date-time",
+ "description": "Version expiry date.",
+ "type": "string"
+ },
+ "status": {
+ "description": "A value indicating whether security update required.",
+ "enum": [
+ "Supported",
+ "NotSupported",
+ "Deprecated",
+ "UpdateRequired",
+ "SecurityUpdateRequired"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentVersionStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "VirtualMachineTaskDetails": {
+ "description": "This class represents the virtual machine task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobTaskDetails"
+ }
+ ],
+ "properties": {
+ "skippedReason": {
+ "description": "The skipped reason.",
+ "type": "string"
+ },
+ "skippedReasonString": {
+ "description": "The skipped reason string.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VirtualMachineTaskDetails"
+ },
+ "VmmDetails": {
+ "description": "VMM fabric specific details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificDetails"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VMM"
+ },
+ "VmmToAzureCreateNetworkMappingInput": {
+ "description": "Create network mappings input properties/behavior specific to Vmm to Azure Network mapping.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmToAzure"
+ },
+ "VmmToAzureNetworkMappingSettings": {
+ "description": "E2A Network Mapping fabric specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NetworkMappingFabricSpecificSettings"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmToAzure"
+ },
+ "VmmToAzureUpdateNetworkMappingInput": {
+ "description": "Update network mappings input properties/behavior specific to vmm to azure.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmToAzure"
+ },
+ "VmmToVmmCreateNetworkMappingInput": {
+ "description": "Create network mappings input properties/behavior specific to vmm to vmm Network mapping.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmToVmm"
+ },
+ "VmmToVmmNetworkMappingSettings": {
+ "description": "E2E Network Mapping fabric specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/NetworkMappingFabricSpecificSettings"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmToVmm"
+ },
+ "VmmToVmmUpdateNetworkMappingInput": {
+ "description": "Update network mappings input properties/behavior specific to vmm to vmm.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmToVmm"
+ },
+ "VmmVirtualMachineDetails": {
+ "description": "VMM fabric provider specific VM settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HyperVVirtualMachineDetails"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmVirtualMachine"
+ },
+ "VMNicDetails": {
+ "description": "Hyper V VM network details.",
+ "type": "object",
+ "properties": {
+ "nicId": {
+ "description": "The nic Id.",
+ "type": "string"
+ },
+ "replicaNicId": {
+ "description": "The replica nic Id.",
+ "type": "string"
+ },
+ "sourceNicArmId": {
+ "description": "The source nic ARM Id.",
+ "type": "string"
+ },
+ "vMNetworkName": {
+ "description": "VM network name.",
+ "type": "string"
+ },
+ "recoveryVMNetworkId": {
+ "description": "Recovery VM network Id.",
+ "type": "string"
+ },
+ "ipConfigs": {
+ "description": "The IP configurations of the NIC.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPConfigDetails"
+ }
+ },
+ "selectionType": {
+ "description": "Selection type for failover.",
+ "type": "string"
+ },
+ "recoveryNetworkSecurityGroupId": {
+ "description": "The id of the NSG associated with the NIC.",
+ "type": "string"
+ },
+ "enableAcceleratedNetworkingOnRecovery": {
+ "description": "A value indicating whether the NIC has accelerated networking enabled.",
+ "type": "boolean"
+ },
+ "tfoVMNetworkId": {
+ "description": "The network to be used by NIC during test failover.",
+ "type": "string"
+ },
+ "tfoNetworkSecurityGroupId": {
+ "description": "The NSG to be used by NIC during test failover.",
+ "type": "string"
+ },
+ "enableAcceleratedNetworkingOnTfo": {
+ "description": "Whether the TFO NIC has accelerated networking enabled.",
+ "type": "boolean"
+ },
+ "recoveryNicName": {
+ "description": "The name of the NIC to be used when creating target NICs.",
+ "type": "string"
+ },
+ "recoveryNicResourceGroupName": {
+ "description": "The resource group of the NIC to be used when creating target NICs.",
+ "type": "string"
+ },
+ "reuseExistingNic": {
+ "description": "A value indicating whether an existing NIC is allowed to be reused during failover subject to availability.",
+ "type": "boolean",
+ "default": false
+ },
+ "tfoRecoveryNicName": {
+ "description": "The name of the NIC to be used when creating target NICs in TFO.",
+ "type": "string"
+ },
+ "tfoRecoveryNicResourceGroupName": {
+ "description": "The resource group of the NIC to be used when creating target NICs in TFO.",
+ "type": "string"
+ },
+ "tfoReuseExistingNic": {
+ "description": "A value indicating whether an existing NIC is allowed to be reused during test failover subject to availability.",
+ "type": "boolean",
+ "default": false
+ },
+ "targetNicName": {
+ "description": "Target NIC name.",
+ "type": "string"
+ }
+ }
+ },
+ "VMNicInputDetails": {
+ "description": "Hyper V VM network input details.",
+ "type": "object",
+ "properties": {
+ "nicId": {
+ "description": "The nic Id.",
+ "type": "string"
+ },
+ "ipConfigs": {
+ "description": "The IP configurations to be used by NIC during test failover and failover.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPConfigInputDetails"
+ }
+ },
+ "selectionType": {
+ "description": "Selection type for failover.",
+ "type": "string"
+ },
+ "recoveryNetworkSecurityGroupId": {
+ "description": "The id of the NSG associated with the NIC.",
+ "type": "string"
+ },
+ "enableAcceleratedNetworkingOnRecovery": {
+ "description": "Whether the NIC has accelerated networking enabled.",
+ "type": "boolean"
+ },
+ "tfoNetworkSecurityGroupId": {
+ "description": "The NSG to be used by NIC during test failover.",
+ "type": "string"
+ },
+ "enableAcceleratedNetworkingOnTfo": {
+ "description": "Whether the test NIC has accelerated networking enabled.",
+ "type": "boolean"
+ },
+ "recoveryNicName": {
+ "description": "The name of the NIC to be used when creating target NICs.",
+ "type": "string"
+ },
+ "recoveryNicResourceGroupName": {
+ "description": "The resource group of the NIC to be used when creating target NICs.",
+ "type": "string"
+ },
+ "reuseExistingNic": {
+ "description": "A value indicating whether an existing NIC is allowed to be reused during failover subject to availability.",
+ "type": "boolean"
+ },
+ "tfoNicName": {
+ "description": "The name of the NIC to be used when creating target NICs in TFO.",
+ "type": "string"
+ },
+ "tfoNicResourceGroupName": {
+ "description": "The resource group of the NIC to be used when creating target NICs in TFO.",
+ "type": "string"
+ },
+ "tfoReuseExistingNic": {
+ "description": "A value indicating whether an existing NIC is allowed to be reused during test failover subject to availability.",
+ "type": "boolean"
+ },
+ "targetNicName": {
+ "description": "Target NIC name.",
+ "type": "string"
+ }
+ }
+ },
+ "VmNicUpdatesTaskDetails": {
+ "description": "This class represents the vm NicUpdates task details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskTypeDetails"
+ }
+ ],
+ "properties": {
+ "vmId": {
+ "description": "Virtual machine Id.",
+ "type": "string"
+ },
+ "nicId": {
+ "description": "Nic Id.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the Nic.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VmNicUpdatesTaskDetails"
+ },
+ "VMwareCbtContainerCreationInput": {
+ "description": "VMwareCbt container creation input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtContainerMappingInput": {
+ "description": "VMwareCbt container mapping input.",
+ "required": [
+ "storageAccountId",
+ "targetLocation"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput"
+ }
+ ],
+ "properties": {
+ "keyVaultId": {
+ "description": "The target key vault ARM Id.",
+ "type": "string"
+ },
+ "keyVaultUri": {
+ "description": "The target key vault URL.",
+ "type": "string"
+ },
+ "storageAccountId": {
+ "description": "The storage account ARM Id.",
+ "type": "string"
+ },
+ "storageAccountSasSecretName": {
+ "description": "The secret name of the storage account.",
+ "type": "string"
+ },
+ "serviceBusConnectionStringSecretName": {
+ "description": "The secret name of the service bus connection string.",
+ "type": "string"
+ },
+ "targetLocation": {
+ "description": "The target location.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtDiskInput": {
+ "description": "VMwareCbt disk input.",
+ "required": [
+ "diskId",
+ "isOSDisk",
+ "logStorageAccountId",
+ "logStorageAccountSasSecretName"
+ ],
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "diskType": {
+ "$ref": "#/definitions/DiskAccountType"
+ },
+ "isOSDisk": {
+ "description": "A value indicating whether the disk is the OS disk.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The log storage account ARM Id.",
+ "type": "string"
+ },
+ "logStorageAccountSasSecretName": {
+ "description": "The key vault secret name of the log storage account.",
+ "type": "string"
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM Id.",
+ "type": "string"
+ },
+ "sectorSizeInBytes": {
+ "format": "int32",
+ "description": "The logical sector size (in bytes), 512 by default.",
+ "type": "integer"
+ }
+ }
+ },
+ "VMwareCbtEnableMigrationInput": {
+ "description": "VMwareCbt specific enable migration input.",
+ "required": [
+ "vmwareMachineId",
+ "disksToInclude",
+ "dataMoverRunAsAccountId",
+ "snapshotRunAsAccountId",
+ "targetResourceGroupId",
+ "targetNetworkId",
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnableMigrationProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "vmwareMachineId": {
+ "description": "The ARM Id of the VM discovered in VMware.",
+ "type": "string"
+ },
+ "disksToInclude": {
+ "description": "The disks to include list.",
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMwareCbtDiskInput"
+ }
+ },
+ "licenseType": {
+ "description": "License type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "WindowsServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LicenseType",
+ "modelAsString": true
+ }
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "PAYG",
+ "AHUB"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SqlServerLicenseType",
+ "modelAsString": true
+ }
+ },
+ "linuxLicenseType": {
+ "description": "The license type for Linux VM's.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "LinuxServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LinuxLicenseType",
+ "modelAsString": true
+ }
+ },
+ "performSqlBulkRegistration": {
+ "description": "A value indicating whether bulk SQL RP registration to be done.",
+ "type": "string"
+ },
+ "dataMoverRunAsAccountId": {
+ "description": "The data mover run as account Id.",
+ "type": "string"
+ },
+ "snapshotRunAsAccountId": {
+ "description": "The snapshot run as account Id.",
+ "type": "string"
+ },
+ "targetVmName": {
+ "description": "The target VM name.",
+ "type": "string"
+ },
+ "targetVmSize": {
+ "description": "The target VM size.",
+ "type": "string"
+ },
+ "targetResourceGroupId": {
+ "description": "The target resource group ARM Id.",
+ "type": "string"
+ },
+ "targetNetworkId": {
+ "description": "The target network ARM Id.",
+ "type": "string"
+ },
+ "testNetworkId": {
+ "description": "The selected test network ARM Id.",
+ "type": "string"
+ },
+ "targetSubnetName": {
+ "description": "The target subnet name.",
+ "type": "string"
+ },
+ "testSubnetName": {
+ "description": "The selected test subnet name.",
+ "type": "string"
+ },
+ "targetAvailabilitySetId": {
+ "description": "The target availability set ARM Id.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The target proximity placement group ARM Id.",
+ "type": "string"
+ },
+ "confidentialVmKeyVaultId": {
+ "description": "The confidential VM key vault Id for ADE installation.",
+ "type": "string"
+ },
+ "targetVmSecurityProfile": {
+ "$ref": "#/definitions/VMwareCbtSecurityProfileProperties",
+ "description": "The target VM security profile."
+ },
+ "targetBootDiagnosticsStorageAccountId": {
+ "description": "The target boot diagnostics storage account ARM Id.",
+ "type": "string"
+ },
+ "performAutoResync": {
+ "description": "A value indicating whether auto resync is to be done.",
+ "type": "string"
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "seedDiskTags": {
+ "description": "The tags for the seed disks.",
+ "maxLength": 49,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetDiskTags": {
+ "description": "The tags for the target disks.",
+ "maxLength": 49,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "userSelectedOSName": {
+ "description": "The OS name selected by user.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtEventDetails": {
+ "description": "Event details for VMwareCbt provider.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "migrationItemName": {
+ "description": "The migration item name.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtMigrateInput": {
+ "description": "VMwareCbt specific migrate input.",
+ "required": [
+ "performShutdown",
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "performShutdown": {
+ "description": "A value indicating whether VM is to be shutdown.",
+ "type": "string"
+ },
+ "osUpgradeVersion": {
+ "description": "A value indicating the inplace OS Upgrade version.",
+ "type": "string"
+ },
+ "postMigrationSteps": {
+ "description": "The managed run command script input.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedRunCommandScriptInput"
+ },
+ "x-ms-identifiers": [
+ "stepName"
+ ]
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtMigrationDetails": {
+ "description": "VMwareCbt provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "vmwareMachineId": {
+ "description": "The ARM Id of the VM discovered in VMware.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osType": {
+ "description": "The type of the OS on the VM.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osName": {
+ "description": "The name of the OS on the VM.",
+ "type": "string",
+ "readOnly": true
+ },
+ "firmwareType": {
+ "description": "The firmware type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetGeneration": {
+ "description": "The target generation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "licenseType": {
+ "description": "License Type of the VM to be used.",
+ "type": "string"
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "type": "string"
+ },
+ "linuxLicenseType": {
+ "description": "The license type for Linux VM's.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "LinuxServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LinuxLicenseType",
+ "modelAsString": true
+ }
+ },
+ "dataMoverRunAsAccountId": {
+ "description": "The data mover run as account Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "snapshotRunAsAccountId": {
+ "description": "The snapshot run as account Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "storageAccountId": {
+ "description": "The replication storage account ARM Id. This is applicable only for the blob based replication test hook.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetVmName": {
+ "description": "Target VM name.",
+ "type": "string"
+ },
+ "targetVmSize": {
+ "description": "The target VM size.",
+ "type": "string"
+ },
+ "targetLocation": {
+ "description": "The target location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetResourceGroupId": {
+ "description": "The target resource group Id.",
+ "type": "string"
+ },
+ "targetAvailabilitySetId": {
+ "description": "The target availability set Id.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The target proximity placement group Id.",
+ "type": "string"
+ },
+ "confidentialVmKeyVaultId": {
+ "description": "The confidential VM key vault Id for ADE installation.",
+ "type": "string"
+ },
+ "targetVmSecurityProfile": {
+ "$ref": "#/definitions/VMwareCbtSecurityProfileProperties",
+ "description": "The target VM security profile."
+ },
+ "targetBootDiagnosticsStorageAccountId": {
+ "description": "The target boot diagnostics storage account ARM Id.",
+ "type": "string"
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "protectedDisks": {
+ "description": "The list of protected disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMwareCbtProtectedDiskDetails"
+ }
+ },
+ "targetNetworkId": {
+ "description": "The target network Id.",
+ "type": "string"
+ },
+ "testNetworkId": {
+ "description": "The test network Id.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMwareCbtNicDetails"
+ }
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "migrationRecoveryPointId": {
+ "description": "The recovery point Id to which the VM was migrated.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastRecoveryPointReceived": {
+ "format": "date-time",
+ "description": "The last recovery point received time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastRecoveryPointId": {
+ "description": "The last recovery point Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "initialSeedingProgressPercentage": {
+ "format": "int32",
+ "description": "The initial seeding progress percentage.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "migrationProgressPercentage": {
+ "format": "int32",
+ "description": "The migration progress percentage.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resyncProgressPercentage": {
+ "format": "int32",
+ "description": "The resync progress percentage.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resumeProgressPercentage": {
+ "format": "int32",
+ "description": "The resume progress percentage.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "deltaSyncProgressPercentage": {
+ "format": "int32",
+ "description": "The delta sync progress percentage.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "isCheckSumResyncCycle": {
+ "description": "A value indicating whether checksum resync cycle is in progress.",
+ "type": "string",
+ "readOnly": true
+ },
+ "initialSeedingRetryCount": {
+ "format": "int64",
+ "description": "The initial seeding retry count.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resyncRetryCount": {
+ "format": "int64",
+ "description": "The resync retry count.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resumeRetryCount": {
+ "format": "int64",
+ "description": "The resume retry count.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "deltaSyncRetryCount": {
+ "format": "int64",
+ "description": "The delta sync retry count.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resyncRequired": {
+ "description": "A value indicating whether resync is required.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resyncState": {
+ "description": "The resync state.",
+ "enum": [
+ "None",
+ "PreparedForResynchronization",
+ "StartedResynchronization"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ResyncState",
+ "modelAsString": true
+ }
+ },
+ "performAutoResync": {
+ "description": "A value indicating whether auto resync is to be done.",
+ "type": "string"
+ },
+ "seedDiskTags": {
+ "description": "The tags for the seed disks.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetDiskTags": {
+ "description": "The tags for the target disks.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "supportedOSVersions": {
+ "description": "A value indicating the inplace OS Upgrade version.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "applianceMonitoringDetails": {
+ "$ref": "#/definitions/ApplianceMonitoringDetails",
+ "description": "A value indicating the appliance monitoring details.",
+ "readOnly": true
+ },
+ "gatewayOperationDetails": {
+ "$ref": "#/definitions/GatewayOperationDetails",
+ "description": "A value indicating the gateway operation details.",
+ "readOnly": true
+ },
+ "operationName": {
+ "description": "A value indicating the SRS operation name.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtNicDetails": {
+ "description": "VMwareCbt NIC details.",
+ "type": "object",
+ "properties": {
+ "nicId": {
+ "description": "The NIC Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isPrimaryNic": {
+ "description": "A value indicating whether this is the primary NIC.",
+ "type": "string"
+ },
+ "sourceIPAddress": {
+ "description": "The source IP address.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sourceIPAddressType": {
+ "description": "The source IP address type.",
+ "enum": [
+ "Dynamic",
+ "Static"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "EthernetAddressType",
+ "modelAsString": true
+ }
+ },
+ "sourceNetworkId": {
+ "description": "Source network Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetIPAddress": {
+ "description": "The target IP address.",
+ "type": "string"
+ },
+ "targetIPAddressType": {
+ "description": "The target IP address type.",
+ "enum": [
+ "Dynamic",
+ "Static"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EthernetAddressType",
+ "modelAsString": true
+ }
+ },
+ "targetSubnetName": {
+ "description": "Target subnet name.",
+ "type": "string"
+ },
+ "testNetworkId": {
+ "description": "Source network Id.",
+ "type": "string"
+ },
+ "testSubnetName": {
+ "description": "Test subnet name.",
+ "type": "string"
+ },
+ "testIPAddress": {
+ "description": "The test IP address.",
+ "type": "string"
+ },
+ "testIPAddressType": {
+ "description": "The test IP address type.",
+ "enum": [
+ "Dynamic",
+ "Static"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EthernetAddressType",
+ "modelAsString": true
+ }
+ },
+ "targetNicName": {
+ "description": "Target NIC name.",
+ "type": "string"
+ },
+ "isSelectedForMigration": {
+ "description": "A value indicating whether this NIC is selected for migration.",
+ "type": "string"
+ }
+ }
+ },
+ "VMwareCbtNicInput": {
+ "description": "VMwareCbt NIC input.",
+ "required": [
+ "nicId",
+ "isPrimaryNic"
+ ],
+ "type": "object",
+ "properties": {
+ "nicId": {
+ "description": "The NIC Id.",
+ "type": "string"
+ },
+ "isPrimaryNic": {
+ "description": "A value indicating whether this is the primary NIC.",
+ "type": "string"
+ },
+ "targetSubnetName": {
+ "description": "Target subnet name.",
+ "type": "string"
+ },
+ "targetStaticIPAddress": {
+ "description": "The static IP address.",
+ "type": "string"
+ },
+ "isSelectedForMigration": {
+ "description": "A value indicating whether this NIC is selected for migration.",
+ "type": "string"
+ },
+ "targetNicName": {
+ "description": "Target NIC name.",
+ "type": "string"
+ },
+ "testSubnetName": {
+ "description": "The test subnet name.",
+ "type": "string"
+ },
+ "testStaticIPAddress": {
+ "description": "The test static IP address.",
+ "type": "string"
+ }
+ }
+ },
+ "VMwareCbtPolicyCreationInput": {
+ "description": "VMware Cbt policy creation input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointHistoryInMinutes": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency (in minutes).",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VmwareCbtPolicyDetails": {
+ "description": "VMware Cbt specific policy details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "recoveryPointHistoryInMinutes": {
+ "format": "int32",
+ "description": "The duration in minutes until which the recovery points need to be stored.",
+ "type": "integer"
+ },
+ "appConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The app consistent snapshot frequency in minutes.",
+ "type": "integer"
+ },
+ "crashConsistentFrequencyInMinutes": {
+ "format": "int32",
+ "description": "The crash consistent snapshot frequency in minutes.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtProtectedDiskDetails": {
+ "description": "VMwareCbt protected disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskType": {
+ "$ref": "#/definitions/DiskAccountType"
+ },
+ "diskPath": {
+ "description": "The disk path.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isOSDisk": {
+ "description": "A value indicating whether the disk is the OS disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "capacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "logStorageAccountId": {
+ "description": "The log storage account ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "logStorageAccountSasSecretName": {
+ "description": "The key vault secret name of the log storage account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskEncryptionSetId": {
+ "description": "The DiskEncryptionSet ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "seedManagedDiskId": {
+ "description": "The ARM Id of the seed managed disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "seedBlobUri": {
+ "description": "The uri of the seed blob.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetManagedDiskId": {
+ "description": "The ARM Id of the target managed disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetBlobUri": {
+ "description": "The uri of the target blob.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetDiskName": {
+ "description": "The name for the target managed disk.",
+ "type": "string"
+ },
+ "gatewayOperationDetails": {
+ "$ref": "#/definitions/GatewayOperationDetails",
+ "description": "A value indicating the gateway operation details.",
+ "readOnly": true
+ },
+ "sectorSizeInBytes": {
+ "format": "int32",
+ "description": "The logical sector size (in bytes), 512 by default.",
+ "type": "integer"
+ }
+ }
+ },
+ "VMwareCbtProtectionContainerMappingDetails": {
+ "description": "VMwareCbt provider specific container mapping details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "keyVaultId": {
+ "description": "The target key vault ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "keyVaultUri": {
+ "description": "The target key vault URI.",
+ "type": "string",
+ "readOnly": true
+ },
+ "storageAccountId": {
+ "description": "The storage account ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "storageAccountSasSecretName": {
+ "description": "The secret name of the storage account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceBusConnectionStringSecretName": {
+ "description": "The secret name of the service bus connection string.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetLocation": {
+ "description": "The target location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "roleSizeToNicCountMap": {
+ "description": "The role size to NIC count map.",
+ "type": "object",
+ "additionalProperties": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "readOnly": true
+ },
+ "excludedSkus": {
+ "description": "The SKUs to be excluded.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtResumeReplicationInput": {
+ "description": "VMwareCbt specific resume replication input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResumeReplicationProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "deleteMigrationResources": {
+ "description": "A value indicating whether Migration resources to be deleted.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtResyncInput": {
+ "description": "VMwareCbt specific resync input.",
+ "required": [
+ "skipCbtReset",
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResyncProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "skipCbtReset": {
+ "description": "A value indicating whether CBT is to be reset.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtSecurityProfileProperties": {
+ "description": "VMwareCbt security profile input.",
+ "type": "object",
+ "properties": {
+ "targetVmSecurityType": {
+ "description": "The target VM security type.",
+ "enum": [
+ "None",
+ "TrustedLaunch",
+ "ConfidentialVM"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SecurityType",
+ "modelAsString": true
+ }
+ },
+ "isTargetVmSecureBootEnabled": {
+ "description": "A value indicating whether secure boot to be enabled.",
+ "type": "string"
+ },
+ "isTargetVmTpmEnabled": {
+ "description": "A value indicating whether trusted platform module to be enabled.",
+ "type": "string"
+ },
+ "isTargetVmIntegrityMonitoringEnabled": {
+ "description": "A value indicating whether integrity monitoring to be enabled.",
+ "type": "string"
+ },
+ "isTargetVmConfidentialEncryptionEnabled": {
+ "description": "A value indicating whether confidential compute encryption to be enabled.",
+ "type": "string"
+ }
+ }
+ },
+ "VMwareCbtTestMigrateInput": {
+ "description": "VMwareCbt specific test migrate input.",
+ "required": [
+ "recoveryPointId",
+ "networkId",
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TestMigrateProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "The recovery point Id.",
+ "type": "string"
+ },
+ "networkId": {
+ "description": "The test network Id.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The list of NIC details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMwareCbtNicInput"
+ },
+ "x-ms-identifiers": []
+ },
+ "osUpgradeVersion": {
+ "description": "A value indicating the inplace OS Upgrade version.",
+ "type": "string"
+ },
+ "postMigrationSteps": {
+ "description": "The managed run command script input.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedRunCommandScriptInput"
+ },
+ "x-ms-identifiers": [
+ "stepName"
+ ]
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtUpdateDiskInput": {
+ "description": "VMwareCbt disk input for update.",
+ "required": [
+ "diskId"
+ ],
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "targetDiskName": {
+ "description": "The target disk name.",
+ "type": "string"
+ },
+ "isOSDisk": {
+ "description": "A value indicating whether the disk is the OS disk.",
+ "type": "string"
+ }
+ }
+ },
+ "VMwareCbtUpdateMigrationItemInput": {
+ "description": "VMwareCbt specific update migration item input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateMigrationItemProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "targetVmName": {
+ "description": "The target VM name.",
+ "type": "string"
+ },
+ "targetVmSize": {
+ "description": "The target VM size.",
+ "type": "string"
+ },
+ "targetResourceGroupId": {
+ "description": "The target resource group ARM Id.",
+ "type": "string"
+ },
+ "targetAvailabilitySetId": {
+ "description": "The target availability set ARM Id.",
+ "type": "string"
+ },
+ "targetAvailabilityZone": {
+ "description": "The target availability zone.",
+ "type": "string"
+ },
+ "targetProximityPlacementGroupId": {
+ "description": "The target proximity placement group ARM Id.",
+ "type": "string"
+ },
+ "targetBootDiagnosticsStorageAccountId": {
+ "description": "The target boot diagnostics storage account ARM Id.",
+ "type": "string"
+ },
+ "targetNetworkId": {
+ "description": "The target network ARM Id.",
+ "type": "string"
+ },
+ "testNetworkId": {
+ "description": "The test network ARM Id.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The list of NIC details.",
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMwareCbtNicInput"
+ }
+ },
+ "vmDisks": {
+ "description": "The list of disk update properties.",
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMwareCbtUpdateDiskInput"
+ }
+ },
+ "licenseType": {
+ "description": "The license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "WindowsServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LicenseType",
+ "modelAsString": true
+ }
+ },
+ "sqlServerLicenseType": {
+ "description": "The SQL Server license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "PAYG",
+ "AHUB"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SqlServerLicenseType",
+ "modelAsString": true
+ }
+ },
+ "linuxLicenseType": {
+ "description": "The license type for Linux VM's.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "LinuxServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LinuxLicenseType",
+ "modelAsString": true
+ }
+ },
+ "performAutoResync": {
+ "description": "A value indicating whether auto resync is to be done.",
+ "type": "string"
+ },
+ "targetVmTags": {
+ "description": "The target VM tags.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetDiskTags": {
+ "description": "The tags for the target disks.",
+ "maxLength": 49,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetNicTags": {
+ "description": "The tags for the target NICs.",
+ "maxLength": 50,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareDetails": {
+ "description": "Store the fabric details specific to the VMware fabric.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificDetails"
+ }
+ ],
+ "properties": {
+ "processServers": {
+ "description": "The list of Process Servers associated with the fabric.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProcessServer"
+ }
+ },
+ "masterTargetServers": {
+ "description": "The list of Master Target servers associated with the fabric.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MasterTargetServer"
+ }
+ },
+ "runAsAccounts": {
+ "description": "The list of run as accounts created on the server.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunAsAccount"
+ }
+ },
+ "replicationPairCount": {
+ "description": "The number of replication pairs configured in this CS.",
+ "type": "string"
+ },
+ "processServerCount": {
+ "description": "The number of process servers.",
+ "type": "string"
+ },
+ "agentCount": {
+ "description": "The number of source and target servers configured to talk to this CS.",
+ "type": "string"
+ },
+ "protectedServers": {
+ "description": "The number of protected servers.",
+ "type": "string"
+ },
+ "systemLoad": {
+ "description": "The percentage of the system load.",
+ "type": "string"
+ },
+ "systemLoadStatus": {
+ "description": "The system load status.",
+ "type": "string"
+ },
+ "cpuLoad": {
+ "description": "The percentage of the CPU load.",
+ "type": "string"
+ },
+ "cpuLoadStatus": {
+ "description": "The CPU load status.",
+ "type": "string"
+ },
+ "totalMemoryInBytes": {
+ "format": "int64",
+ "description": "The total memory.",
+ "type": "integer"
+ },
+ "availableMemoryInBytes": {
+ "format": "int64",
+ "description": "The available memory.",
+ "type": "integer"
+ },
+ "memoryUsageStatus": {
+ "description": "The memory usage status.",
+ "type": "string"
+ },
+ "totalSpaceInBytes": {
+ "format": "int64",
+ "description": "The total space.",
+ "type": "integer"
+ },
+ "availableSpaceInBytes": {
+ "format": "int64",
+ "description": "The available space.",
+ "type": "integer"
+ },
+ "spaceUsageStatus": {
+ "description": "The space usage status.",
+ "type": "string"
+ },
+ "webLoad": {
+ "description": "The web load.",
+ "type": "string"
+ },
+ "webLoadStatus": {
+ "description": "The web load status.",
+ "type": "string"
+ },
+ "databaseServerLoad": {
+ "description": "The database server load.",
+ "type": "string"
+ },
+ "databaseServerLoadStatus": {
+ "description": "The database server load status.",
+ "type": "string"
+ },
+ "csServiceStatus": {
+ "description": "The CS service status.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address.",
+ "type": "string"
+ },
+ "agentVersion": {
+ "description": "The agent Version.",
+ "type": "string"
+ },
+ "hostName": {
+ "description": "The host name.",
+ "type": "string"
+ },
+ "lastHeartbeat": {
+ "format": "date-time",
+ "description": "The last heartbeat received from CS server.",
+ "type": "string"
+ },
+ "versionStatus": {
+ "description": "Version status.",
+ "type": "string"
+ },
+ "sslCertExpiryDate": {
+ "format": "date-time",
+ "description": "CS SSL cert expiry date.",
+ "type": "string"
+ },
+ "sslCertExpiryRemainingDays": {
+ "format": "int32",
+ "description": "CS SSL cert expiry date.",
+ "type": "integer"
+ },
+ "psTemplateVersion": {
+ "description": "PS template version.",
+ "type": "string"
+ },
+ "agentExpiryDate": {
+ "format": "date-time",
+ "description": "Agent expiry date.",
+ "type": "string"
+ },
+ "agentVersionDetails": {
+ "$ref": "#/definitions/VersionDetails",
+ "description": "The agent version details."
+ },
+ "switchProviderBlockingErrorDetails": {
+ "description": "The switch provider blocking error information.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageFabricSwitchProviderBlockingErrorDetails"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "VMware"
+ },
+ "VMwareV2FabricCreationInput": {
+ "description": "VMwareV2 fabric provider specific settings.",
+ "required": [
+ "migrationSolutionId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificCreationInput"
+ }
+ ],
+ "properties": {
+ "vmwareSiteId": {
+ "description": "The ARM Id of the VMware site.",
+ "type": "string"
+ },
+ "physicalSiteId": {
+ "description": "The ARM Id of the physical site.",
+ "type": "string"
+ },
+ "migrationSolutionId": {
+ "description": "The ARM Id of the migration solution.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareV2"
+ },
+ "VMwareV2FabricSpecificDetails": {
+ "description": "VMwareV2 fabric specific details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificDetails"
+ }
+ ],
+ "properties": {
+ "vmwareSiteId": {
+ "description": "The ARM Id of the VMware site.",
+ "type": "string",
+ "readOnly": true
+ },
+ "physicalSiteId": {
+ "description": "The ARM Id of the physical site.",
+ "type": "string",
+ "readOnly": true
+ },
+ "migrationSolutionId": {
+ "description": "The Migration solution ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceEndpoint": {
+ "description": "The service endpoint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceResourceId": {
+ "description": "The service resource Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceContainerId": {
+ "description": "The service container Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "processServers": {
+ "description": "The list of process servers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProcessServerDetails"
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "VMwareV2"
+ },
+ "VMwareVirtualMachineDetails": {
+ "description": "VMware provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ConfigurationSettings"
+ }
+ ],
+ "properties": {
+ "agentGeneratedId": {
+ "description": "The ID generated by the InMage agent after it gets installed on guest. This is the ID to be used during InMage CreateProtection.",
+ "type": "string"
+ },
+ "agentInstalled": {
+ "description": "The value indicating if InMage scout agent is installed on guest.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The OsType installed on VM.",
+ "type": "string"
+ },
+ "agentVersion": {
+ "description": "The agent version.",
+ "type": "string"
+ },
+ "ipAddress": {
+ "description": "The IP address.",
+ "type": "string"
+ },
+ "poweredOn": {
+ "description": "The value indicating whether VM is powered on.",
+ "type": "string"
+ },
+ "vCenterInfrastructureId": {
+ "description": "The VCenter infrastructure Id.",
+ "type": "string"
+ },
+ "discoveryType": {
+ "description": "A value indicating the discovery type of the machine. Value can be vCenter or physical.",
+ "type": "string"
+ },
+ "diskDetails": {
+ "description": "The disk details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageDiskDetails"
+ }
+ },
+ "validationErrors": {
+ "description": "The validation errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "VMwareVirtualMachine"
+ }
+ },
+ "parameters": {
+ "SubscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription Id.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group where the recovery services vault is present.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceName": {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client Api Version.",
+ "required": true,
+ "type": "string"
+ },
+ "FabricName": {
+ "name": "fabricName",
+ "in": "path",
+ "description": "Fabric name.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$"
+ },
+ "ProtectionContainerName": {
+ "name": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$"
+ },
+ "ReplicationProtectionClusterName": {
+ "name": "replicationProtectionClusterName",
+ "in": "path",
+ "description": "Replication protection cluster name.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account."
+ },
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "tags": []
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/readme.md b/specification/recoveryservicessiterecovery/resource-manager/readme.md
index 40f68642dea2..aa60de9f2b30 100644
--- a/specification/recoveryservicessiterecovery/resource-manager/readme.md
+++ b/specification/recoveryservicessiterecovery/resource-manager/readme.md
@@ -63,7 +63,7 @@ These are the global settings for the RecoveryServicesSiteRecovery API.
``` yaml
openapi-type: arm
-tag: package-2024-02
+tag: package-2024-04
directive:
- where:
- $.paths
@@ -72,6 +72,15 @@ directive:
```
+### Tag: package-2024-04
+
+These settings apply only when `--tag=package-2024-04` is specified on the command line.
+
+```yaml $(tag) == 'package-2024-04'
+input-file:
+ - Microsoft.RecoveryServices/stable/2024-04-01/service.json
+```
+
### Tag: package-2024-02
These settings apply only when `--tag=package-2024-02` is specified on the command line.
From e9f47ec88eb06646c53f2a561f3b27434ac5ac57 Mon Sep 17 00:00:00 2001
From: v-maksymm <161892853+v-maksymm@users.noreply.github.com>
Date: Mon, 10 Jun 2024 23:54:58 -0700
Subject: [PATCH 152/343] Oracle.Database. Typespec preview introduced (#29305)
* Oracle.Database. Typespec preview introduced
* Oracle.Database. Added systemversionname to cSpell.json
* Oracle.Database. Rolled back readme files
* Oracle.Database. Fixed DbNodes_listByParent operationId incosistency
* Oracle.Database. Added options for sdk emitters
---
cSpell.json | 6 +
.../autonomousDatabaseBackup_create.json | 71 +
.../autonomousDatabaseBackup_delete.json | 20 +
.../autonomousDatabaseBackup_get.json | 37 +
...autonomousDatabaseBackup_listByParent.json | 40 +
.../autonomousDatabaseBackup_patch.json | 41 +
.../autonomousDatabaseCharacterSet_get.json | 21 +
...usDatabaseCharacterSet_listByLocation.json | 32 +
.../autonomousDatabaseClone_create.json | 141 ++
...omousDatabaseNationalCharacterSet_get.json | 21 +
...seNationalCharacterSet_listByLocation.json | 25 +
.../autonomousDatabaseVersion_get.json | 21 +
...onomousDatabaseVersion_listByLocation.json | 25 +
.../autonomousDatabase_create.json | 136 ++
.../autonomousDatabase_delete.json | 19 +
.../autonomousDatabase_failover.json | 90 ++
.../autonomousDatabase_generateWallet.json | 25 +
.../autonomousDatabase_get.json | 63 +
...utonomousDatabase_listByResourceGroup.json | 67 +
...autonomousDatabase_listBySubscription.json | 66 +
.../autonomousDatabase_patch.json | 73 +
.../autonomousDatabase_restore.json | 80 +
.../autonomousDatabase_shrink.json | 77 +
.../autonomousDatabase_switchover.json | 89 ++
.../2023-09-01-preview/dbNodes_action.json | 50 +
.../2023-09-01-preview/dbNodes_get.json | 41 +
.../dbNodes_listByParent.json | 45 +
.../2023-09-01-preview/dbServers_get.json | 42 +
.../dbServers_listByParent.json | 46 +
.../dbSystemShapes_get.json | 40 +
.../dbSystemShapes_listByLocation.json | 44 +
.../dnsPrivateViews_get.json | 27 +
.../dnsPrivateViews_listByLocation.json | 44 +
.../dnsPrivateZones_get.json | 29 +
.../dnsPrivateZones_listByLocation.json | 48 +
.../exaInfra_addStorageCapacity.json | 95 ++
.../2023-09-01-preview/exaInfra_create.json | 184 +++
.../2023-09-01-preview/exaInfra_delete.json | 19 +
.../2023-09-01-preview/exaInfra_get.json | 89 ++
.../exaInfra_listByResourceGroup.json | 93 ++
.../exaInfra_listBySubscription.json | 92 ++
.../2023-09-01-preview/exaInfra_patch.json | 102 ++
.../2023-09-01-preview/giVersions_get.json | 21 +
.../giVersions_listByLocation.json | 25 +
.../2023-09-01-preview/operations_list.json | 25 +
.../oracleSubscriptions_create.json | 56 +
.../oracleSubscriptions_delete.json | 17 +
.../oracleSubscriptions_get.json | 29 +
...acleSubscriptions_listActivationLinks.json | 22 +
...racleSubscriptions_listBySubscription.json | 34 +
...Subscriptions_listCloudAccountDetails.json | 22 +
...criptions_listSaasSubscriptionDetails.json | 32 +
.../oracleSubscriptions_patch.json | 43 +
.../systemVersions_get.json | 20 +
.../systemVersions_listByLocation.json | 24 +
.../virtualNetworkAddresses_create.json | 48 +
.../virtualNetworkAddresses_delete.json | 20 +
.../virtualNetworkAddresses_get.json | 29 +
.../virtualNetworkAddresses_listByParent.json | 33 +
.../2023-09-01-preview/vmClusters_addVms.json | 102 ++
.../2023-09-01-preview/vmClusters_create.json | 224 +++
.../2023-09-01-preview/vmClusters_delete.json | 19 +
.../2023-09-01-preview/vmClusters_get.json | 104 ++
.../vmClusters_listByResourceGroup.json | 95 ++
.../vmClusters_listBySubscription.json | 94 ++
.../vmClusters_listPrivateIpAddresses.json | 27 +
.../2023-09-01-preview/vmClusters_patch.json | 101 ++
.../vmClusters_removeVms.json | 102 ++
specification/oracle/Oracle.Database/main.tsp | 40 +
.../autonomousDatabaseBackupOperations.tsp | 43 +
...tonomousDatabaseCharacterSetOperations.tsp | 20 +
...DatabaseNationalCharacterSetOperations.tsp | 20 +
.../autonomousDatabaseOperations.tsp | 102 ++
.../autonomousDatabaseVersionOperations.tsp | 21 +
.../Oracle.Database/operations/commons.tsp | 72 +
.../operations/exadata/dbNodesOperations.tsp | 24 +
.../exadata/dbServersOperations.tsp | 22 +
.../exadata/dbSystemShapeOperations.tsp | 18 +
.../exadata/dnsPrivateViewsOperations.tsp | 18 +
.../exadata/dnsPrivateZonesOperations.tsp | 18 +
.../exadatainfrastructureOperations.tsp | 51 +
.../exadata/giVersionOperations.tsp | 18 +
.../exadata/systemVersionOperations.tsp | 19 +
.../virtualNetworkAddressOperations.tsp | 35 +
.../exadata/vmclusterOperations.tsp | 64 +
.../oracleSubscriptionOperations.tsp | 80 +
.../oracle/Oracle.Database/tspconfig.yaml | 29 +
.../oracle/Oracle.Database/versions.tsp | 11 +
.../models/autonomousdatabase/adbCommon.tsp | 19 +
.../autonomousdatabase/autonomousDatabase.tsp | 982 ++++++++++++
.../autonomousDatabaseBackup.tsp | 133 ++
.../autonomousDatabaseCharacterSet.tsp | 30 +
...autonomousDatabaseNationalCharacterSet.tsp | 30 +
.../autonomousDatabaseVersion.tsp | 50 +
specification/oracle/models/common.tsp | 203 +++
.../oracle/models/exadata/dbNodes.tsp | 179 +++
.../oracle/models/exadata/dbServers.tsp | 167 ++
.../oracle/models/exadata/dbSystemShapes.tsp | 102 ++
.../oracle/models/exadata/dnsPrivateViews.tsp | 70 +
.../oracle/models/exadata/dnsPrivateZones.tsp | 94 ++
.../oracle/models/exadata/exadatainfra.tsp | 269 ++++
.../oracle/models/exadata/giVersions.tsp | 26 +
.../models/exadata/privateIpAddresses.tsp | 35 +
.../oracle/models/exadata/systemVersions.tsp | 36 +
.../models/exadata/virtualNetworkAddress.tsp | 84 +
.../oracle/models/exadata/vmcluster.tsp | 396 +++++
.../oraclesubscription/oracleSubscription.tsp | 177 +++
.../autonomousDatabaseBackup_create.json | 28 +-
.../autonomousDatabaseBackup_delete.json | 4 +-
.../autonomousDatabaseBackup_get.json | 17 +-
...autonomousDatabaseBackup_listByParent.json | 16 +-
.../autonomousDatabaseBackup_patch.json | 16 +-
.../autonomousDatabaseClone_create.json | 2 +-
.../examples/autonomousDatabase_create.json | 2 +-
.../examples/autonomousDatabase_restore.json | 80 +
.../examples/autonomousDatabase_shrink.json | 77 +
.../examples/dbNodes_listByParent.json | 4 +-
.../examples/systemVersions_get.json | 20 +
.../systemVersions_listByLocation.json | 24 +
.../preview/2023-09-01-preview/openapi.json | 1376 ++++++++++++-----
specification/oracle/suppressions.yaml | 3 -
121 files changed, 8790 insertions(+), 470 deletions(-)
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseBackup_create.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseBackup_delete.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseBackup_get.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseBackup_listByParent.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseBackup_patch.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseCharacterSet_get.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseCharacterSet_listByLocation.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseClone_create.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseNationalCharacterSet_get.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseNationalCharacterSet_listByLocation.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseVersion_get.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseVersion_listByLocation.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_create.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_delete.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_failover.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_generateWallet.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_get.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_listByResourceGroup.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_listBySubscription.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_patch.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_restore.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_shrink.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_switchover.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbNodes_action.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbNodes_get.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbNodes_listByParent.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbServers_get.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbServers_listByParent.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbSystemShapes_get.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbSystemShapes_listByLocation.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/dnsPrivateViews_get.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/dnsPrivateViews_listByLocation.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/dnsPrivateZones_get.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/dnsPrivateZones_listByLocation.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_addStorageCapacity.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_create.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_delete.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_get.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_listByResourceGroup.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_listBySubscription.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_patch.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/giVersions_get.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/giVersions_listByLocation.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/operations_list.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_create.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_delete.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_get.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_listActivationLinks.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_listBySubscription.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_listCloudAccountDetails.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_listSaasSubscriptionDetails.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_patch.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/systemVersions_get.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/systemVersions_listByLocation.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/virtualNetworkAddresses_create.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/virtualNetworkAddresses_delete.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/virtualNetworkAddresses_get.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/virtualNetworkAddresses_listByParent.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_addVms.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_create.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_delete.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_get.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_listByResourceGroup.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_listBySubscription.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_listPrivateIpAddresses.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_patch.json
create mode 100644 specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_removeVms.json
create mode 100644 specification/oracle/Oracle.Database/main.tsp
create mode 100644 specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseBackupOperations.tsp
create mode 100644 specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseCharacterSetOperations.tsp
create mode 100644 specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseNationalCharacterSetOperations.tsp
create mode 100644 specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseOperations.tsp
create mode 100644 specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseVersionOperations.tsp
create mode 100644 specification/oracle/Oracle.Database/operations/commons.tsp
create mode 100644 specification/oracle/Oracle.Database/operations/exadata/dbNodesOperations.tsp
create mode 100644 specification/oracle/Oracle.Database/operations/exadata/dbServersOperations.tsp
create mode 100644 specification/oracle/Oracle.Database/operations/exadata/dbSystemShapeOperations.tsp
create mode 100644 specification/oracle/Oracle.Database/operations/exadata/dnsPrivateViewsOperations.tsp
create mode 100644 specification/oracle/Oracle.Database/operations/exadata/dnsPrivateZonesOperations.tsp
create mode 100644 specification/oracle/Oracle.Database/operations/exadata/exadatainfrastructureOperations.tsp
create mode 100644 specification/oracle/Oracle.Database/operations/exadata/giVersionOperations.tsp
create mode 100644 specification/oracle/Oracle.Database/operations/exadata/systemVersionOperations.tsp
create mode 100644 specification/oracle/Oracle.Database/operations/exadata/virtualNetworkAddressOperations.tsp
create mode 100644 specification/oracle/Oracle.Database/operations/exadata/vmclusterOperations.tsp
create mode 100644 specification/oracle/Oracle.Database/operations/oraclesubscription/oracleSubscriptionOperations.tsp
create mode 100644 specification/oracle/Oracle.Database/tspconfig.yaml
create mode 100644 specification/oracle/Oracle.Database/versions.tsp
create mode 100644 specification/oracle/models/autonomousdatabase/adbCommon.tsp
create mode 100644 specification/oracle/models/autonomousdatabase/autonomousDatabase.tsp
create mode 100644 specification/oracle/models/autonomousdatabase/autonomousDatabaseBackup.tsp
create mode 100644 specification/oracle/models/autonomousdatabase/autonomousDatabaseCharacterSet.tsp
create mode 100644 specification/oracle/models/autonomousdatabase/autonomousDatabaseNationalCharacterSet.tsp
create mode 100644 specification/oracle/models/autonomousdatabase/autonomousDatabaseVersion.tsp
create mode 100644 specification/oracle/models/common.tsp
create mode 100644 specification/oracle/models/exadata/dbNodes.tsp
create mode 100644 specification/oracle/models/exadata/dbServers.tsp
create mode 100644 specification/oracle/models/exadata/dbSystemShapes.tsp
create mode 100644 specification/oracle/models/exadata/dnsPrivateViews.tsp
create mode 100644 specification/oracle/models/exadata/dnsPrivateZones.tsp
create mode 100644 specification/oracle/models/exadata/exadatainfra.tsp
create mode 100644 specification/oracle/models/exadata/giVersions.tsp
create mode 100644 specification/oracle/models/exadata/privateIpAddresses.tsp
create mode 100644 specification/oracle/models/exadata/systemVersions.tsp
create mode 100644 specification/oracle/models/exadata/virtualNetworkAddress.tsp
create mode 100644 specification/oracle/models/exadata/vmcluster.tsp
create mode 100644 specification/oracle/models/oraclesubscription/oracleSubscription.tsp
create mode 100644 specification/oracle/resource-manager/Oracle.Database/preview/2023-09-01-preview/examples/autonomousDatabase_restore.json
create mode 100644 specification/oracle/resource-manager/Oracle.Database/preview/2023-09-01-preview/examples/autonomousDatabase_shrink.json
create mode 100644 specification/oracle/resource-manager/Oracle.Database/preview/2023-09-01-preview/examples/systemVersions_get.json
create mode 100644 specification/oracle/resource-manager/Oracle.Database/preview/2023-09-01-preview/examples/systemVersions_listByLocation.json
delete mode 100644 specification/oracle/suppressions.yaml
diff --git a/cSpell.json b/cSpell.json
index bf6503e69ecf..016c6a42c54b 100644
--- a/cSpell.json
+++ b/cSpell.json
@@ -1332,6 +1332,12 @@
"Unhold",
"transferor's"
]
+ },
+ {
+ "filename": "**/specification/oracle/resource-manager/Oracle.Database/**/*.json",
+ "words": [
+ "systemversionname"
+ ]
}
],
"enableFiletypes": [
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseBackup_create.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseBackup_create.json
new file mode 100644
index 000000000000..be930819f8cc
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseBackup_create.json
@@ -0,0 +1,71 @@
+{
+ "operationId": "AutonomousDatabaseBackups_CreateOrUpdate",
+ "title": "AutonomousDatabaseBackups_CreateOrUpdate",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "autonomousdatabasename": "databasedb1",
+ "adbbackupid": "1711644130",
+ "resource": {
+ "properties": {
+ "autonomousDatabaseOcid": "ocid1.autonomousdatabase.oc1..aaaaa3klq",
+ "displayName": "Nightly Backup",
+ "retentionPeriodInDays": 365
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1/autonomousDatabaseBackups/1711644130",
+ "type": "Oracle.Database/autonomousDatabases/autonomousDatabaseBackups",
+ "properties": {
+ "autonomousDatabaseOcid": "ocid1.autonomousdatabase.oc1..aaaaa3klq",
+ "databaseSizeInTbs": 2,
+ "dbVersion": "19.6.0.0",
+ "displayName": "Nightly Backup",
+ "ocid": "ocid1.autonomousdatabasebackup.oc1..aaaaaaaavwpj",
+ "isAutomatic": true,
+ "isRestorable": true,
+ "lifecycleDetails": "Backup completed successfully",
+ "lifecycleState": "Active",
+ "retentionPeriodInDays": 365,
+ "sizeInTbs": 2,
+ "timeAvailableTil": "2025-01-09T20:44:09.466Z",
+ "timeStarted": "2024-01-09T19:44:09.466Z",
+ "timeEnded": "2024-01-09T20:44:09.466Z",
+ "backupType": "Full",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "Retry-After": 100
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1/autonomousDatabaseBackups/backupdb1",
+ "type": "Oracle.Database/autonomousDatabases/autonomousDatabaseBackups",
+ "properties": {
+ "autonomousDatabaseOcid": "ocid1.autonomousdatabase.oc1..aaaaa3klq",
+ "databaseSizeInTbs": 2,
+ "dbVersion": "19.6.0.0",
+ "displayName": "Nightly Backup",
+ "ocid": "ocid1.autonomousdatabasebackup.oc1..aaaaaaaavwpj",
+ "isAutomatic": true,
+ "isRestorable": true,
+ "lifecycleDetails": "Backup completed successfully",
+ "lifecycleState": "Active",
+ "retentionPeriodInDays": 365,
+ "sizeInTbs": 2,
+ "timeAvailableTil": "2025-01-09T20:44:09.466Z",
+ "timeStarted": "2024-01-09T19:44:09.466Z",
+ "timeEnded": "2024-01-09T20:44:09.466Z",
+ "backupType": "Full",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseBackup_delete.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseBackup_delete.json
new file mode 100644
index 000000000000..57eb4f861cfe
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseBackup_delete.json
@@ -0,0 +1,20 @@
+{
+ "operationId": "AutonomousDatabaseBackups_Delete",
+ "title": "AutonomousDatabaseBackups_Delete",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "autonomousdatabasename": "databasedb1",
+ "adbbackupid": "1711644130"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Retry-After": 100,
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabaseBackups/1711644130/operationStatus"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseBackup_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseBackup_get.json
new file mode 100644
index 000000000000..b1fae97c1bd6
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseBackup_get.json
@@ -0,0 +1,37 @@
+{
+ "operationId": "AutonomousDatabaseBackups_Get",
+ "title": "AutonomousDatabaseBackups_Get",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "autonomousdatabasename": "databasedb1",
+ "adbbackupid": "1711644130"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1/autonomousDatabaseBackups/1711644130",
+ "type": "Oracle.Database/autonomousDatabases/autonomousDatabaseBackups",
+ "properties": {
+ "autonomousDatabaseOcid": "ocid1.autonomousdatabase.oc1..aaaaa3klq",
+ "databaseSizeInTbs": 2,
+ "dbVersion": "19.6.0.0",
+ "displayName": "Nightly Backup",
+ "ocid": "ocid1.autonomousdatabasebackup.oc1..aaaaaaaavwpj",
+ "isAutomatic": true,
+ "isRestorable": true,
+ "lifecycleDetails": "Backup completed successfully",
+ "lifecycleState": "Active",
+ "retentionPeriodInDays": 365,
+ "sizeInTbs": 2,
+ "timeAvailableTil": "2025-01-09T20:44:09.466Z",
+ "timeStarted": "2024-01-09T19:44:09.466Z",
+ "timeEnded": "2024-01-09T20:44:09.466Z",
+ "backupType": "Full",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseBackup_listByParent.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseBackup_listByParent.json
new file mode 100644
index 000000000000..4ebe52f4191c
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseBackup_listByParent.json
@@ -0,0 +1,40 @@
+{
+ "operationId": "AutonomousDatabaseBackups_ListByAutonomousDatabase",
+ "title": "AutonomousDatabaseBackups_ListByAutonomousDatabase",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "autonomousdatabasename": "databasedb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1/autonomousDatabaseBackups/1711644130",
+ "type": "Oracle.Database/autonomousDatabases/autonomousDatabaseBackups",
+ "properties": {
+ "autonomousDatabaseOcid": "ocid1.autonomousdatabase.oc1..aaaaa3klq",
+ "databaseSizeInTbs": 2,
+ "dbVersion": "19.6.0.0",
+ "displayName": "Nightly Backup",
+ "ocid": "ocid1.autonomousdatabasebackup.oc1..aaaaaaaavwpj",
+ "isAutomatic": true,
+ "isRestorable": true,
+ "lifecycleDetails": "Backup completed successfully",
+ "lifecycleState": "Active",
+ "retentionPeriodInDays": 365,
+ "sizeInTbs": 2,
+ "timeAvailableTil": "2025-01-09T20:44:09.466Z",
+ "timeEnded": "2024-01-09T20:44:09.466Z",
+ "backupType": "Full",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseBackup_patch.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseBackup_patch.json
new file mode 100644
index 000000000000..c1c4a32ec58c
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseBackup_patch.json
@@ -0,0 +1,41 @@
+{
+ "operationId": "AutonomousDatabaseBackups_Update",
+ "title": "AutonomousDatabaseBackups_Update",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "autonomousdatabasename": "databasedb1",
+ "adbbackupid": "1711644130",
+ "properties": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1/autonomousDatabaseBackups/1711644130",
+ "type": "Oracle.Database/autonomousDatabases/autonomousDatabaseBackups",
+ "properties": {
+ "autonomousDatabaseOcid": "ocid1.autonomousdatabase.oc1..aaaaa3klq",
+ "databaseSizeInTbs": 2,
+ "dbVersion": "19.6.0.0",
+ "displayName": "Nightly Backup",
+ "ocid": "ocid1.autonomousdatabasebackup.oc1..aaaaaaaavwpj",
+ "isAutomatic": true,
+ "isRestorable": true,
+ "lifecycleDetails": "Backup updated successfully",
+ "lifecycleState": "Active",
+ "retentionPeriodInDays": 400,
+ "sizeInTbs": 2,
+ "backupType": "Full",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 100,
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabaseBackups/1711644130/operationStatus"
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseCharacterSet_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseCharacterSet_get.json
new file mode 100644
index 000000000000..48ed1d27bc6a
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseCharacterSet_get.json
@@ -0,0 +1,21 @@
+{
+ "operationId": "AutonomousDatabaseCharacterSets_get",
+ "title": "AutonomousDatabaseCharacterSets_get",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "eastus",
+ "adbscharsetname": "DATABASE"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDatabaseCharacterSets/DATABASE",
+ "type": "Oracle.Database/locations/autonomousDatabaseCharacterSets",
+ "properties": {
+ "characterSet": "AL32UTF8"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseCharacterSet_listByLocation.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseCharacterSet_listByLocation.json
new file mode 100644
index 000000000000..3a2e0bd2ebfb
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseCharacterSet_listByLocation.json
@@ -0,0 +1,32 @@
+{
+ "operationId": "AutonomousDatabaseCharacterSets_listByLocation",
+ "title": "AutonomousDatabaseCharacterSets_listByLocation",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "eastus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDatabaseCharacterSets/DATABASE",
+ "type": "Oracle.Database/locations/autonomousDatabaseCharacterSets",
+ "properties": {
+ "characterSet": "AL32UTF8"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDatabaseCharacterSets/DATABASE",
+ "type": "Oracle.Database/locations/autonomousDatabaseCharacterSets",
+ "properties": {
+ "characterSet": "UTF8"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseClone_create.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseClone_create.json
new file mode 100644
index 000000000000..7046e1177614
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseClone_create.json
@@ -0,0 +1,141 @@
+{
+ "operationId": "AutonomousDatabases_CreateOrUpdate",
+ "title": "AutonomousDatabases_CreateOrUpdate_clone",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "autonomousdatabasename": "databasedb1",
+ "resource": {
+ "properties": {
+ "dataBaseType": "Clone",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "cloneType": "Full",
+ "displayName": "example_autonomous_databasedb1_clone",
+ "computeModel": "ECPU",
+ "computeCount": 2,
+ "dataStorageSizeInTbs": 1,
+ "characterSet": "AL32UTF8",
+ "ncharacterSet": "AL16UTF16",
+ "adminPassword": "********",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1"
+ },
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "type": "Oracle.Database/autonomousDatabases",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1Clone",
+ "actualUsedDataStorageSizeInTbs": null,
+ "autonomousMaintenanceScheduleType": "Regular",
+ "characterSet": "AL32UTF8",
+ "ncharacterSet": "AL16UTF16",
+ "computeCount": 2.0,
+ "computeModel": "ECPU",
+ "cpuCoreCount": 1,
+ "customerContacts": null,
+ "cloneType": "Full",
+ "dataStorageSizeInGbs": 1024,
+ "dataStorageSizeInTbs": 1,
+ "databaseEdition": "EnterpriseEdition",
+ "dataBaseType": "Clone",
+ "dbVersion": "18.4.0.0",
+ "displayName": "example_autonomous_databasedb1",
+ "isAutoScalingEnabled": false,
+ "isAutoScalingForStorageEnabled": false,
+ "isLocalDataGuardEnabled": false,
+ "isMtlsConnectionRequired": true,
+ "licenseModel": "BringYourOwnLicense",
+ "lifecycleState": "Succeeded",
+ "lifecycleDetails": "success",
+ "privateEndpointIp": null,
+ "privateEndpointLabel": null,
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "provisioningState": "Succeeded",
+ "ociUrl": "https://fake",
+ "timeCreated": "2024-01-09T20:44:09.466Z",
+ "timeMaintenanceBegin": null,
+ "timeMaintenanceEnd": null,
+ "usedDataStorageSizeInGbs": null,
+ "usedDataStorageSizeInTbs": null,
+ "ocid": "ocid1..aaaaa",
+ "whitelistedIps": [
+ "1.1.1.1",
+ "1.1.1.0/24",
+ "1.1.2.25"
+ ]
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "Retry-After": 100000000
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "type": "Oracle.Database/autonomousDatabases",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1Clone",
+ "actualUsedDataStorageSizeInTbs": null,
+ "autonomousMaintenanceScheduleType": "Regular",
+ "characterSet": "AL32UTF8",
+ "ncharacterSet": "AL16UTF16",
+ "computeCount": 2.0,
+ "computeModel": "ECPU",
+ "cpuCoreCount": 1,
+ "cloneType": "Full",
+ "customerContacts": null,
+ "dataStorageSizeInGbs": 1024,
+ "dataStorageSizeInTbs": 1,
+ "databaseEdition": "EnterpriseEdition",
+ "dataBaseType": "Clone",
+ "dbVersion": "18.4.0.0",
+ "displayName": "example_autonomous_databasedb1",
+ "isAutoScalingEnabled": false,
+ "isAutoScalingForStorageEnabled": false,
+ "isLocalDataGuardEnabled": false,
+ "isMtlsConnectionRequired": true,
+ "licenseModel": "BringYourOwnLicense",
+ "lifecycleState": "Succeeded",
+ "lifecycleDetails": "success",
+ "privateEndpointIp": null,
+ "privateEndpointLabel": null,
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "provisioningState": "Succeeded",
+ "ociUrl": "https://fake",
+ "timeCreated": "2024-01-09T20:44:09.466Z",
+ "timeMaintenanceBegin": null,
+ "timeMaintenanceEnd": null,
+ "usedDataStorageSizeInGbs": null,
+ "usedDataStorageSizeInTbs": null,
+ "ocid": "ocid1..aaaaa",
+ "whitelistedIps": [
+ "1.1.1.1",
+ "1.1.1.0/24",
+ "1.1.2.25"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseNationalCharacterSet_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseNationalCharacterSet_get.json
new file mode 100644
index 000000000000..f9f6a9fc1db7
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseNationalCharacterSet_get.json
@@ -0,0 +1,21 @@
+{
+ "operationId": "AutonomousDatabaseNationalCharacterSets_get",
+ "title": "AutonomousDatabaseNationalCharacterSets_get",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "eastus",
+ "adbsncharsetname": "NATIONAL"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDatabaseNationalCharacterSets/NATIONAL",
+ "type": "Oracle.Database/locations/autonomousDatabaseNationalCharacterSets",
+ "properties": {
+ "characterSet": "AL16UTF16"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseNationalCharacterSet_listByLocation.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseNationalCharacterSet_listByLocation.json
new file mode 100644
index 000000000000..bd21f832616a
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseNationalCharacterSet_listByLocation.json
@@ -0,0 +1,25 @@
+{
+ "operationId": "AutonomousDatabaseNationalCharacterSets_listByLocation",
+ "title": "AutonomousDatabaseNationalCharacterSets_listByLocation",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "eastus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDatabaseNationalCharacterSets/NATIONAL",
+ "type": "Oracle.Database/locations/autonomousDatabaseNationalCharacterSets",
+ "properties": {
+ "characterSet": "AL16UTF16"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseVersion_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseVersion_get.json
new file mode 100644
index 000000000000..4af807342ed2
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseVersion_get.json
@@ -0,0 +1,21 @@
+{
+ "operationId": "AutonomousDatabaseVersions_get",
+ "title": "AutonomousDatabaseVersions_get",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "eastus",
+ "autonomousdbversionsname": "18.4.0.0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDbVersions/18.4.0.0",
+ "type": "Oracle.Database/locations/autonomousDbVersions",
+ "properties": {
+ "version": "18.4.0.0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseVersion_listByLocation.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseVersion_listByLocation.json
new file mode 100644
index 000000000000..62d77ad126b9
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabaseVersion_listByLocation.json
@@ -0,0 +1,25 @@
+{
+ "operationId": "AutonomousDatabaseVersions_listByLocation",
+ "title": "AutonomousDatabaseVersions_listByLocation",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "eastus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDbVersions/18.4.0.0",
+ "type": "Oracle.Database/locations/autonomousDbVersions",
+ "properties": {
+ "version": "18.4.0.0"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_create.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_create.json
new file mode 100644
index 000000000000..18862f95d313
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_create.json
@@ -0,0 +1,136 @@
+{
+ "operationId": "AutonomousDatabases_CreateOrUpdate",
+ "title": "AutonomousDatabases_CreateOrUpdate",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "autonomousdatabasename": "databasedb1",
+ "resource": {
+ "properties": {
+ "dataBaseType": "Regular",
+ "displayName": "example_autonomous_databasedb1",
+ "computeModel": "ECPU",
+ "computeCount": 2,
+ "dataStorageSizeInTbs": 1,
+ "adminPassword": "********",
+ "dbVersion": "18.4.0.0",
+ "characterSet": "AL32UTF8",
+ "ncharacterSet": "AL16UTF16",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1"
+ },
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "type": "Oracle.Database/autonomousDatabases",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "actualUsedDataStorageSizeInTbs": null,
+ "autonomousMaintenanceScheduleType": "Regular",
+ "characterSet": "AL32UTF8",
+ "ncharacterSet": "AL16UTF16",
+ "computeCount": 2.0,
+ "computeModel": "ECPU",
+ "cpuCoreCount": 1,
+ "customerContacts": null,
+ "dataStorageSizeInGbs": 1024,
+ "dataStorageSizeInTbs": 1,
+ "databaseEdition": "EnterpriseEdition",
+ "dataBaseType": "Regular",
+ "dbVersion": "18.4.0.0",
+ "displayName": "example_autonomous_databasedb1",
+ "isAutoScalingEnabled": false,
+ "isAutoScalingForStorageEnabled": false,
+ "isLocalDataGuardEnabled": false,
+ "isMtlsConnectionRequired": true,
+ "licenseModel": "BringYourOwnLicense",
+ "lifecycleState": "Succeeded",
+ "lifecycleDetails": "success",
+ "privateEndpointIp": null,
+ "privateEndpointLabel": null,
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "provisioningState": "Succeeded",
+ "ociUrl": "https://fake",
+ "timeCreated": "2024-01-09T20:44:09.466Z",
+ "timeMaintenanceBegin": null,
+ "timeMaintenanceEnd": null,
+ "usedDataStorageSizeInGbs": null,
+ "usedDataStorageSizeInTbs": null,
+ "ocid": "ocid1..aaaaa",
+ "whitelistedIps": [
+ "1.1.1.1",
+ "1.1.1.0/24",
+ "1.1.2.25"
+ ]
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "Retry-After": 100000000
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "type": "Oracle.Database/autonomousDatabases",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "actualUsedDataStorageSizeInTbs": null,
+ "autonomousMaintenanceScheduleType": "Regular",
+ "characterSet": "AL32UTF8",
+ "ncharacterSet": "AL16UTF16",
+ "computeCount": 2.0,
+ "computeModel": "ECPU",
+ "cpuCoreCount": 1,
+ "customerContacts": null,
+ "dataStorageSizeInGbs": 1024,
+ "dataStorageSizeInTbs": 1,
+ "databaseEdition": "EnterpriseEdition",
+ "dataBaseType": "Regular",
+ "dbVersion": "18.4.0.0",
+ "displayName": "example_autonomous_databasedb1",
+ "isAutoScalingEnabled": false,
+ "isAutoScalingForStorageEnabled": false,
+ "isLocalDataGuardEnabled": false,
+ "isMtlsConnectionRequired": true,
+ "licenseModel": "BringYourOwnLicense",
+ "lifecycleState": "Succeeded",
+ "lifecycleDetails": "success",
+ "privateEndpointIp": null,
+ "privateEndpointLabel": null,
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "provisioningState": "Succeeded",
+ "ociUrl": "https://fake",
+ "timeCreated": "2024-01-09T20:44:09.466Z",
+ "timeMaintenanceBegin": null,
+ "timeMaintenanceEnd": null,
+ "usedDataStorageSizeInGbs": null,
+ "usedDataStorageSizeInTbs": null,
+ "ocid": "ocid1..aaaaa",
+ "whitelistedIps": [
+ "1.1.1.1",
+ "1.1.1.0/24",
+ "1.1.2.25"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_delete.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_delete.json
new file mode 100644
index 000000000000..75a2a168ed15
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_delete.json
@@ -0,0 +1,19 @@
+{
+ "operationId": "AutonomousDatabases_delete",
+ "title": "AutonomousDatabases_delete",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "autonomousdatabasename": "databasedb1"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Retry-After": 10000000,
+ "Location": "eastus"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_failover.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_failover.json
new file mode 100644
index 000000000000..6372bac80b72
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_failover.json
@@ -0,0 +1,90 @@
+{
+ "operationId": "AutonomousDatabases_Failover",
+ "title": "AutonomousDatabases_Failover",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "autonomousdatabasename": "databasedb1",
+ "body": {
+ "peerDbId": "peerDbId"
+ },
+ "tags": {
+ "tagK1": "tagV1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "type": "Oracle.Database/autonomousDatabases",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "actualUsedDataStorageSizeInTbs": null,
+ "autonomousMaintenanceScheduleType": "Regular",
+ "characterSet": "AL32UTF8",
+ "ncharacterSet": "AL16UTF16",
+ "computeCount": 2.0,
+ "computeModel": "ECPU",
+ "cpuCoreCount": 1,
+ "customerContacts": null,
+ "dataStorageSizeInGbs": 1024,
+ "dataStorageSizeInTbs": 1,
+ "databaseEdition": "EnterpriseEdition",
+ "dataBaseType": "Regular",
+ "dbVersion": "18.4.0.0",
+ "displayName": "example_autonomous_databasedb1",
+ "isAutoScalingEnabled": false,
+ "isAutoScalingForStorageEnabled": false,
+ "failedDataRecoveryInSeconds": null,
+ "isLocalDataGuardEnabled": true,
+ "timeLocalDataGuardEnabled": "2024-02-28T19:03:43.714Z",
+ "localDisasterRecoveryType": "Adg",
+ "localAdgAutoFailoverMaxDataLossLimit": 300,
+ "role": "Primary",
+ "peerDbIds": null,
+ "localStandbyDb": {
+ "lagTimeInSeconds": null,
+ "lifecycleDetails": null,
+ "lifecycleState": "RoleChangeInProgress",
+ "timeDataGuardRoleChanged": null,
+ "timeDisasterRecoveryRoleChanged": null
+ },
+ "isMtlsConnectionRequired": true,
+ "licenseModel": "BringYourOwnLicense",
+ "lifecycleState": "Updating",
+ "lifecycleDetails": null,
+ "privateEndpointIp": null,
+ "privateEndpointLabel": null,
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "provisioningState": "Provisioning",
+ "ociUrl": "https://fake",
+ "timeCreated": "2024-01-09T20:44:09.466Z",
+ "timeOfLastFailover": null,
+ "timeOfLastSwitchover": null,
+ "timeMaintenanceBegin": null,
+ "timeMaintenanceEnd": null,
+ "usedDataStorageSizeInGbs": null,
+ "usedDataStorageSizeInTbs": null,
+ "ocid": "ocid1..aaaaa",
+ "whitelistedIps": [
+ "1.1.1.1",
+ "1.1.1.0/24",
+ "1.1.2.25"
+ ]
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 10000000,
+ "Location": "eastus"
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_generateWallet.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_generateWallet.json
new file mode 100644
index 000000000000..f40c03f51d16
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_generateWallet.json
@@ -0,0 +1,25 @@
+{
+ "operationId": "AutonomousDatabases_generateWallet",
+ "title": "AutonomousDatabases_generateWallet",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "autonomousdatabasename": "databasedb1",
+ "body": {
+ "generateType": "Single",
+ "isRegional": false,
+ "password": "********"
+ },
+ "tags": {
+ "tagK1": "tagV1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "walletFiles": "testEncodedFiles"
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_get.json
new file mode 100644
index 000000000000..bbddccbc654a
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_get.json
@@ -0,0 +1,63 @@
+{
+ "operationId": "AutonomousDatabases_Get",
+ "title": "AutonomousDatabases_Get",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "autonomousdatabasename": "databasedb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "type": "Oracle.Database/autonomousDatabases",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "actualUsedDataStorageSizeInTbs": null,
+ "autonomousMaintenanceScheduleType": "Regular",
+ "characterSet": "AL32UTF8",
+ "ncharacterSet": "AL16UTF16",
+ "computeCount": 2.0,
+ "computeModel": "ECPU",
+ "cpuCoreCount": 1,
+ "customerContacts": null,
+ "dataStorageSizeInGbs": 1024,
+ "dataStorageSizeInTbs": 1,
+ "databaseEdition": "EnterpriseEdition",
+ "dataBaseType": "Regular",
+ "dbVersion": "18.4.0.0",
+ "displayName": "example_autonomous_databasedb1",
+ "isAutoScalingEnabled": false,
+ "isAutoScalingForStorageEnabled": false,
+ "isLocalDataGuardEnabled": false,
+ "isMtlsConnectionRequired": true,
+ "licenseModel": "BringYourOwnLicense",
+ "lifecycleState": "Succeeded",
+ "lifecycleDetails": "success",
+ "privateEndpointIp": null,
+ "privateEndpointLabel": null,
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "provisioningState": "Succeeded",
+ "ociUrl": "https://fake",
+ "timeCreated": "2024-01-09T20:44:09.466Z",
+ "timeMaintenanceBegin": null,
+ "timeMaintenanceEnd": null,
+ "usedDataStorageSizeInGbs": null,
+ "usedDataStorageSizeInTbs": null,
+ "ocid": "ocid1..aaaaa",
+ "whitelistedIps": [
+ "1.1.1.1",
+ "1.1.1.0/24",
+ "1.1.2.25"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_listByResourceGroup.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_listByResourceGroup.json
new file mode 100644
index 000000000000..286dc9d862b1
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_listByResourceGroup.json
@@ -0,0 +1,67 @@
+{
+ "operationId": "AutonomousDatabases_listByResourceGroup",
+ "title": "AutonomousDatabases_listByResourceGroup",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "type": "Oracle.Database/autonomousDatabases",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "actualUsedDataStorageSizeInTbs": null,
+ "autonomousMaintenanceScheduleType": "Regular",
+ "characterSet": "AL32UTF8",
+ "ncharacterSet": "AL16UTF16",
+ "computeCount": 2.0,
+ "computeModel": "ECPU",
+ "cpuCoreCount": 1,
+ "customerContacts": null,
+ "dataStorageSizeInGbs": 1024,
+ "dataStorageSizeInTbs": 1,
+ "databaseEdition": "EnterpriseEdition",
+ "dataBaseType": "Regular",
+ "dbVersion": "18.4.0.0",
+ "displayName": "example_autonomous_databasedb1",
+ "isAutoScalingEnabled": false,
+ "isAutoScalingForStorageEnabled": false,
+ "isLocalDataGuardEnabled": false,
+ "isMtlsConnectionRequired": true,
+ "licenseModel": "BringYourOwnLicense",
+ "lifecycleState": "Succeeded",
+ "lifecycleDetails": "success",
+ "privateEndpointIp": null,
+ "privateEndpointLabel": null,
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "provisioningState": "Succeeded",
+ "ociUrl": "https://fake",
+ "timeCreated": "2024-01-09T20:44:09.466Z",
+ "timeMaintenanceBegin": null,
+ "timeMaintenanceEnd": null,
+ "usedDataStorageSizeInGbs": null,
+ "usedDataStorageSizeInTbs": null,
+ "ocid": "ocid1..aaaaa",
+ "whitelistedIps": [
+ "1.1.1.1",
+ "1.1.1.0/24",
+ "1.1.2.25"
+ ]
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_listBySubscription.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_listBySubscription.json
new file mode 100644
index 000000000000..197d047a6ad5
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_listBySubscription.json
@@ -0,0 +1,66 @@
+{
+ "operationId": "AutonomousDatabases_listBySubscription",
+ "title": "AutonomousDatabases_listBySubscription",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "type": "Oracle.Database/autonomousDatabases",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "actualUsedDataStorageSizeInTbs": null,
+ "autonomousMaintenanceScheduleType": "Regular",
+ "characterSet": "AL32UTF8",
+ "ncharacterSet": "AL16UTF16",
+ "computeCount": 2.0,
+ "computeModel": "ECPU",
+ "cpuCoreCount": 1,
+ "customerContacts": null,
+ "dataStorageSizeInGbs": 1024,
+ "dataStorageSizeInTbs": 1,
+ "databaseEdition": "EnterpriseEdition",
+ "dataBaseType": "Regular",
+ "dbVersion": "18.4.0.0",
+ "displayName": "example_autonomous_databasedb1",
+ "isAutoScalingEnabled": false,
+ "isAutoScalingForStorageEnabled": false,
+ "isLocalDataGuardEnabled": false,
+ "isMtlsConnectionRequired": true,
+ "licenseModel": "BringYourOwnLicense",
+ "lifecycleState": "Succeeded",
+ "lifecycleDetails": "success",
+ "privateEndpointIp": null,
+ "privateEndpointLabel": null,
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "provisioningState": "Succeeded",
+ "ociUrl": "https://fake",
+ "timeCreated": "2024-01-09T20:44:09.466Z",
+ "timeMaintenanceBegin": null,
+ "timeMaintenanceEnd": null,
+ "usedDataStorageSizeInGbs": null,
+ "usedDataStorageSizeInTbs": null,
+ "ocid": "ocid1..aaaaa",
+ "whitelistedIps": [
+ "1.1.1.1",
+ "1.1.1.0/24",
+ "1.1.2.25"
+ ]
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_patch.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_patch.json
new file mode 100644
index 000000000000..bb2da07ae025
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_patch.json
@@ -0,0 +1,73 @@
+{
+ "operationId": "AutonomousDatabases_update",
+ "title": "AutonomousDatabases_update",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "autonomousdatabasename": "databasedb1",
+ "properties": {},
+ "tags": {
+ "tagK1": "tagV1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "type": "Oracle.Database/autonomousDatabases",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "actualUsedDataStorageSizeInTbs": null,
+ "autonomousMaintenanceScheduleType": "Regular",
+ "characterSet": "AL32UTF8",
+ "ncharacterSet": "AL16UTF16",
+ "computeCount": 2.0,
+ "computeModel": "ECPU",
+ "cpuCoreCount": 1,
+ "customerContacts": null,
+ "dataStorageSizeInGbs": 1024,
+ "dataStorageSizeInTbs": 1,
+ "databaseEdition": "EnterpriseEdition",
+ "dataBaseType": "Regular",
+ "dbVersion": "18.4.0.0",
+ "displayName": "example_autonomous_databasedb1",
+ "isAutoScalingEnabled": false,
+ "isAutoScalingForStorageEnabled": false,
+ "isLocalDataGuardEnabled": false,
+ "isMtlsConnectionRequired": true,
+ "licenseModel": "BringYourOwnLicense",
+ "lifecycleState": "Succeeded",
+ "lifecycleDetails": "success",
+ "privateEndpointIp": null,
+ "privateEndpointLabel": null,
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "provisioningState": "Succeeded",
+ "ociUrl": "https://fake",
+ "timeCreated": "2024-01-09T20:44:09.466Z",
+ "timeMaintenanceBegin": null,
+ "timeMaintenanceEnd": null,
+ "usedDataStorageSizeInGbs": null,
+ "usedDataStorageSizeInTbs": null,
+ "ocid": "ocid1..aaaaa",
+ "whitelistedIps": [
+ "1.1.1.1",
+ "1.1.1.0/24",
+ "1.1.2.25"
+ ]
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 10000000,
+ "Location": "eastus"
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_restore.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_restore.json
new file mode 100644
index 000000000000..6ad6cbccc9e3
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_restore.json
@@ -0,0 +1,80 @@
+{
+ "operationId": "AutonomousDatabases_Restore",
+ "title": "AutonomousDatabases_Restore",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "autonomousdatabasename": "databasedb1",
+ "body": {
+ "timestamp": "2024-04-23T00:00:00.000Z"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "type": "Oracle.Database/autonomousDatabases",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "actualUsedDataStorageSizeInTbs": null,
+ "autonomousMaintenanceScheduleType": "Regular",
+ "backupRetentionPeriodInDays": 60,
+ "characterSet": "AL32UTF8",
+ "ncharacterSet": "AL16UTF16",
+ "computeCount": 2.0,
+ "computeModel": "ECPU",
+ "cpuCoreCount": 1,
+ "customerContacts": null,
+ "dataStorageSizeInGbs": 1024,
+ "dataStorageSizeInTbs": 1,
+ "databaseEdition": "EnterpriseEdition",
+ "dataBaseType": "Regular",
+ "dbVersion": "18.4.0.0",
+ "displayName": "example_autonomous_databasedb1",
+ "isAutoScalingEnabled": false,
+ "isAutoScalingForStorageEnabled": false,
+ "isLocalDataGuardEnabled": false,
+ "isMtlsConnectionRequired": true,
+ "licenseModel": "BringYourOwnLicense",
+ "lifecycleState": "RestoreInProgress",
+ "lifecycleDetails": "",
+ "nextLongTermBackupTimeStamp": "2024-04-24T21:03:41.000Z",
+ "longTermBackupSchedule": {
+ "isDisabled": null,
+ "repeatCadence": "Weekly",
+ "retentionPeriodInDays": 365,
+ "timeOfBackup": "2024-04-21T21:03:41.309Z"
+ },
+ "privateEndpointIp": null,
+ "privateEndpointLabel": null,
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "provisioningState": "Succeeded",
+ "ociUrl": "https://fake",
+ "timeCreated": "2024-01-09T20:44:09.466Z",
+ "timeMaintenanceBegin": null,
+ "timeMaintenanceEnd": null,
+ "usedDataStorageSizeInGbs": null,
+ "usedDataStorageSizeInTbs": null,
+ "ocid": "ocid1..aaaaa",
+ "whitelistedIps": [
+ "1.1.1.1",
+ "1.1.1.0/24",
+ "1.1.2.25"
+ ]
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 100,
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabaseBackups/1711644130/operationStatus"
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_shrink.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_shrink.json
new file mode 100644
index 000000000000..47e5b0aca287
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_shrink.json
@@ -0,0 +1,77 @@
+{
+ "operationId": "AutonomousDatabase_shrink",
+ "title": "AutonomousDatabase_shrink",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "autonomousdatabasename": "databasedb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "type": "Oracle.Database/autonomousDatabases",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "actualUsedDataStorageSizeInTbs": null,
+ "autonomousMaintenanceScheduleType": "Regular",
+ "backupRetentionPeriodInDays": 90,
+ "characterSet": "AL32UTF8",
+ "ncharacterSet": "AL16UTF16",
+ "computeCount": 2.0,
+ "computeModel": "ECPU",
+ "cpuCoreCount": 1,
+ "customerContacts": null,
+ "dataStorageSizeInGbs": 1024,
+ "dataStorageSizeInTbs": 1,
+ "databaseEdition": "EnterpriseEdition",
+ "dataBaseType": "Regular",
+ "dbVersion": "18.4.0.0",
+ "displayName": "example_autonomous_databasedb1",
+ "isAutoScalingEnabled": false,
+ "isAutoScalingForStorageEnabled": false,
+ "isLocalDataGuardEnabled": false,
+ "isMtlsConnectionRequired": true,
+ "licenseModel": "BringYourOwnLicense",
+ "lifecycleState": "ScaleInProgress",
+ "lifecycleDetails": "",
+ "nextLongTermBackupTimeStamp": "2024-04-24T21:03:41.000Z",
+ "longTermBackupSchedule": {
+ "isDisabled": null,
+ "repeatCadence": "Weekly",
+ "retentionPeriodInDays": 365,
+ "timeOfBackup": "2024-04-21T21:03:41.309Z"
+ },
+ "privateEndpointIp": null,
+ "privateEndpointLabel": null,
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "provisioningState": "Succeeded",
+ "ociUrl": "https://fake",
+ "timeCreated": "2024-01-09T20:44:09.466Z",
+ "timeMaintenanceBegin": null,
+ "timeMaintenanceEnd": null,
+ "usedDataStorageSizeInGbs": null,
+ "usedDataStorageSizeInTbs": null,
+ "ocid": "ocid1..aaaaa",
+ "whitelistedIps": [
+ "1.1.1.1",
+ "1.1.1.0/24",
+ "1.1.2.25"
+ ]
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 100,
+ "Location": "eastus"
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_switchover.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_switchover.json
new file mode 100644
index 000000000000..3d7b2f4e4822
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/autonomousDatabase_switchover.json
@@ -0,0 +1,89 @@
+{
+ "operationId": "AutonomousDatabases_Switchover",
+ "title": "AutonomousDatabases_Switchover",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "autonomousdatabasename": "databasedb1",
+ "body": {
+ "peerDbId": "peerDbId"
+ },
+ "tags": {
+ "tagK1": "tagV1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "type": "Oracle.Database/autonomousDatabases",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1",
+ "actualUsedDataStorageSizeInTbs": null,
+ "autonomousMaintenanceScheduleType": "Regular",
+ "characterSet": "AL32UTF8",
+ "ncharacterSet": "AL16UTF16",
+ "computeCount": 2.0,
+ "computeModel": "ECPU",
+ "cpuCoreCount": 1,
+ "customerContacts": null,
+ "dataStorageSizeInGbs": 1024,
+ "dataStorageSizeInTbs": 1,
+ "databaseEdition": "EnterpriseEdition",
+ "dataBaseType": "Regular",
+ "dbVersion": "18.4.0.0",
+ "displayName": "example_autonomous_databasedb1",
+ "isAutoScalingEnabled": false,
+ "isAutoScalingForStorageEnabled": false,
+ "failedDataRecoveryInSeconds": null,
+ "isLocalDataGuardEnabled": false,
+ "localDisasterRecoveryType": "BackupBased",
+ "localAdgAutoFailoverMaxDataLossLimit": null,
+ "role": "Primary",
+ "peerDbIds": null,
+ "localStandbyDb": {
+ "lagTimeInSeconds": null,
+ "lifecycleDetails": null,
+ "lifecycleState": "RoleChangeInProgress",
+ "timeDataGuardRoleChanged": null,
+ "timeDisasterRecoveryRoleChanged": null
+ },
+ "isMtlsConnectionRequired": true,
+ "licenseModel": "BringYourOwnLicense",
+ "lifecycleState": "Updating",
+ "lifecycleDetails": null,
+ "privateEndpointIp": null,
+ "privateEndpointLabel": null,
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "provisioningState": "Provisioning",
+ "ociUrl": "https://fake",
+ "timeCreated": "2024-01-09T20:44:09.466Z",
+ "timeOfLastFailover": null,
+ "timeOfLastSwitchover": "2024-02-27T18:37:08.069Z",
+ "timeMaintenanceBegin": null,
+ "timeMaintenanceEnd": null,
+ "usedDataStorageSizeInGbs": null,
+ "usedDataStorageSizeInTbs": null,
+ "ocid": "ocid1..aaaaa",
+ "whitelistedIps": [
+ "1.1.1.1",
+ "1.1.1.0/24",
+ "1.1.2.25"
+ ]
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 10000000,
+ "Location": "eastus"
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbNodes_action.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbNodes_action.json
new file mode 100644
index 000000000000..37863366d8c0
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbNodes_action.json
@@ -0,0 +1,50 @@
+{
+ "operationId": "DbNodes_Action",
+ "title": "DbNodes_Action",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudvmclustername": "cluster1",
+ "dbnodeocid": "ocid1....aaaaaa",
+ "body": {
+ "action": "Start"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1/dbNodes/ocid1",
+ "type": "Oracle.Database/cloudVmClusters/dbNodes",
+ "properties": {
+ "ocid": "ocid.dbNodes.1",
+ "backupIpId": "id1",
+ "backupVnic2Id": "id1",
+ "backupVnicId": "id1",
+ "cpuCoreCount": 1000,
+ "dbNodeStorageSizeInGbs": 500,
+ "dbServerId": "dbserver1",
+ "dbSystemId": "db1",
+ "faultDomain": "domain1",
+ "hostIpId": "10.0.0.0",
+ "hostname": "host1",
+ "provisioningState": "Succeeded",
+ "maintenanceType": "VmdbRebootMigration",
+ "memorySizeInGbs": 100,
+ "softwareStorageSizeInGb": 1000,
+ "timeCreated": "2023-10-21T13:44:04.924Z",
+ "timeMaintenanceWindowEnd": "2023-10-21T13:44:04.924Z",
+ "timeMaintenanceWindowStart": "2023-10-21T13:44:04.924Z",
+ "vnic2Id": "ocid.vnic.id2",
+ "vnicId": "ocid.vnic.id1"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 10000000,
+ "Location": "eastus"
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbNodes_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbNodes_get.json
new file mode 100644
index 000000000000..505022eb89aa
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbNodes_get.json
@@ -0,0 +1,41 @@
+{
+ "operationId": "DbNodes_get",
+ "title": "DbNodes_get",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudvmclustername": "cluster1",
+ "dbnodeocid": "ocid1....aaaaaa"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1/dbNodes/ocid1",
+ "type": "Oracle.Database/cloudVmClusters/dbNodes",
+ "properties": {
+ "ocid": "ocid.dbNodes.1",
+ "backupIpId": "id1",
+ "backupVnic2Id": "id1",
+ "backupVnicId": "id1",
+ "cpuCoreCount": 1000,
+ "dbNodeStorageSizeInGbs": 500,
+ "dbServerId": "dbserver1",
+ "dbSystemId": "db1",
+ "faultDomain": "domain1",
+ "hostIpId": "10.0.0.0",
+ "hostname": "host1",
+ "lifecycleState": "Available",
+ "maintenanceType": "VmdbRebootMigration",
+ "memorySizeInGbs": 100,
+ "softwareStorageSizeInGb": 1000,
+ "timeCreated": "2023-10-21T13:44:04.924Z",
+ "timeMaintenanceWindowEnd": "2023-10-21T13:44:04.924Z",
+ "timeMaintenanceWindowStart": "2023-10-21T13:44:04.924Z",
+ "vnic2Id": "ocid.vnic.id2",
+ "vnicId": "ocid.vnic.id1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbNodes_listByParent.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbNodes_listByParent.json
new file mode 100644
index 000000000000..8599aa52b6e6
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbNodes_listByParent.json
@@ -0,0 +1,45 @@
+{
+ "operationId": "DbNodes_listByParent",
+ "title": "DbNodes_listByParent",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudvmclustername": "cluster1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1/dbNodes/ocid1",
+ "type": "Oracle.Database/cloudVmClusters/dbNodes",
+ "properties": {
+ "ocid": "ocid.dbNodes.1",
+ "backupIpId": "id1",
+ "backupVnic2Id": "id1",
+ "backupVnicId": "id1",
+ "cpuCoreCount": 1000,
+ "dbNodeStorageSizeInGbs": 500,
+ "dbServerId": "dbserver1",
+ "dbSystemId": "db1",
+ "faultDomain": "domain1",
+ "hostIpId": "10.0.0.0",
+ "hostname": "host1",
+ "lifecycleState": "Available",
+ "maintenanceType": "VmdbRebootMigration",
+ "memorySizeInGbs": 100,
+ "softwareStorageSizeInGb": 1000,
+ "timeCreated": "2023-10-21T13:44:04.924Z",
+ "timeMaintenanceWindowEnd": "2023-10-21T13:44:04.924Z",
+ "timeMaintenanceWindowStart": "2023-10-21T13:44:04.924Z",
+ "vnic2Id": "ocid.vnic.id2",
+ "vnicId": "ocid.vnic.id1"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbServers_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbServers_get.json
new file mode 100644
index 000000000000..3c27e71aad9e
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbServers_get.json
@@ -0,0 +1,42 @@
+{
+ "operationId": "DbServers_get",
+ "title": "DbServers_get",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudexadatainfrastructurename": "infra1",
+ "dbserverocid": "ocid1....aaaaaa"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1/dbServers/ocid1",
+ "type": "Oracle.Database/cloudVmClusters/dbServers",
+ "properties": {
+ "ocid": "ocid1",
+ "displayName": "dbserver1",
+ "compartmentId": "ocid1....aaaa",
+ "exadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1",
+ "cpuCoreCount": 100,
+ "maxMemoryInGbs": 1000,
+ "dbNodeStorageSizeInGbs": 150,
+ "vmClusterIds": [
+ "ocid1..aaaaa"
+ ],
+ "dbNodeIds": [
+ "ocid1..aaaaa"
+ ],
+ "lifecycleState": "Available",
+ "maxCpuCount": 1000,
+ "autonomousVmClusterIds": [
+ "ocid1..aaaaa"
+ ],
+ "autonomousVirtualMachineIds": [
+ "ocid1..aaaaa"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbServers_listByParent.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbServers_listByParent.json
new file mode 100644
index 000000000000..9473e254c85b
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbServers_listByParent.json
@@ -0,0 +1,46 @@
+{
+ "operationId": "DbServers_listByCloudExadataInfrastructure",
+ "title": "DbServers_listByCloudExadataInfrastructure",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudexadatainfrastructurename": "infra1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1/dbServers/ocid1",
+ "type": "Oracle.Database/cloudVmClusters/dbServers",
+ "properties": {
+ "ocid": "ocid1",
+ "displayName": "dbserver1",
+ "compartmentId": "ocid1....aaaa",
+ "exadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1",
+ "cpuCoreCount": 100,
+ "maxMemoryInGbs": 1000,
+ "dbNodeStorageSizeInGbs": 150,
+ "vmClusterIds": [
+ "ocid1..aaaaa"
+ ],
+ "dbNodeIds": [
+ "ocid1..aaaaa"
+ ],
+ "lifecycleState": "Available",
+ "maxCpuCount": 1000,
+ "autonomousVmClusterIds": [
+ "ocid1..aaaaa"
+ ],
+ "autonomousVirtualMachineIds": [
+ "ocid1..aaaaa"
+ ]
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbSystemShapes_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbSystemShapes_get.json
new file mode 100644
index 000000000000..bb0bc5a7cdfc
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbSystemShapes_get.json
@@ -0,0 +1,40 @@
+{
+ "operationId": "DbSystemShapes_get",
+ "title": "DbSystemShapes_get",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "eastus",
+ "dbsystemshapename": "EXADATA.X9M"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dbSystemShapes/EXADATA.X9M",
+ "type": "Oracle.Database/locations/dbSystemShapes",
+ "properties": {
+ "shapeFamily": "EXADATA",
+ "availableCoreCount": 100,
+ "minimumCoreCount": 1,
+ "runtimeMinimumCoreCount": 1,
+ "coreCountIncrement": 1,
+ "minStorageCount": 0,
+ "maxStorageCount": 100,
+ "availableDataStoragePerServerInTbs": 100,
+ "availableMemoryPerNodeInGbs": 10,
+ "availableDbNodePerNodeInGbs": 10,
+ "minCoreCountPerNode": 0,
+ "availableMemoryInGbs": 10,
+ "minMemoryPerNodeInGbs": 0,
+ "availableDbNodeStorageInGbs": 10,
+ "minDbNodeStoragePerNodeInGbs": 0,
+ "availableDataStorageInTbs": 10,
+ "minDataStorageInTbs": 0,
+ "minimumNodeCount": 0,
+ "maximumNodeCount": 1000,
+ "availableCoreCountPerNode": 1000
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbSystemShapes_listByLocation.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbSystemShapes_listByLocation.json
new file mode 100644
index 000000000000..24d821e42829
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dbSystemShapes_listByLocation.json
@@ -0,0 +1,44 @@
+{
+ "operationId": "DbSystemShapes_listByLocation",
+ "title": "DbSystemShapes_listByLocation",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "eastus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dbSystemShapes/EXADATA.X9M",
+ "type": "Oracle.Database/locations/dbSystemShapes",
+ "properties": {
+ "shapeFamily": "EXADATA",
+ "availableCoreCount": 100,
+ "minimumCoreCount": 1,
+ "runtimeMinimumCoreCount": 1,
+ "coreCountIncrement": 1,
+ "minStorageCount": 0,
+ "maxStorageCount": 100,
+ "availableDataStoragePerServerInTbs": 100,
+ "availableMemoryPerNodeInGbs": 10,
+ "availableDbNodePerNodeInGbs": 10,
+ "minCoreCountPerNode": 0,
+ "availableMemoryInGbs": 10,
+ "minMemoryPerNodeInGbs": 0,
+ "availableDbNodeStorageInGbs": 10,
+ "minDbNodeStoragePerNodeInGbs": 0,
+ "availableDataStorageInTbs": 10,
+ "minDataStorageInTbs": 0,
+ "minimumNodeCount": 0,
+ "maximumNodeCount": 1000,
+ "availableCoreCountPerNode": 1000
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dnsPrivateViews_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dnsPrivateViews_get.json
new file mode 100644
index 000000000000..f0be492fc661
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dnsPrivateViews_get.json
@@ -0,0 +1,27 @@
+{
+ "operationId": "DnsPrivateViews_get",
+ "title": "DnsPrivateViews_get",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "eastus",
+ "dnsprivateviewocid": "ocid1....aaaaaa"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dnsPrivateViews/ocid1....aaaaaa",
+ "type": "Oracle.Database/locations/dnsPrivateViews",
+ "properties": {
+ "ocid": "ocid1....aaaaaa",
+ "displayName": "example-dns-private-view",
+ "isProtected": false,
+ "lifecycleState": "Active",
+ "self": "https://api.example.com/your-dns-private-view",
+ "timeCreated": "2023-10-26T12:34:56Z",
+ "timeUpdated": "2023-10-26T14:00:00Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dnsPrivateViews_listByLocation.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dnsPrivateViews_listByLocation.json
new file mode 100644
index 000000000000..809a370e806b
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dnsPrivateViews_listByLocation.json
@@ -0,0 +1,44 @@
+{
+ "operationId": "DnsPrivateViews_listByLocation",
+ "title": "DnsPrivateViews_listByLocation",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "eastus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dnsPrivateViews/ocid1....aaaaaa",
+ "type": "Oracle.Database/locations/dnsPrivateViews",
+ "properties": {
+ "ocid": "ocid1....aaaaaa",
+ "displayName": "example-dns-private-view1",
+ "isProtected": false,
+ "lifecycleState": "Active",
+ "self": "https://api.example.com/view1",
+ "timeCreated": "2023-10-26T12:34:56Z",
+ "timeUpdated": "2023-10-26T14:00:00Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dnsPrivateViews/ocid1....aaaaab",
+ "type": "Oracle.Database/locations/dnsPrivateViews",
+ "properties": {
+ "ocid": "ocid1....aaaaab",
+ "displayName": "example-dns-private-view2",
+ "isProtected": true,
+ "lifecycleState": "Creating",
+ "self": "https://api.example.com/view2",
+ "timeCreated": "2023-10-27T09:45:00Z",
+ "timeUpdated": "2023-10-27T10:30:00Z"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dnsPrivateZones_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dnsPrivateZones_get.json
new file mode 100644
index 000000000000..d79d214d7b2a
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dnsPrivateZones_get.json
@@ -0,0 +1,29 @@
+{
+ "operationId": "DnsPrivateZones_get",
+ "title": "DnsPrivateZones_get",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "eastus",
+ "dnsprivatezonename": "example-dns-private-zone"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dnsPrivateZones/example-dns-private-zone",
+ "type": "Oracle.Database/locations/dnsPrivateZones",
+ "properties": {
+ "ocid": "your-zone-id",
+ "isProtected": false,
+ "lifecycleState": "Active",
+ "self": "https://api.example.com/your-dns-private-zone",
+ "serial": 12345,
+ "version": "1.0.0.0",
+ "viewId": "your-view-id",
+ "zoneType": "Primary",
+ "timeCreated": "2023-10-26T12:34:56Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dnsPrivateZones_listByLocation.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dnsPrivateZones_listByLocation.json
new file mode 100644
index 000000000000..f0909b5e1841
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/dnsPrivateZones_listByLocation.json
@@ -0,0 +1,48 @@
+{
+ "operationId": "DnsPrivateZones_listByLocation",
+ "title": "DnsPrivateZones_listByLocation",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "eastus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dnsPrivateZones/zone1",
+ "type": "Oracle.Database/locations/dnsPrivateZones",
+ "properties": {
+ "ocid": "zone-id-1",
+ "isProtected": false,
+ "lifecycleState": "Active",
+ "self": "https://api.example.com/zone1",
+ "serial": 12345,
+ "version": "1.0.0.0",
+ "viewId": "view-id-1",
+ "zoneType": "Primary",
+ "timeCreated": "2023-10-26T12:34:56Z"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dnsPrivateZones/zone2",
+ "type": "Oracle.Database/locations/dnsPrivateZones",
+ "properties": {
+ "ocid": "zone-id-2",
+ "isProtected": true,
+ "lifecycleState": "Creating",
+ "self": "https://api.example.com/zone2",
+ "serial": 54321,
+ "version": "2.0.0.0",
+ "viewId": "view-id-2",
+ "zoneType": "Secondary",
+ "timeCreated": "2023-10-27T09:45:00Z"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_addStorageCapacity.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_addStorageCapacity.json
new file mode 100644
index 000000000000..3d04a8453244
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_addStorageCapacity.json
@@ -0,0 +1,95 @@
+{
+ "operationId": "CloudExadataInfrastructures_addStorageCapacity",
+ "title": "CloudExadataInfrastructures_addStorageCapacity",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudexadatainfrastructurename": "infra1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1",
+ "type": "Oracle.Database/cloudExadataInfrastructures",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "ocid": "ocid1..aaaaaa",
+ "computeCount": 100,
+ "storageCount": 10,
+ "totalStorageSizeInGbs": 1000,
+ "availableStorageSizeInGbs": 1000,
+ "timeCreated": "2023-02-01T01:01:00",
+ "lifecycleDetails": "none",
+ "maintenanceWindow": {
+ "preference": "NoPreference",
+ "months": [
+ {
+ "name": "January"
+ }
+ ],
+ "weeksOfMonth": [
+ 0
+ ],
+ "daysOfWeek": [
+ {
+ "name": "Monday"
+ }
+ ],
+ "hoursOfDay": [
+ 0
+ ],
+ "leadTimeInWeeks": 0,
+ "patchingMode": "Rolling",
+ "customActionTimeoutInMins": 120,
+ "isCustomActionTimeoutEnabled": true,
+ "isMonthlyPatchingEnabled": true
+ },
+ "estimatedPatchingTime": {
+ "estimatedDbServerPatchingTime": 3000,
+ "estimatedNetworkSwitchesPatchingTime": 3000,
+ "estimatedStorageServerPatchingTime": 3000,
+ "totalEstimatedPatchingTime": 3000
+ },
+ "customerContacts": [
+ {
+ "email": "noreply@oracle.com"
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "shape": "EXADATA.X9M",
+ "ociUrl": "https://url",
+ "cpuCount": 10,
+ "maxCpuCount": 100,
+ "memorySizeInGbs": 100,
+ "maxMemoryInGbs": 1000,
+ "dbNodeStorageSizeInGbs": 10,
+ "maxDbNodeStorageSizeInGbs": 10,
+ "dataStorageSizeInTbs": 10,
+ "maxDataStorageInTbs": 1000,
+ "dbServerVersion": "19.0.0.0",
+ "storageServerVersion": "0.0",
+ "activatedStorageCount": 1,
+ "additionalStorageCount": 1,
+ "displayName": "infra 1",
+ "lastMaintenanceRunId": "ocid1..aaaaa",
+ "nextMaintenanceRunId": "ocid1..aaaaaa",
+ "monthlyDbServerVersion": "aaaa",
+ "monthlyStorageServerVersion": "aaaa"
+ },
+ "zones": [
+ "1"
+ ]
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 10000000,
+ "Location": "eastus"
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_create.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_create.json
new file mode 100644
index 000000000000..f7699d0b8f66
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_create.json
@@ -0,0 +1,184 @@
+{
+ "operationId": "CloudExadataInfrastructures_createOrUpdate",
+ "title": "CloudExadataInfrastructures_createOrUpdate",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudexadatainfrastructurename": "infra1",
+ "resource": {
+ "properties": {
+ "computeCount": 100,
+ "storageCount": 10,
+ "shape": "EXADATA.X9M",
+ "displayName": "infra 1"
+ },
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "zones": [
+ "1"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1",
+ "type": "Oracle.Database/cloudExadataInfrastructures",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "ocid": "ocid1..aaaaaa",
+ "computeCount": 100,
+ "storageCount": 10,
+ "totalStorageSizeInGbs": 1000,
+ "availableStorageSizeInGbs": 1000,
+ "timeCreated": "2023-02-01T01:01:00",
+ "lifecycleDetails": "none",
+ "maintenanceWindow": {
+ "preference": "NoPreference",
+ "months": [
+ {
+ "name": "January"
+ }
+ ],
+ "weeksOfMonth": [
+ 0
+ ],
+ "daysOfWeek": [
+ {
+ "name": "Monday"
+ }
+ ],
+ "hoursOfDay": [
+ 0
+ ],
+ "leadTimeInWeeks": 0,
+ "patchingMode": "Rolling",
+ "customActionTimeoutInMins": 120,
+ "isCustomActionTimeoutEnabled": true,
+ "isMonthlyPatchingEnabled": true
+ },
+ "estimatedPatchingTime": {
+ "estimatedDbServerPatchingTime": 3000,
+ "estimatedNetworkSwitchesPatchingTime": 3000,
+ "estimatedStorageServerPatchingTime": 3000,
+ "totalEstimatedPatchingTime": 3000
+ },
+ "customerContacts": [
+ {
+ "email": "noreply@oracle.com"
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "shape": "EXADATA.X9M",
+ "ociUrl": "https://url",
+ "cpuCount": 10,
+ "maxCpuCount": 100,
+ "memorySizeInGbs": 100,
+ "maxMemoryInGbs": 1000,
+ "dbNodeStorageSizeInGbs": 10,
+ "maxDbNodeStorageSizeInGbs": 10,
+ "dataStorageSizeInTbs": 10,
+ "maxDataStorageInTbs": 1000,
+ "dbServerVersion": "19.0.0.0",
+ "storageServerVersion": "0.0",
+ "activatedStorageCount": 1,
+ "additionalStorageCount": 1,
+ "displayName": "infra 1",
+ "lastMaintenanceRunId": "ocid1..aaaaa",
+ "nextMaintenanceRunId": "ocid1..aaaaaa",
+ "monthlyDbServerVersion": "aaaa",
+ "monthlyStorageServerVersion": "aaaa"
+ },
+ "zones": [
+ "1"
+ ]
+ }
+ },
+ "201": {
+ "headers": {
+ "Retry-After": 100000000
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1",
+ "type": "Oracle.Database/cloudExadataInfrastructures",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "ocid": "ocid1..aaaaaa",
+ "computeCount": 100,
+ "storageCount": 10,
+ "totalStorageSizeInGbs": 1000,
+ "availableStorageSizeInGbs": 1000,
+ "timeCreated": "2023-02-01T01:01:00",
+ "lifecycleDetails": "none",
+ "maintenanceWindow": {
+ "preference": "NoPreference",
+ "months": [
+ {
+ "name": "January"
+ }
+ ],
+ "weeksOfMonth": [
+ 0
+ ],
+ "daysOfWeek": [
+ {
+ "name": "Monday"
+ }
+ ],
+ "hoursOfDay": [
+ 0
+ ],
+ "leadTimeInWeeks": 0,
+ "patchingMode": "Rolling",
+ "customActionTimeoutInMins": 120,
+ "isCustomActionTimeoutEnabled": true,
+ "isMonthlyPatchingEnabled": true
+ },
+ "estimatedPatchingTime": {
+ "estimatedDbServerPatchingTime": 3000,
+ "estimatedNetworkSwitchesPatchingTime": 3000,
+ "estimatedStorageServerPatchingTime": 3000,
+ "totalEstimatedPatchingTime": 3000
+ },
+ "customerContacts": [
+ {
+ "email": "noreply@oracle.com"
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "shape": "EXADATA.X9M",
+ "ociUrl": "https://url",
+ "cpuCount": 10,
+ "maxCpuCount": 100,
+ "memorySizeInGbs": 100,
+ "maxMemoryInGbs": 1000,
+ "dbNodeStorageSizeInGbs": 10,
+ "maxDbNodeStorageSizeInGbs": 10,
+ "dataStorageSizeInTbs": 10,
+ "maxDataStorageInTbs": 1000,
+ "dbServerVersion": "19.0.0.0",
+ "storageServerVersion": "0.0",
+ "activatedStorageCount": 1,
+ "additionalStorageCount": 1,
+ "displayName": "infra 1",
+ "lastMaintenanceRunId": "ocid1..aaaaa",
+ "nextMaintenanceRunId": "ocid1..aaaaaa",
+ "monthlyDbServerVersion": "aaaa",
+ "monthlyStorageServerVersion": "aaaa"
+ },
+ "zones": [
+ "1"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_delete.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_delete.json
new file mode 100644
index 000000000000..1a603b9757e7
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_delete.json
@@ -0,0 +1,19 @@
+{
+ "operationId": "CloudExadataInfrastructures_delete",
+ "title": "CloudExadataInfrastructures_delete",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudexadatainfrastructurename": "infra1"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Retry-After": 10000000,
+ "Location": "eastus"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_get.json
new file mode 100644
index 000000000000..43d9d881581e
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_get.json
@@ -0,0 +1,89 @@
+{
+ "operationId": "CloudExadataInfrastructures_get",
+ "title": "CloudExadataInfrastructures_get",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudexadatainfrastructurename": "infra1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1",
+ "type": "Oracle.Database/cloudExadataInfrastructures",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "ocid": "ocid1..aaaaaa",
+ "computeCount": 100,
+ "storageCount": 10,
+ "totalStorageSizeInGbs": 1000,
+ "availableStorageSizeInGbs": 1000,
+ "timeCreated": "2023-02-01T01:01:00",
+ "lifecycleDetails": "none",
+ "maintenanceWindow": {
+ "preference": "NoPreference",
+ "months": [
+ {
+ "name": "January"
+ }
+ ],
+ "weeksOfMonth": [
+ 0
+ ],
+ "daysOfWeek": [
+ {
+ "name": "Monday"
+ }
+ ],
+ "hoursOfDay": [
+ 0
+ ],
+ "leadTimeInWeeks": 0,
+ "patchingMode": "Rolling",
+ "customActionTimeoutInMins": 120,
+ "isCustomActionTimeoutEnabled": true,
+ "isMonthlyPatchingEnabled": true
+ },
+ "estimatedPatchingTime": {
+ "estimatedDbServerPatchingTime": 3000,
+ "estimatedNetworkSwitchesPatchingTime": 3000,
+ "estimatedStorageServerPatchingTime": 3000,
+ "totalEstimatedPatchingTime": 3000
+ },
+ "customerContacts": [
+ {
+ "email": "noreply@oracle.com"
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "shape": "EXADATA.X9M",
+ "ociUrl": "https://url",
+ "cpuCount": 10,
+ "maxCpuCount": 100,
+ "memorySizeInGbs": 100,
+ "maxMemoryInGbs": 1000,
+ "dbNodeStorageSizeInGbs": 10,
+ "maxDbNodeStorageSizeInGbs": 10,
+ "dataStorageSizeInTbs": 10,
+ "maxDataStorageInTbs": 1000,
+ "dbServerVersion": "19.0.0.0",
+ "storageServerVersion": "0.0",
+ "activatedStorageCount": 1,
+ "additionalStorageCount": 1,
+ "displayName": "infra 1",
+ "lastMaintenanceRunId": "ocid1..aaaaa",
+ "nextMaintenanceRunId": "ocid1..aaaaaa",
+ "monthlyDbServerVersion": "aaaa",
+ "monthlyStorageServerVersion": "aaaa"
+ },
+ "zones": [
+ "1"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_listByResourceGroup.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_listByResourceGroup.json
new file mode 100644
index 000000000000..26bf4cbe7adf
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_listByResourceGroup.json
@@ -0,0 +1,93 @@
+{
+ "operationId": "CloudExadataInfrastructures_listByResourceGroup",
+ "title": "CloudExadataInfrastructures_listByResourceGroup",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1",
+ "type": "Oracle.Database/cloudExadataInfrastructures",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "ocid": "ocid1..aaaaaa",
+ "computeCount": 100,
+ "storageCount": 10,
+ "totalStorageSizeInGbs": 1000,
+ "availableStorageSizeInGbs": 1000,
+ "timeCreated": "2023-02-01T01:01:00",
+ "lifecycleDetails": "none",
+ "maintenanceWindow": {
+ "preference": "NoPreference",
+ "months": [
+ {
+ "name": "January"
+ }
+ ],
+ "weeksOfMonth": [
+ 0
+ ],
+ "daysOfWeek": [
+ {
+ "name": "Monday"
+ }
+ ],
+ "hoursOfDay": [
+ 0
+ ],
+ "leadTimeInWeeks": 0,
+ "patchingMode": "Rolling",
+ "customActionTimeoutInMins": 120,
+ "isCustomActionTimeoutEnabled": true,
+ "isMonthlyPatchingEnabled": true
+ },
+ "estimatedPatchingTime": {
+ "estimatedDbServerPatchingTime": 3000,
+ "estimatedNetworkSwitchesPatchingTime": 3000,
+ "estimatedStorageServerPatchingTime": 3000,
+ "totalEstimatedPatchingTime": 3000
+ },
+ "customerContacts": [
+ {
+ "email": "noreply@oracle.com"
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "shape": "EXADATA.X9M",
+ "ociUrl": "https://url",
+ "cpuCount": 10,
+ "maxCpuCount": 100,
+ "memorySizeInGbs": 100,
+ "maxMemoryInGbs": 1000,
+ "dbNodeStorageSizeInGbs": 10,
+ "maxDbNodeStorageSizeInGbs": 10,
+ "dataStorageSizeInTbs": 10,
+ "maxDataStorageInTbs": 1000,
+ "dbServerVersion": "19.0.0.0",
+ "storageServerVersion": "0.0",
+ "activatedStorageCount": 1,
+ "additionalStorageCount": 1,
+ "displayName": "infra 1",
+ "lastMaintenanceRunId": "ocid1..aaaaa",
+ "nextMaintenanceRunId": "ocid1..aaaaaa",
+ "monthlyDbServerVersion": "aaaa",
+ "monthlyStorageServerVersion": "aaaa"
+ },
+ "zones": [
+ "1"
+ ]
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_listBySubscription.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_listBySubscription.json
new file mode 100644
index 000000000000..e734d16fcdee
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_listBySubscription.json
@@ -0,0 +1,92 @@
+{
+ "operationId": "CloudExadataInfrastructures_listBySubscription",
+ "title": "CloudExadataInfrastructures_listBySubscription",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1",
+ "type": "Oracle.Database/cloudExadataInfrastructures",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "ocid": "ocid1..aaaaaa",
+ "computeCount": 100,
+ "storageCount": 10,
+ "totalStorageSizeInGbs": 1000,
+ "availableStorageSizeInGbs": 1000,
+ "timeCreated": "2023-02-01T01:01:00",
+ "lifecycleDetails": "none",
+ "maintenanceWindow": {
+ "preference": "NoPreference",
+ "months": [
+ {
+ "name": "January"
+ }
+ ],
+ "weeksOfMonth": [
+ 0
+ ],
+ "daysOfWeek": [
+ {
+ "name": "Monday"
+ }
+ ],
+ "hoursOfDay": [
+ 0
+ ],
+ "leadTimeInWeeks": 0,
+ "patchingMode": "Rolling",
+ "customActionTimeoutInMins": 120,
+ "isCustomActionTimeoutEnabled": true,
+ "isMonthlyPatchingEnabled": true
+ },
+ "estimatedPatchingTime": {
+ "estimatedDbServerPatchingTime": 3000,
+ "estimatedNetworkSwitchesPatchingTime": 3000,
+ "estimatedStorageServerPatchingTime": 3000,
+ "totalEstimatedPatchingTime": 3000
+ },
+ "customerContacts": [
+ {
+ "email": "noreply@oracle.com"
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "shape": "EXADATA.X9M",
+ "ociUrl": "https://url",
+ "cpuCount": 10,
+ "maxCpuCount": 100,
+ "memorySizeInGbs": 100,
+ "maxMemoryInGbs": 1000,
+ "dbNodeStorageSizeInGbs": 10,
+ "maxDbNodeStorageSizeInGbs": 10,
+ "dataStorageSizeInTbs": 10,
+ "maxDataStorageInTbs": 1000,
+ "dbServerVersion": "19.0.0.0",
+ "storageServerVersion": "0.0",
+ "activatedStorageCount": 1,
+ "additionalStorageCount": 1,
+ "displayName": "infra 1",
+ "lastMaintenanceRunId": "ocid1..aaaaa",
+ "nextMaintenanceRunId": "ocid1..aaaaaa",
+ "monthlyDbServerVersion": "aaaa",
+ "monthlyStorageServerVersion": "aaaa"
+ },
+ "zones": [
+ "1"
+ ]
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_patch.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_patch.json
new file mode 100644
index 000000000000..0d416f6de7e5
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/exaInfra_patch.json
@@ -0,0 +1,102 @@
+{
+ "operationId": "CloudExadataInfrastructures_update",
+ "title": "CloudExadataInfrastructures_update",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudexadatainfrastructurename": "infra1",
+ "properties": {},
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "zones": [
+ "1"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1",
+ "type": "Oracle.Database/cloudExadataInfrastructures",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "ocid": "ocid1..aaaaaa",
+ "computeCount": 100,
+ "storageCount": 10,
+ "totalStorageSizeInGbs": 1000,
+ "availableStorageSizeInGbs": 1000,
+ "timeCreated": "2023-02-01T01:01:00",
+ "lifecycleDetails": "none",
+ "maintenanceWindow": {
+ "preference": "NoPreference",
+ "months": [
+ {
+ "name": "January"
+ }
+ ],
+ "weeksOfMonth": [
+ 0
+ ],
+ "daysOfWeek": [
+ {
+ "name": "Monday"
+ }
+ ],
+ "hoursOfDay": [
+ 0
+ ],
+ "leadTimeInWeeks": 0,
+ "patchingMode": "Rolling",
+ "customActionTimeoutInMins": 120,
+ "isCustomActionTimeoutEnabled": true,
+ "isMonthlyPatchingEnabled": true
+ },
+ "estimatedPatchingTime": {
+ "estimatedDbServerPatchingTime": 3000,
+ "estimatedNetworkSwitchesPatchingTime": 3000,
+ "estimatedStorageServerPatchingTime": 3000,
+ "totalEstimatedPatchingTime": 3000
+ },
+ "customerContacts": [
+ {
+ "email": "noreply@oracle.com"
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "shape": "EXADATA.X9M",
+ "ociUrl": "https://url",
+ "cpuCount": 10,
+ "maxCpuCount": 100,
+ "memorySizeInGbs": 100,
+ "maxMemoryInGbs": 1000,
+ "dbNodeStorageSizeInGbs": 10,
+ "maxDbNodeStorageSizeInGbs": 10,
+ "dataStorageSizeInTbs": 10,
+ "maxDataStorageInTbs": 1000,
+ "dbServerVersion": "19.0.0.0",
+ "storageServerVersion": "0.0",
+ "activatedStorageCount": 1,
+ "additionalStorageCount": 1,
+ "displayName": "infra 1",
+ "lastMaintenanceRunId": "ocid1..aaaaa",
+ "nextMaintenanceRunId": "ocid1..aaaaaa",
+ "monthlyDbServerVersion": "aaaa",
+ "monthlyStorageServerVersion": "aaaa"
+ },
+ "zones": [
+ "1"
+ ]
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 10000000,
+ "Location": "eastus"
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/giVersions_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/giVersions_get.json
new file mode 100644
index 000000000000..6179e07cd607
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/giVersions_get.json
@@ -0,0 +1,21 @@
+{
+ "operationId": "GiVersions_get",
+ "title": "GiVersions_get",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "eastus",
+ "giversionname": "19.0.0.0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/giVersions/19.0.0.0",
+ "type": "Oracle.Database/locations/giVersions",
+ "properties": {
+ "version": "19.0.0.0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/giVersions_listByLocation.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/giVersions_listByLocation.json
new file mode 100644
index 000000000000..3fa00083d048
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/giVersions_listByLocation.json
@@ -0,0 +1,25 @@
+{
+ "operationId": "GiVersions_listByLocation",
+ "title": "GiVersions_listByLocation",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "eastus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/giVersions/19.0.0.0",
+ "type": "Oracle.Database/locations/giVersions",
+ "properties": {
+ "version": "19.0.0.0"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/operations_list.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/operations_list.json
new file mode 100644
index 000000000000..1b7dcaa8a17a
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/operations_list.json
@@ -0,0 +1,25 @@
+{
+ "operationId": "Operations_list",
+ "title": "Operations_list",
+ "parameters": {
+ "api-version": "2023-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Oracle.Database/cloudExadataInfrastructures/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Oracle.Database",
+ "resource": "cloudExadataInfrastructures",
+ "operation": "Get/list Exadata Infrastructure resources",
+ "description": "Reads Exadata Infrastructure"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_create.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_create.json
new file mode 100644
index 000000000000..9c2c825bbd1a
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_create.json
@@ -0,0 +1,56 @@
+{
+ "operationId": "OracleSubscriptions_createOrUpdate",
+ "title": "OracleSubscriptions_createOrUpdate",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resource": {
+ "properties": {},
+ "plan": {
+ "name": "plan1",
+ "publisher": "publisher1",
+ "product": "product1",
+ "promotionCode": "none",
+ "version": "alpha"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/oracleSubscriptions/default",
+ "type": "Oracle.Database/oracleSubscriptions",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "saasSubscriptionId": "saas1",
+ "cloudAccountId": "ocid1..aaaaaa",
+ "cloudAccountState": "Pending"
+ },
+ "plan": {
+ "name": "plan1",
+ "publisher": "publisher1",
+ "product": "product1",
+ "promotionCode": "none",
+ "version": "alpha"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "Retry-After": 100000000
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/oracleSubscriptions/default",
+ "type": "Oracle.Database/oracleSubscriptions",
+ "properties": {},
+ "plan": {
+ "name": "plan1",
+ "publisher": "publisher1",
+ "product": "product1",
+ "promotionCode": "none",
+ "version": "alpha"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_delete.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_delete.json
new file mode 100644
index 000000000000..8cbd3f41ad03
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_delete.json
@@ -0,0 +1,17 @@
+{
+ "operationId": "OracleSubscriptions_delete",
+ "title": "OracleSubscriptions_delete",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Retry-After": 10000000,
+ "Location": "eastus"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_get.json
new file mode 100644
index 000000000000..2e9ab0c177bf
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_get.json
@@ -0,0 +1,29 @@
+{
+ "operationId": "OracleSubscriptions_get",
+ "title": "OracleSubscriptions_get",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/oracleSubscriptions/default",
+ "type": "Oracle.Database/oracleSubscriptions",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "saasSubscriptionId": "saas1",
+ "cloudAccountId": "ocid1..aaaaaa",
+ "cloudAccountState": "Pending"
+ },
+ "plan": {
+ "name": "plan1",
+ "publisher": "publisher1",
+ "product": "product1",
+ "promotionCode": "none",
+ "version": "alpha"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_listActivationLinks.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_listActivationLinks.json
new file mode 100644
index 000000000000..0a64b6a1434e
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_listActivationLinks.json
@@ -0,0 +1,22 @@
+{
+ "operationId": "OracleSubscriptions_listActivationLinks",
+ "title": "OracleSubscriptions_listActivationLinks",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "newCloudAccountActivationLink": "https://new-tenancy-activation-link",
+ "existingCloudAccountActivationLink": "https://existing-tenancy-activation-link"
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 10000000,
+ "Location": "eastus"
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_listBySubscription.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_listBySubscription.json
new file mode 100644
index 000000000000..241c0939cd74
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_listBySubscription.json
@@ -0,0 +1,34 @@
+{
+ "operationId": "OracleSubscriptions_listBySubscription",
+ "title": "OracleSubscriptions_listBySubscription",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/oracleSubscriptions/default",
+ "type": "Oracle.Database/oracleSubscriptions",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "saasSubscriptionId": "saas1",
+ "cloudAccountId": "ocid1..aaaaaa",
+ "cloudAccountState": "Pending"
+ },
+ "plan": {
+ "name": "plan1",
+ "publisher": "publisher1",
+ "product": "product1",
+ "promotionCode": "none",
+ "version": "alpha"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_listCloudAccountDetails.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_listCloudAccountDetails.json
new file mode 100644
index 000000000000..25cb82413da0
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_listCloudAccountDetails.json
@@ -0,0 +1,22 @@
+{
+ "operationId": "OracleSubscriptions_listCloudAccountDetails",
+ "title": "OracleSubscriptions_listCloudAccountDetails",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "cloudAccountName": "Cloud Account",
+ "cloudAccountHomeRegion": "East US"
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 10000000,
+ "Location": "eastus"
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_listSaasSubscriptionDetails.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_listSaasSubscriptionDetails.json
new file mode 100644
index 000000000000..a4a6c030dbf2
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_listSaasSubscriptionDetails.json
@@ -0,0 +1,32 @@
+{
+ "operationId": "OracleSubscriptions_listSaasSubscriptionDetails",
+ "title": "OracleSubscriptions_listSaasSubscriptionDetails",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "1234567890",
+ "subscriptionName": "Oracle",
+ "timeCreated": "2022-03-07T00:00:00Z",
+ "offerId": "offer1",
+ "planId": "silver",
+ "saasSubscriptionStatus": "PendingFulfillmentStart",
+ "publisherId": "Oracle",
+ "purchaserEmailId": "test@test.com",
+ "purchaserTenantId": "1234567890",
+ "termUnit": "P1M",
+ "isAutoRenew": true,
+ "isFreeTrial": false
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 10000000,
+ "Location": "eastus"
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_patch.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_patch.json
new file mode 100644
index 000000000000..bb6419ded628
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/oracleSubscriptions_patch.json
@@ -0,0 +1,43 @@
+{
+ "operationId": "OracleSubscriptions_update",
+ "title": "OracleSubscriptions_update",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "properties": {},
+ "plan": {
+ "name": "plan1",
+ "publisher": "publisher1",
+ "product": "product1",
+ "promotionCode": "none",
+ "version": "alpha"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/oracleSubscriptions/default",
+ "type": "Oracle.Database/oracleSubscriptions",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "saasSubscriptionId": "saas1",
+ "cloudAccountId": "ocid1..aaaaaa",
+ "cloudAccountState": "Pending"
+ },
+ "plan": {
+ "name": "plan1",
+ "publisher": "publisher1",
+ "product": "product1",
+ "promotionCode": "none",
+ "version": "alpha"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 10000000,
+ "Location": "eastus"
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/systemVersions_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/systemVersions_get.json
new file mode 100644
index 000000000000..c4313c80653d
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/systemVersions_get.json
@@ -0,0 +1,20 @@
+{
+ "operationId": "SystemVersions_Get",
+ "title": "systemVersions_listSystemVersions",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "eastus",
+ "systemversionname": "22.x"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/systemVersion/22.1.7.0.0.230113",
+ "properties": {
+ "systemVersion": "22.1.7.0.0.230113"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/systemVersions_listByLocation.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/systemVersions_listByLocation.json
new file mode 100644
index 000000000000..82998fab4b3a
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/systemVersions_listByLocation.json
@@ -0,0 +1,24 @@
+{
+ "operationId": "SystemVersions_ListByLocation",
+ "title": "systemVersions_listByLocation",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "eastus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/systemVersion/22.1.7.0.0.230113",
+ "properties": {
+ "systemVersion": "22.1.7.0.0.230113"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/virtualNetworkAddresses_create.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/virtualNetworkAddresses_create.json
new file mode 100644
index 000000000000..18fb92433686
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/virtualNetworkAddresses_create.json
@@ -0,0 +1,48 @@
+{
+ "operationId": "VirtualNetworkAddresses_createOrUpdate",
+ "title": "VirtualNetworkAddresses_createOrUpdate",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudvmclustername": "cluster1",
+ "virtualnetworkaddressname": "hostname1",
+ "resource": {
+ "properties": {
+ "ipAddress": "192.168.0.1",
+ "vmOcid": "ocid1..aaaa"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1/virtualNetworkAddresses/hostname1",
+ "type": "Oracle.Database/cloudVmClusters/virtualNetworkAddresses",
+ "properties": {
+ "ipAddress": "192.168.0.1",
+ "vmOcid": "ocid1..aaaa",
+ "ocid": "ocid1..aaaaaa",
+ "domain": "domain1",
+ "lifecycleDetails": "success",
+ "provisioningState": "Succeeded",
+ "lifecycleState": "Available",
+ "timeAssigned": "2023-10-22T00:27:02.119Z"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "Retry-After": 100000000
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1",
+ "type": "Oracle.Database/cloudExadataInfrastructures",
+ "properties": {
+ "ipAddress": "192.168.0.1",
+ "vmOcid": "ocid1..aaaa"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/virtualNetworkAddresses_delete.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/virtualNetworkAddresses_delete.json
new file mode 100644
index 000000000000..0d618107426e
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/virtualNetworkAddresses_delete.json
@@ -0,0 +1,20 @@
+{
+ "operationId": "VirtualNetworkAddresses_delete",
+ "title": "VirtualNetworkAddresses_delete",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudvmclustername": "cluster1",
+ "virtualnetworkaddressname": "hostname1"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Retry-After": 10000000,
+ "Location": "eastus"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/virtualNetworkAddresses_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/virtualNetworkAddresses_get.json
new file mode 100644
index 000000000000..d9ddb1b2ee39
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/virtualNetworkAddresses_get.json
@@ -0,0 +1,29 @@
+{
+ "operationId": "VirtualNetworkAddresses_get",
+ "title": "VirtualNetworkAddresses_get",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudvmclustername": "cluster1",
+ "virtualnetworkaddressname": "hostname1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1/virtualNetworkAddresses/hostname1",
+ "type": "Oracle.Database/cloudVmClusters/virtualNetworkAddresses",
+ "properties": {
+ "ipAddress": "192.168.0.1",
+ "vmOcid": "ocid1..aaaa",
+ "ocid": "ocid1..aaaaaa",
+ "domain": "domain1",
+ "lifecycleDetails": "success",
+ "provisioningState": "Succeeded",
+ "lifecycleState": "Available",
+ "timeAssigned": "2023-10-22T00:27:02.119Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/virtualNetworkAddresses_listByParent.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/virtualNetworkAddresses_listByParent.json
new file mode 100644
index 000000000000..72a9e47fa4dc
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/virtualNetworkAddresses_listByParent.json
@@ -0,0 +1,33 @@
+{
+ "operationId": "VirtualNetworkAddresses_listByCloudVmCluster",
+ "title": "VirtualNetworkAddresses_listByCloudVmCluster",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudvmclustername": "cluster1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1/virtualNetworkAddresses/hostname1",
+ "type": "Oracle.Database/cloudVmClusters/virtualNetworkAddresses",
+ "properties": {
+ "ipAddress": "192.168.0.1",
+ "vmOcid": "ocid1..aaaa",
+ "ocid": "ocid1..aaaaaa",
+ "domain": "domain1",
+ "lifecycleDetails": "success",
+ "provisioningState": "Succeeded",
+ "lifecycleState": "Available",
+ "timeAssigned": "2023-10-22T00:27:02.119Z"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_addVms.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_addVms.json
new file mode 100644
index 000000000000..a57af269ee8b
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_addVms.json
@@ -0,0 +1,102 @@
+{
+ "operationId": "CloudVmClusters_addVms",
+ "title": "CloudVmClusters_addVms",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudvmclustername": "cluster1",
+ "body": {
+ "dbServers": [
+ "ocid1..aaaa",
+ "ocid1..aaaaaa"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1",
+ "type": "Oracle.Database/cloudVmClusters",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "ocid": "ocid1..aaaa",
+ "listenerPort": 1050,
+ "nodeCount": 100,
+ "storageSizeInGbs": 1000,
+ "dataStorageSizeInTbs": 10,
+ "dbNodeStorageSizeInGbs": 100,
+ "memorySizeInGbs": 1000,
+ "timeCreated": "2023-10-22T02:18:35.683Z",
+ "lifecycleDetails": "success",
+ "timeZone": "UTC",
+ "zoneId": "ocid1..aaaa",
+ "hostname": "hostname1",
+ "domain": "domain1",
+ "cpuCoreCount": 10,
+ "ocpuCount": 100,
+ "clusterName": "cluster1",
+ "dataStoragePercentage": 80,
+ "isLocalBackupEnabled": false,
+ "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1",
+ "isSparseDiskgroupEnabled": false,
+ "sshPublicKeys": [
+ "ssh-key 1"
+ ],
+ "licenseModel": "LicenseIncluded",
+ "scanListenerPortTcp": 1050,
+ "scanListenerPortTcpSsl": 1025,
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "giVersion": "19.0.0.0",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "systemVersion": "v1",
+ "diskRedundancy": "High",
+ "scanIpIds": [
+ "10.0.0.1"
+ ],
+ "vipIds": [
+ "10.0.1.3"
+ ],
+ "scanDnsName": "dbdns1",
+ "scanDnsRecordId": "scandns1",
+ "shape": "EXADATA.X9M",
+ "provisioningState": "Succeeded",
+ "ociUrl": "https://fake",
+ "dataCollectionOptions": {
+ "isDiagnosticsEventsEnabled": false,
+ "isHealthMonitoringEnabled": false,
+ "isIncidentLogsEnabled": false
+ },
+ "displayName": "cluster 1",
+ "iormConfigCache": {
+ "dbPlans": [
+ {
+ "dbName": "db1",
+ "flashCacheLimit": "none",
+ "share": 32
+ }
+ ],
+ "lifecycleDetails": "Disabled",
+ "lifecycleState": "Disabled",
+ "objective": "LowLatency"
+ },
+ "lastUpdateHistoryEntryId": "none",
+ "dbServers": [
+ "ocid1..aaaa"
+ ],
+ "compartmentId": "ocid1..aaaaaa",
+ "subnetOcid": "ocid1..aaaaaa"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 10000000,
+ "Location": "eastus"
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_create.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_create.json
new file mode 100644
index 000000000000..647a5a79dbe9
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_create.json
@@ -0,0 +1,224 @@
+{
+ "operationId": "CloudVmClusters_createOrUpdate",
+ "title": "CloudVmClusters_createOrUpdate",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudvmclustername": "cluster1",
+ "resource": {
+ "properties": {
+ "dataStorageSizeInTbs": 1000,
+ "dbNodeStorageSizeInGbs": 1000,
+ "memorySizeInGbs": 1000,
+ "timeZone": "UTC",
+ "hostname": "hostname1",
+ "domain": "domain1",
+ "cpuCoreCount": 2,
+ "ocpuCount": 3,
+ "clusterName": "cluster1",
+ "dataStoragePercentage": 100,
+ "isLocalBackupEnabled": false,
+ "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1",
+ "isSparseDiskgroupEnabled": false,
+ "sshPublicKeys": [
+ "ssh-key 1"
+ ],
+ "nsgCidrs": [
+ {
+ "source": "10.0.0.0/16",
+ "destinationPortRange": {
+ "min": 1520,
+ "max": 1522
+ }
+ },
+ {
+ "source": "10.10.0.0/24"
+ }
+ ],
+ "licenseModel": "LicenseIncluded",
+ "scanListenerPortTcp": 1050,
+ "scanListenerPortTcpSsl": 1025,
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "giVersion": "19.0.0.0",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "backupSubnetCidr": "172.17.5.0/24",
+ "dataCollectionOptions": {
+ "isDiagnosticsEventsEnabled": false,
+ "isHealthMonitoringEnabled": false,
+ "isIncidentLogsEnabled": false
+ },
+ "displayName": "cluster 1",
+ "dbServers": [
+ "ocid1..aaaa"
+ ]
+ },
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1",
+ "type": "Oracle.Database/cloudVmClusters",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "ocid": "ocid1..aaaa",
+ "listenerPort": 1050,
+ "nodeCount": 100,
+ "storageSizeInGbs": 1000,
+ "dataStorageSizeInTbs": 10,
+ "dbNodeStorageSizeInGbs": 100,
+ "memorySizeInGbs": 1000,
+ "timeCreated": "2023-10-22T02:18:35.683Z",
+ "lifecycleDetails": "success",
+ "timeZone": "UTC",
+ "zoneId": "ocid1..aaaa",
+ "hostname": "hostname1",
+ "domain": "domain1",
+ "cpuCoreCount": 10,
+ "ocpuCount": 100,
+ "clusterName": "cluster1",
+ "dataStoragePercentage": 80,
+ "isLocalBackupEnabled": false,
+ "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1",
+ "isSparseDiskgroupEnabled": false,
+ "sshPublicKeys": [
+ "ssh-key 1"
+ ],
+ "licenseModel": "LicenseIncluded",
+ "scanListenerPortTcp": 1050,
+ "scanListenerPortTcpSsl": 1025,
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "giVersion": "19.0.0.0",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "backupSubnetCidr": "172.17.5.0/24",
+ "systemVersion": "v1",
+ "diskRedundancy": "High",
+ "scanIpIds": [
+ "10.0.0.1"
+ ],
+ "vipIds": [
+ "10.0.1.3"
+ ],
+ "scanDnsName": "dbdns1",
+ "scanDnsRecordId": "scandns1",
+ "shape": "EXADATA.X9M",
+ "provisioningState": "Succeeded",
+ "ociUrl": "https://fake",
+ "dataCollectionOptions": {
+ "isDiagnosticsEventsEnabled": false,
+ "isHealthMonitoringEnabled": false,
+ "isIncidentLogsEnabled": false
+ },
+ "displayName": "cluster 1",
+ "iormConfigCache": {
+ "dbPlans": [
+ {
+ "dbName": "db1",
+ "flashCacheLimit": "none",
+ "share": 32
+ }
+ ],
+ "lifecycleDetails": "Disabled",
+ "lifecycleState": "Disabled",
+ "objective": "LowLatency"
+ },
+ "lastUpdateHistoryEntryId": "none",
+ "dbServers": [
+ "ocid1..aaaa"
+ ],
+ "compartmentId": "ocid1..aaaaaa",
+ "subnetOcid": "ocid1..aaaaaa"
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "Retry-After": 100000000
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1",
+ "type": "Oracle.Database/cloudVmClusters",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "listenerPort": 1050,
+ "nodeCount": 100,
+ "storageSizeInGbs": 1000,
+ "dataStorageSizeInTbs": 10,
+ "dbNodeStorageSizeInGbs": 100,
+ "memorySizeInGbs": 1000,
+ "timeCreated": "2023-10-22T02:18:35.683Z",
+ "lifecycleDetails": "success",
+ "timeZone": "UTC",
+ "zoneId": "ocid1..aaaa",
+ "hostname": "hostname1",
+ "domain": "domain1",
+ "cpuCoreCount": 10,
+ "ocpuCount": 100,
+ "clusterName": "cluster1",
+ "dataStoragePercentage": 80,
+ "isLocalBackupEnabled": false,
+ "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1",
+ "isSparseDiskgroupEnabled": false,
+ "sshPublicKeys": [
+ "ssh-key 1"
+ ],
+ "licenseModel": "LicenseIncluded",
+ "scanListenerPortTcp": 1050,
+ "scanListenerPortTcpSsl": 1025,
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "giVersion": "19.0.0.0",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "backupSubnetCidr": "172.17.5.0/24",
+ "systemVersion": "v1",
+ "diskRedundancy": "High",
+ "scanIpIds": [
+ "10.0.0.1"
+ ],
+ "vipIds": [
+ "10.0.1.3"
+ ],
+ "scanDnsName": "dbdns1",
+ "scanDnsRecordId": "scandns1",
+ "shape": "EXADATA.X9M",
+ "provisioningState": "Succeeded",
+ "ociUrl": "https://fake",
+ "dataCollectionOptions": {
+ "isDiagnosticsEventsEnabled": false,
+ "isHealthMonitoringEnabled": false,
+ "isIncidentLogsEnabled": false
+ },
+ "displayName": "cluster 1",
+ "iormConfigCache": {
+ "dbPlans": [
+ {
+ "dbName": "db1",
+ "flashCacheLimit": "none",
+ "share": 32
+ }
+ ],
+ "lifecycleDetails": "BootStrapping",
+ "lifecycleState": "BootStrapping",
+ "objective": "LowLatency"
+ },
+ "lastUpdateHistoryEntryId": "none",
+ "dbServers": [
+ "ocid1..aaaa"
+ ],
+ "compartmentId": "ocid1..aaaaaa",
+ "subnetOcid": "ocid1..aaaaaa"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_delete.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_delete.json
new file mode 100644
index 000000000000..733197e4a5b2
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_delete.json
@@ -0,0 +1,19 @@
+{
+ "operationId": "CloudVmClusters_delete",
+ "title": "CloudVmClusters_delete",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudvmclustername": "cluster1"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Retry-After": 10000000,
+ "Location": "eastus"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_get.json
new file mode 100644
index 000000000000..af68d767155d
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_get.json
@@ -0,0 +1,104 @@
+{
+ "operationId": "CloudVmClusters_get",
+ "title": "CloudVmClusters_get",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudvmclustername": "cluster1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1",
+ "type": "Oracle.Database/cloudVmClusters",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "ocid": "ocid1..aaaa",
+ "listenerPort": 1050,
+ "nodeCount": 100,
+ "storageSizeInGbs": 1000,
+ "dataStorageSizeInTbs": 10,
+ "dbNodeStorageSizeInGbs": 100,
+ "memorySizeInGbs": 1000,
+ "timeCreated": "2023-10-22T02:18:35.683Z",
+ "lifecycleDetails": "success",
+ "timeZone": "UTC",
+ "zoneId": "ocid1..aaaa",
+ "hostname": "hostname1",
+ "domain": "domain1",
+ "cpuCoreCount": 10,
+ "ocpuCount": 100,
+ "clusterName": "cluster1",
+ "dataStoragePercentage": 80,
+ "isLocalBackupEnabled": false,
+ "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1",
+ "isSparseDiskgroupEnabled": false,
+ "sshPublicKeys": [
+ "ssh-key 1"
+ ],
+ "nsgCidrs": [
+ {
+ "source": "10.0.0.0/16",
+ "destinationPortRange": {
+ "min": 1520,
+ "max": 1522
+ }
+ },
+ {
+ "source": "10.10.0.0/24"
+ }
+ ],
+ "licenseModel": "LicenseIncluded",
+ "scanListenerPortTcp": 1050,
+ "scanListenerPortTcpSsl": 1025,
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "giVersion": "19.0.0.0",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "backupSubnetCidr": "172.17.5.0/24",
+ "systemVersion": "v1",
+ "diskRedundancy": "High",
+ "scanIpIds": [
+ "10.0.0.1"
+ ],
+ "vipIds": [
+ "10.0.1.3"
+ ],
+ "scanDnsName": "dbdns1",
+ "scanDnsRecordId": "scandns1",
+ "shape": "EXADATA.X9M",
+ "provisioningState": "Succeeded",
+ "ociUrl": "https://fake",
+ "nsgUrl": "https://fake",
+ "dataCollectionOptions": {
+ "isDiagnosticsEventsEnabled": false,
+ "isHealthMonitoringEnabled": false,
+ "isIncidentLogsEnabled": false
+ },
+ "displayName": "cluster 1",
+ "iormConfigCache": {
+ "dbPlans": [
+ {
+ "dbName": "db1",
+ "flashCacheLimit": "none",
+ "share": 32
+ }
+ ],
+ "lifecycleDetails": "Disabled",
+ "lifecycleState": "Disabled",
+ "objective": "LowLatency"
+ },
+ "lastUpdateHistoryEntryId": "none",
+ "dbServers": [
+ "ocid1..aaaa"
+ ],
+ "compartmentId": "ocid1..aaaaaa",
+ "subnetOcid": "ocid1..aaaaaa"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_listByResourceGroup.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_listByResourceGroup.json
new file mode 100644
index 000000000000..234dd768ca1e
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_listByResourceGroup.json
@@ -0,0 +1,95 @@
+{
+ "operationId": "CloudVmClusters_listByResourceGroup",
+ "title": "CloudVmClusters_listByResourceGroup",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1",
+ "type": "Oracle.Database/cloudVmClusters",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "ocid": "ocid1..aaaa",
+ "listenerPort": 1050,
+ "nodeCount": 100,
+ "storageSizeInGbs": 1000,
+ "dataStorageSizeInTbs": 10,
+ "dbNodeStorageSizeInGbs": 100,
+ "memorySizeInGbs": 1000,
+ "timeCreated": "2023-10-22T02:18:35.683Z",
+ "lifecycleDetails": "success",
+ "timeZone": "UTC",
+ "zoneId": "ocid1..aaaa",
+ "hostname": "hostname1",
+ "domain": "domain1",
+ "cpuCoreCount": 10,
+ "ocpuCount": 100,
+ "clusterName": "cluster1",
+ "dataStoragePercentage": 80,
+ "isLocalBackupEnabled": false,
+ "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1",
+ "isSparseDiskgroupEnabled": false,
+ "sshPublicKeys": [
+ "ssh-key 1"
+ ],
+ "licenseModel": "LicenseIncluded",
+ "scanListenerPortTcp": 1050,
+ "scanListenerPortTcpSsl": 1025,
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "giVersion": "19.0.0.0",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "backupSubnetCidr": "172.17.5.0/24",
+ "systemVersion": "v1",
+ "diskRedundancy": "High",
+ "scanIpIds": [
+ "10.0.0.1"
+ ],
+ "vipIds": [
+ "10.0.1.3"
+ ],
+ "scanDnsName": "dbdns1",
+ "scanDnsRecordId": "scandns1",
+ "shape": "EXADATA.X9M",
+ "provisioningState": "Succeeded",
+ "ociUrl": "https://fake",
+ "dataCollectionOptions": {
+ "isDiagnosticsEventsEnabled": false,
+ "isHealthMonitoringEnabled": false,
+ "isIncidentLogsEnabled": false
+ },
+ "displayName": "cluster 1",
+ "iormConfigCache": {
+ "dbPlans": [
+ {
+ "dbName": "db1",
+ "flashCacheLimit": "none",
+ "share": 32
+ }
+ ],
+ "lifecycleDetails": "Disabled",
+ "lifecycleState": "Disabled",
+ "objective": "LowLatency"
+ },
+ "lastUpdateHistoryEntryId": "none",
+ "dbServers": [
+ "ocid1..aaaa"
+ ],
+ "compartmentId": "ocid1..aaaaaa",
+ "subnetOcid": "ocid1..aaaaaa"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_listBySubscription.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_listBySubscription.json
new file mode 100644
index 000000000000..13a02f4821e1
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_listBySubscription.json
@@ -0,0 +1,94 @@
+{
+ "operationId": "CloudVmClusters_listBySubscription",
+ "title": "CloudVmClusters_listBySubscription",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1",
+ "type": "Oracle.Database/cloudVmClusters",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "ocid": "ocid1..aaaa",
+ "listenerPort": 1050,
+ "nodeCount": 100,
+ "storageSizeInGbs": 1000,
+ "dataStorageSizeInTbs": 10,
+ "dbNodeStorageSizeInGbs": 100,
+ "memorySizeInGbs": 1000,
+ "timeCreated": "2023-10-22T02:18:35.683Z",
+ "lifecycleDetails": "success",
+ "timeZone": "UTC",
+ "zoneId": "ocid1..aaaa",
+ "hostname": "hostname1",
+ "domain": "domain1",
+ "cpuCoreCount": 10,
+ "ocpuCount": 100,
+ "clusterName": "cluster1",
+ "dataStoragePercentage": 80,
+ "isLocalBackupEnabled": false,
+ "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1",
+ "isSparseDiskgroupEnabled": false,
+ "sshPublicKeys": [
+ "ssh-key 1"
+ ],
+ "licenseModel": "LicenseIncluded",
+ "scanListenerPortTcp": 1050,
+ "scanListenerPortTcpSsl": 1025,
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "giVersion": "19.0.0.0",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "backupSubnetCidr": "172.17.5.0/24",
+ "systemVersion": "v1",
+ "diskRedundancy": "High",
+ "scanIpIds": [
+ "10.0.0.1"
+ ],
+ "vipIds": [
+ "10.0.1.3"
+ ],
+ "scanDnsName": "dbdns1",
+ "scanDnsRecordId": "scandns1",
+ "shape": "EXADATA.X9M",
+ "provisioningState": "Succeeded",
+ "ociUrl": "https://fake",
+ "dataCollectionOptions": {
+ "isDiagnosticsEventsEnabled": false,
+ "isHealthMonitoringEnabled": false,
+ "isIncidentLogsEnabled": false
+ },
+ "displayName": "cluster 1",
+ "iormConfigCache": {
+ "dbPlans": [
+ {
+ "dbName": "db1",
+ "flashCacheLimit": "none",
+ "share": 32
+ }
+ ],
+ "lifecycleDetails": "Disabled",
+ "lifecycleState": "Disabled",
+ "objective": "LowLatency"
+ },
+ "lastUpdateHistoryEntryId": "none",
+ "dbServers": [
+ "ocid1..aaaa"
+ ],
+ "compartmentId": "ocid1..aaaaaa",
+ "subnetOcid": "ocid1..aaaaaa"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_listPrivateIpAddresses.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_listPrivateIpAddresses.json
new file mode 100644
index 000000000000..f20c1e0c29f8
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_listPrivateIpAddresses.json
@@ -0,0 +1,27 @@
+{
+ "operationId": "CloudVmClusters_listPrivateIpAddresses",
+ "title": "CloudVmClusters_listPrivateIpAddresses",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudvmclustername": "cluster1",
+ "body": {
+ "subnetId": "ocid1..aaaaaa",
+ "vnicId": "ocid1..aaaaa"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "displayName": "ip1",
+ "hostnameLabel": "hostname1",
+ "ocid": "ocid1..aaaa",
+ "ipAddress": "192.168.0.1",
+ "subnetId": "ocid1..aaaa"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_patch.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_patch.json
new file mode 100644
index 000000000000..9f03443f90ca
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_patch.json
@@ -0,0 +1,101 @@
+{
+ "operationId": "CloudVmClusters_update",
+ "title": "CloudVmClusters_update",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudvmclustername": "cluster1",
+ "properties": {},
+ "tags": {
+ "tagK1": "tagV1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1",
+ "type": "Oracle.Database/cloudVmClusters",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "ocid": "ocid1..aaaa",
+ "listenerPort": 1050,
+ "nodeCount": 100,
+ "storageSizeInGbs": 1000,
+ "dataStorageSizeInTbs": 10,
+ "dbNodeStorageSizeInGbs": 100,
+ "memorySizeInGbs": 1000,
+ "timeCreated": "2023-10-22T02:18:35.683Z",
+ "lifecycleDetails": "success",
+ "timeZone": "UTC",
+ "zoneId": "ocid1..aaaa",
+ "hostname": "hostname1",
+ "domain": "domain1",
+ "cpuCoreCount": 10,
+ "ocpuCount": 100,
+ "clusterName": "cluster1",
+ "dataStoragePercentage": 80,
+ "isLocalBackupEnabled": false,
+ "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1",
+ "isSparseDiskgroupEnabled": false,
+ "sshPublicKeys": [
+ "ssh-key 1"
+ ],
+ "licenseModel": "LicenseIncluded",
+ "scanListenerPortTcp": 1050,
+ "scanListenerPortTcpSsl": 1025,
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "giVersion": "19.0.0.0",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "backupSubnetCidr": "172.17.5.0/24",
+ "systemVersion": "v1",
+ "diskRedundancy": "High",
+ "scanIpIds": [
+ "10.0.0.1"
+ ],
+ "vipIds": [
+ "10.0.1.3"
+ ],
+ "scanDnsName": "dbdns1",
+ "scanDnsRecordId": "scandns1",
+ "shape": "EXADATA.X9M",
+ "provisioningState": "Succeeded",
+ "ociUrl": "https://fake",
+ "dataCollectionOptions": {
+ "isDiagnosticsEventsEnabled": false,
+ "isHealthMonitoringEnabled": false,
+ "isIncidentLogsEnabled": false
+ },
+ "displayName": "cluster 1",
+ "iormConfigCache": {
+ "dbPlans": [
+ {
+ "dbName": "db1",
+ "flashCacheLimit": "none",
+ "share": 32
+ }
+ ],
+ "lifecycleDetails": "Disabled",
+ "lifecycleState": "Disabled",
+ "objective": "LowLatency"
+ },
+ "lastUpdateHistoryEntryId": "none",
+ "dbServers": [
+ "ocid1..aaaa"
+ ],
+ "compartmentId": "ocid1..aaaaaa",
+ "subnetOcid": "ocid1..aaaaaa"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 10000000,
+ "Location": "eastus"
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_removeVms.json b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_removeVms.json
new file mode 100644
index 000000000000..2c4e837e5be3
--- /dev/null
+++ b/specification/oracle/Oracle.Database/examples/2023-09-01-preview/vmClusters_removeVms.json
@@ -0,0 +1,102 @@
+{
+ "operationId": "CloudVmClusters_removeVms",
+ "title": "CloudVmClusters_removeVms",
+ "parameters": {
+ "api-version": "2023-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "rg000",
+ "cloudvmclustername": "cluster1",
+ "body": {
+ "dbServers": [
+ "ocid1..aaaa"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1",
+ "type": "Oracle.Database/cloudVmClusters",
+ "location": "eastus",
+ "tags": {
+ "tagK1": "tagV1"
+ },
+ "properties": {
+ "ocid": "ocid1..aaaa",
+ "listenerPort": 1050,
+ "nodeCount": 100,
+ "storageSizeInGbs": 1000,
+ "dataStorageSizeInTbs": 10,
+ "dbNodeStorageSizeInGbs": 100,
+ "memorySizeInGbs": 1000,
+ "timeCreated": "2023-10-22T02:18:35.683Z",
+ "lifecycleDetails": "success",
+ "timeZone": "UTC",
+ "zoneId": "ocid1..aaaa",
+ "hostname": "hostname1",
+ "domain": "domain1",
+ "cpuCoreCount": 10,
+ "ocpuCount": 100,
+ "clusterName": "cluster1",
+ "dataStoragePercentage": 80,
+ "isLocalBackupEnabled": false,
+ "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1",
+ "isSparseDiskgroupEnabled": false,
+ "sshPublicKeys": [
+ "ssh-key 1"
+ ],
+ "licenseModel": "LicenseIncluded",
+ "scanListenerPortTcp": 1050,
+ "scanListenerPortTcpSsl": 1025,
+ "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "giVersion": "19.0.0.0",
+ "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "backupSubnetCidr": "172.17.5.0/24",
+ "systemVersion": "v1",
+ "diskRedundancy": "High",
+ "scanIpIds": [
+ "10.0.0.1"
+ ],
+ "vipIds": [
+ "10.0.1.3"
+ ],
+ "scanDnsName": "dbdns1",
+ "scanDnsRecordId": "scandns1",
+ "shape": "EXADATA.X9M",
+ "provisioningState": "Succeeded",
+ "ociUrl": "https://fake",
+ "dataCollectionOptions": {
+ "isDiagnosticsEventsEnabled": false,
+ "isHealthMonitoringEnabled": false,
+ "isIncidentLogsEnabled": false
+ },
+ "displayName": "cluster 1",
+ "iormConfigCache": {
+ "dbPlans": [
+ {
+ "dbName": "db1",
+ "flashCacheLimit": "none",
+ "share": 32
+ }
+ ],
+ "lifecycleDetails": "Disabled",
+ "lifecycleState": "Disabled",
+ "objective": "LowLatency"
+ },
+ "lastUpdateHistoryEntryId": "none",
+ "dbServers": [
+ "ocid1..aaaa"
+ ],
+ "compartmentId": "ocid1..aaaaaa",
+ "subnetOcid": "ocid1..aaaaaa"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 10000000,
+ "Location": "eastus"
+ }
+ }
+ }
+}
diff --git a/specification/oracle/Oracle.Database/main.tsp b/specification/oracle/Oracle.Database/main.tsp
new file mode 100644
index 000000000000..616a085c1a96
--- /dev/null
+++ b/specification/oracle/Oracle.Database/main.tsp
@@ -0,0 +1,40 @@
+import "./operations/exadata/exadatainfrastructureOperations.tsp";
+import "./operations/exadata/dbServersOperations.tsp";
+import "./operations/exadata/vmclusterOperations.tsp";
+import "./operations/exadata/virtualNetworkAddressOperations.tsp";
+import "./operations/exadata/systemVersionOperations.tsp";
+import "./operations/oraclesubscription/oracleSubscriptionOperations.tsp";
+import "./operations/exadata/dbNodesOperations.tsp";
+import "./operations/exadata/giVersionOperations.tsp";
+import "./operations/exadata/dbSystemShapeOperations.tsp";
+import "./operations/exadata/dnsPrivateViewsOperations.tsp";
+import "./operations/exadata/dnsPrivateZonesOperations.tsp";
+import "./operations/autonomousdatabase/autonomousDatabaseOperations.tsp";
+import "./operations/autonomousdatabase/autonomousDatabaseBackupOperations.tsp";
+import "./operations/autonomousdatabase/autonomousDatabaseCharacterSetOperations.tsp";
+import "./operations/autonomousdatabase/autonomousDatabaseNationalCharacterSetOperations.tsp";
+import "./operations/autonomousdatabase/autonomousDatabaseVersionOperations.tsp";
+
+import "./versions.tsp";
+
+using TypeSpec.Http;
+using TypeSpec.Rest;
+using TypeSpec.Versioning;
+using Azure.ResourceManager;
+using OpenAPI;
+using Autorest;
+
+@armProviderNamespace
+@service({
+ title: "Oracle Database Resource Manager",
+})
+@armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5)
+@versioned(Oracle.Database.Versions)
+namespace Oracle.Database;
+
+interface Operations extends Azure.ResourceManager.Operations {}
+
+@@example(Operations.list,
+ "./examples/operations_list.json",
+ "List Operations"
+);
diff --git a/specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseBackupOperations.tsp b/specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseBackupOperations.tsp
new file mode 100644
index 000000000000..b7a0bde9287d
--- /dev/null
+++ b/specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseBackupOperations.tsp
@@ -0,0 +1,43 @@
+import "../../../models/autonomousdatabase/autonomousDatabaseBackup.tsp";
+import "../commons.tsp";
+
+using Azure.ResourceManager;
+using Autorest;
+using TypeSpec.Versioning;
+
+namespace Oracle.Database;
+
+@armResourceOperations(AutonomousDatabaseBackup)
+interface AutonomousDatabaseBackups
+ extends OracleChildResource<
+ AutonomousDatabaseBackup,
+ AutonomousDatabaseBackupProperties
+ > {
+ @example(
+ "./examples/autonomousDatabaseBackup_patch.json",
+ "Patch Autonomous Database Backup."
+ )
+ update is ArmResourcePatchAsync<
+ AutonomousDatabaseBackup,
+ AutonomousDatabaseBackupProperties
+ >;
+
+ @example(
+ "./examples/autonomousDatabaseBackup_listByParent.json",
+ "List Autonomous Database Backups by Autonomous Database."
+ )
+ listByParent is ArmResourceListByParent;
+}
+
+@@example(AutonomousDatabaseBackups.createOrUpdate,
+ "./examples/autonomousDatabaseBackup_create.json",
+ "Create Autonomous Database Backup."
+);
+@@example(AutonomousDatabaseBackups.get,
+ "./examples/autonomousDatabaseBackup_get.json",
+ "Get Autonomous Database Backup."
+);
+@@example(AutonomousDatabaseBackups.delete,
+ "./examples/autonomousDatabaseBackup_delete.json",
+ "Delete Autonomous Database Backup."
+);
diff --git a/specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseCharacterSetOperations.tsp b/specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseCharacterSetOperations.tsp
new file mode 100644
index 000000000000..e08e8e50f1c6
--- /dev/null
+++ b/specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseCharacterSetOperations.tsp
@@ -0,0 +1,20 @@
+import "../../../models/autonomousdatabase/autonomousDatabaseCharacterSet.tsp";
+
+using Azure.ResourceManager;
+using Autorest;
+using TypeSpec.Versioning;
+
+namespace Oracle.Database;
+
+@armResourceOperations
+interface AutonomousDatabaseCharacterSets
+ extends OracleLocationBasedResource {}
+
+@@example(AutonomousDatabaseCharacterSets.listByLocation,
+ "./examples/autonomousDatabaseCharacterSet_listByLocation.json",
+ "List autonomous db character sets by location"
+);
+@@example(AutonomousDatabaseCharacterSets.get,
+ "./examples/autonomousDatabaseCharacterSet_get.json",
+ "Get autonomous db character set"
+);
diff --git a/specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseNationalCharacterSetOperations.tsp b/specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseNationalCharacterSetOperations.tsp
new file mode 100644
index 000000000000..68265c9e2271
--- /dev/null
+++ b/specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseNationalCharacterSetOperations.tsp
@@ -0,0 +1,20 @@
+import "../../../models/autonomousdatabase/autonomousDatabaseNationalCharacterSet.tsp";
+
+using Azure.ResourceManager;
+using Autorest;
+using TypeSpec.Versioning;
+
+namespace Oracle.Database;
+
+@armResourceOperations
+interface AutonomousDatabaseNationalCharacterSets
+ extends OracleLocationBasedResource {}
+
+@@example(AutonomousDatabaseNationalCharacterSets.listByLocation,
+ "./examples/autonomousDatabaseNationalCharacterSet_listByLocation.json",
+ "List autonomous db national character sets by location"
+);
+@@example(AutonomousDatabaseNationalCharacterSets.get,
+ "./examples/autonomousDatabaseNationalCharacterSet_get.json",
+ "Get autonomous db national character set"
+);
diff --git a/specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseOperations.tsp b/specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseOperations.tsp
new file mode 100644
index 000000000000..904388c44365
--- /dev/null
+++ b/specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseOperations.tsp
@@ -0,0 +1,102 @@
+import "../../../models/autonomousdatabase/autonomousDatabase.tsp";
+import "../commons.tsp";
+
+using Azure.ResourceManager;
+using Autorest;
+namespace Oracle.Database;
+
+@armResourceOperations(AutonomousDatabase)
+interface AutonomousDatabases
+ extends OracleTrackedResource<
+ AutonomousDatabase,
+ AutonomousDatabaseBaseProperties
+ > {
+ //OCI switchover API doc: https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/AutonomousDatabase/SwitchoverAutonomousDatabase
+ @doc("Perform switchover action on Autonomous Database")
+ @example(
+ "./examples/autonomousDatabase_switchover.json",
+ "Perform switchover action on Autonomous Database"
+ )
+ switchover is ArmResourceActionAsync<
+ AutonomousDatabase,
+ PeerDbDetails,
+ AutonomousDatabase
+ >;
+
+ //OCI failover API doc: https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/AutonomousDatabase/FailOverAutonomousDatabase
+ @doc("Perform failover action on Autonomous Database")
+ @example(
+ "./examples/autonomousDatabase_failover.json",
+ "Perform failover action on Autonomous Database"
+ )
+ failover is ArmResourceActionAsync<
+ AutonomousDatabase,
+ PeerDbDetails,
+ AutonomousDatabase
+ >;
+
+ //OCI generate wallet API doc: https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/AutonomousDatabase/GenerateAutonomousDatabaseWallet
+ @doc("Generate wallet action on Autonomous Database")
+ @example(
+ "./examples/autonomousDatabase_generateWallet.json",
+ "Generate wallet action on Autonomous Database"
+ )
+ generateWallet is ArmResourceActionSync<
+ AutonomousDatabase,
+ GenerateAutonomousDatabaseWalletDetails,
+ AutonomousDatabaseWalletFile
+ >;
+
+ //OCI RestoreAutonomousDatabase API doc: https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/AutonomousDatabase/RestoreAutonomousDatabase
+ @doc("Restores an Autonomous Database based on the provided request parameters.")
+ @example(
+ "./examples/autonomousDatabase_restore.json",
+ "Perform restore action on Autonomous Database"
+ )
+ restore is ArmResourceActionAsync<
+ AutonomousDatabase,
+ RestoreAutonomousDatabaseDetails,
+ AutonomousDatabase
+ >;
+
+ //OCI ShrinkAutonomousDatabase API doc: https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/AutonomousDatabase/ShrinkAutonomousDatabase
+ @doc("This operation shrinks the current allocated storage down to the current actual used data storage.")
+ @example(
+ "./examples/autonomousDatabase_shrink.json",
+ "Perform shrink action on Autonomous Database"
+ )
+ shrink is ArmResourceActionAsync<
+ AutonomousDatabase,
+ void,
+ AutonomousDatabase
+ >;
+}
+
+@@example(AutonomousDatabases.listBySubscription,
+ "./examples/autonomousDatabase_listBySubscription.json",
+ "List Autonomous Database by subscription"
+);
+@@example(AutonomousDatabases.listByResourceGroup,
+ "./examples/autonomousDatabase_listByResourceGroup.json",
+ "List Autonomous Database by resource group"
+);
+@@example(AutonomousDatabases.createOrUpdate,
+ "./examples/autonomousDatabase_create.json",
+ "Create Autonomous Database"
+);
+@@example(AutonomousDatabases.createOrUpdate,
+ "./examples/autonomousDatabaseClone_create.json",
+ "Create clone Autonomous Database"
+);
+@@example(AutonomousDatabases.get,
+ "./examples/autonomousDatabase_get.json",
+ "Get Autonomous Database"
+);
+@@example(AutonomousDatabases.update,
+ "./examples/autonomousDatabase_patch.json",
+ "Patch Autonomous Database"
+);
+@@example(AutonomousDatabases.delete,
+ "./examples/autonomousDatabase_delete.json",
+ "Delete Autonomous Database"
+);
diff --git a/specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseVersionOperations.tsp b/specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseVersionOperations.tsp
new file mode 100644
index 000000000000..55e19cb00a8e
--- /dev/null
+++ b/specification/oracle/Oracle.Database/operations/autonomousdatabase/autonomousDatabaseVersionOperations.tsp
@@ -0,0 +1,21 @@
+import "@azure-tools/typespec-azure-resource-manager";
+import "../../../models/autonomousdatabase/autonomousDatabaseVersion.tsp";
+
+using Azure.ResourceManager;
+using Autorest;
+using TypeSpec.Versioning;
+
+namespace Oracle.Database;
+
+@armResourceOperations
+interface AutonomousDatabaseVersions
+ extends OracleLocationBasedResource {}
+
+@@example(AutonomousDatabaseVersions.listByLocation,
+ "./examples/autonomousDatabaseVersion_listByLocation.json",
+ "List an autonomous versions by location"
+);
+@@example(AutonomousDatabaseVersions.get,
+ "./examples/autonomousDatabaseVersion_get.json",
+ "Get an autonomous version"
+);
diff --git a/specification/oracle/Oracle.Database/operations/commons.tsp b/specification/oracle/Oracle.Database/operations/commons.tsp
new file mode 100644
index 000000000000..822a0dcb58ca
--- /dev/null
+++ b/specification/oracle/Oracle.Database/operations/commons.tsp
@@ -0,0 +1,72 @@
+using TypeSpec.Http;
+using TypeSpec.Rest;
+using TypeSpec.Versioning;
+using Azure.ResourceManager;
+using OpenAPI;
+
+using Azure.ResourceManager.Foundations;
+
+namespace Oracle.Database;
+
+@armResourceOperations(T)
+interface OracleSubscriptionLevelResource<
+ T extends Foundations.Resource,
+ TProperties extends TypeSpec.Reflection.Model
+>
+ extends ResourceListBySubscription,
+ ResourceCreateAsync,
+ ResourceRead,
+ ResourceUpdateAsync,
+ ResourceDeleteWithoutOkAsync {}
+
+@armResourceOperations(T)
+interface OracleTrackedResource<
+ T extends Foundations.Resource,
+ TProperties extends TypeSpec.Reflection.Model
+> extends OracleSubscriptionLevelResource {
+ listByResourceGroup is ArmResourceListByParent;
+}
+
+@armResourceOperations(T)
+interface OracleReadOnlyResource {
+ // TODO: Swagger generator bug, cannot be extracted to interface
+ // listByParent is ArmResourceListByParent;
+ get is ArmResourceRead;
+}
+
+@armResourceOperations(T)
+interface OracleLocationBasedResource
+ extends OracleReadOnlyResource {
+ listByLocation is ArmResourceListByParent;
+}
+
+@armResourceOperations(T)
+interface OracleChildResource<
+ T extends Foundations.Resource,
+ TProperties extends TypeSpec.Reflection.Model
+>
+ extends ResourceCreateAsync,
+ ResourceRead,
+ ResourceDeleteWithoutOkAsync {}
+
+@armResourceOperations
+interface ListActions {
+ @doc("Generic Async Get operation")
+ @extension("x-ms-long-running-operation", true)
+ @extension(
+ "x-ms-long-running-operation-options",
+ {
+ `final-state-via`: "location",
+ }
+ )
+ @autoRoute
+ @armResourceAction(TResource)
+ @post
+ ArmResourceGetActionAsync<
+ TResource extends Foundations.Resource,
+ TResponse,
+ TBaseParameters = BaseParameters
+ >(
+ ...ResourceInstanceParameters,
+ ): ArmResponse | ArmAcceptedLroResponse | ErrorResponse;
+}
diff --git a/specification/oracle/Oracle.Database/operations/exadata/dbNodesOperations.tsp b/specification/oracle/Oracle.Database/operations/exadata/dbNodesOperations.tsp
new file mode 100644
index 000000000000..79680dd6061c
--- /dev/null
+++ b/specification/oracle/Oracle.Database/operations/exadata/dbNodesOperations.tsp
@@ -0,0 +1,24 @@
+import "@azure-tools/typespec-azure-resource-manager";
+import "../../../models/exadata/dbNodes.tsp";
+
+using Azure.ResourceManager;
+using Autorest;
+using TypeSpec.Versioning;
+
+namespace Oracle.Database;
+
+@armResourceOperations
+interface DbNodes extends OracleReadOnlyResource {
+ // TODO: Swagger generator bug, cannot be extracted to interface
+ @example("./examples/dbNodes_listByParent.json", "List DbNodes by VM Cluster")
+ listByParent is ArmResourceListByParent;
+
+ @doc("VM actions on DbNode of VM Cluster by the provided filter")
+ @example(
+ "./examples/dbNodes_action.json",
+ "VM actions on DbNodes of VM Cluster"
+ )
+ action is ArmResourceActionAsync;
+}
+
+@@example(DbNodes.get, "./examples/dbNodes_get.json", "Get DbNode");
diff --git a/specification/oracle/Oracle.Database/operations/exadata/dbServersOperations.tsp b/specification/oracle/Oracle.Database/operations/exadata/dbServersOperations.tsp
new file mode 100644
index 000000000000..01a98b2d27af
--- /dev/null
+++ b/specification/oracle/Oracle.Database/operations/exadata/dbServersOperations.tsp
@@ -0,0 +1,22 @@
+import "@azure-tools/typespec-azure-resource-manager";
+import "../../../models/exadata/dbServers.tsp";
+
+using Azure.ResourceManager;
+using Autorest;
+using TypeSpec.Versioning;
+
+namespace Oracle.Database;
+
+@armResourceOperations
+interface DbServers extends OracleReadOnlyResource {
+ @example(
+ "./examples/dbServers_listByParent.json",
+ "List DbServers by Exadata Infrastructure"
+ )
+ listByParent is ArmResourceListByParent;
+}
+
+@@example(DbServers.get,
+ "./examples/dbServers_get.json",
+ "Get DbServer by parent"
+);
diff --git a/specification/oracle/Oracle.Database/operations/exadata/dbSystemShapeOperations.tsp b/specification/oracle/Oracle.Database/operations/exadata/dbSystemShapeOperations.tsp
new file mode 100644
index 000000000000..ec298b0f12e2
--- /dev/null
+++ b/specification/oracle/Oracle.Database/operations/exadata/dbSystemShapeOperations.tsp
@@ -0,0 +1,18 @@
+import "../../../models/exadata/dbSystemShapes.tsp";
+
+using Azure.ResourceManager;
+using Autorest;
+
+namespace Oracle.Database;
+
+@armResourceOperations
+interface DbSystemShapes extends OracleLocationBasedResource {}
+
+@@example(DbSystemShapes.listByLocation,
+ "./examples/dbSystemShapes_listByLocation.json",
+ "List DbSystemShapes by location"
+);
+@@example(DbSystemShapes.get,
+ "./examples/dbSystemShapes_get.json",
+ "Get a DbSystemShape by name"
+);
diff --git a/specification/oracle/Oracle.Database/operations/exadata/dnsPrivateViewsOperations.tsp b/specification/oracle/Oracle.Database/operations/exadata/dnsPrivateViewsOperations.tsp
new file mode 100644
index 000000000000..4fc9dd100bfd
--- /dev/null
+++ b/specification/oracle/Oracle.Database/operations/exadata/dnsPrivateViewsOperations.tsp
@@ -0,0 +1,18 @@
+import "../../../models/exadata/dnsPrivateViews.tsp";
+
+using Azure.ResourceManager;
+using Autorest;
+
+namespace Oracle.Database;
+
+@armResourceOperations
+interface DnsPrivateViews extends OracleLocationBasedResource {}
+
+@@example(DnsPrivateViews.listByLocation,
+ "./examples/dnsPrivateViews_listByLocation.json",
+ "List DnsPrivateViews by location"
+);
+@@example(DnsPrivateViews.get,
+ "./examples/dnsPrivateViews_get.json",
+ "Get a DnsPrivateView by name"
+);
diff --git a/specification/oracle/Oracle.Database/operations/exadata/dnsPrivateZonesOperations.tsp b/specification/oracle/Oracle.Database/operations/exadata/dnsPrivateZonesOperations.tsp
new file mode 100644
index 000000000000..a1d18acd98ca
--- /dev/null
+++ b/specification/oracle/Oracle.Database/operations/exadata/dnsPrivateZonesOperations.tsp
@@ -0,0 +1,18 @@
+import "../../../models/exadata/dnsPrivateZones.tsp";
+
+using Azure.ResourceManager;
+using Autorest;
+
+namespace Oracle.Database;
+
+@armResourceOperations
+interface DnsPrivateZones extends OracleLocationBasedResource {}
+
+@@example(DnsPrivateZones.listByLocation,
+ "./examples/dnsPrivateZones_listByLocation.json",
+ "List DnsPrivateZones by location"
+);
+@@example(DnsPrivateZones.get,
+ "./examples/dnsPrivateZones_get.json",
+ "Get a DnsPrivateZone by name"
+);
diff --git a/specification/oracle/Oracle.Database/operations/exadata/exadatainfrastructureOperations.tsp b/specification/oracle/Oracle.Database/operations/exadata/exadatainfrastructureOperations.tsp
new file mode 100644
index 000000000000..d4afa8337da0
--- /dev/null
+++ b/specification/oracle/Oracle.Database/operations/exadata/exadatainfrastructureOperations.tsp
@@ -0,0 +1,51 @@
+import "../commons.tsp";
+import "../../../models/exadata/exadatainfra.tsp";
+
+using Azure.ResourceManager;
+using Autorest;
+
+namespace Oracle.Database;
+
+@armResourceOperations(CloudExadataInfrastructure)
+interface CloudExadataInfrastructures
+ extends OracleTrackedResource<
+ CloudExadataInfrastructure,
+ CloudExadataInfrastructureProperties
+ > {
+ //OCI addStorageCapacityCloudExadataInfrastructure API doc: https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/CloudExadataInfrastructure/AddStorageCapacityCloudExadataInfrastructure
+ @doc("Perform add storage capacity on exadata infra")
+ @example(
+ "./examples/exaInfra_addStorageCapacity.json",
+ "Perform add storage capacity on exadata infra"
+ )
+ addStorageCapacity is ArmResourceActionAsync<
+ CloudExadataInfrastructure,
+ void,
+ CloudExadataInfrastructure
+ >;
+}
+
+@@example(CloudExadataInfrastructures.listBySubscription,
+ "./examples/exaInfra_listBySubscription.json",
+ "List Exadata Infrastructure by subscription"
+);
+@@example(CloudExadataInfrastructures.listByResourceGroup,
+ "./examples/exaInfra_listByResourceGroup.json",
+ "List Exadata Infrastructure by resource group"
+);
+@@example(CloudExadataInfrastructures.createOrUpdate,
+ "./examples/exaInfra_create.json",
+ "Create Exadata Infrastructure"
+);
+@@example(CloudExadataInfrastructures.get,
+ "./examples/exaInfra_get.json",
+ "Get Exadata Infrastructure"
+);
+@@example(CloudExadataInfrastructures.update,
+ "./examples/exaInfra_patch.json",
+ "Patch Exadata Infrastructure"
+);
+@@example(CloudExadataInfrastructures.delete,
+ "./examples/exaInfra_delete.json",
+ "Delete Exadata Infrastructure"
+);
diff --git a/specification/oracle/Oracle.Database/operations/exadata/giVersionOperations.tsp b/specification/oracle/Oracle.Database/operations/exadata/giVersionOperations.tsp
new file mode 100644
index 000000000000..9e8f2f617ebd
--- /dev/null
+++ b/specification/oracle/Oracle.Database/operations/exadata/giVersionOperations.tsp
@@ -0,0 +1,18 @@
+import "../../../models/exadata/giVersions.tsp";
+
+using Azure.ResourceManager;
+using Autorest;
+
+namespace Oracle.Database;
+
+@armResourceOperations
+interface GiVersions extends OracleLocationBasedResource {}
+
+@@example(GiVersions.listByLocation,
+ "./examples/giVersions_listByLocation.json",
+ "List GiVersions by location"
+);
+@@example(GiVersions.get,
+ "./examples/giVersions_get.json",
+ "Get a GiVersion by name"
+);
diff --git a/specification/oracle/Oracle.Database/operations/exadata/systemVersionOperations.tsp b/specification/oracle/Oracle.Database/operations/exadata/systemVersionOperations.tsp
new file mode 100644
index 000000000000..481648c95039
--- /dev/null
+++ b/specification/oracle/Oracle.Database/operations/exadata/systemVersionOperations.tsp
@@ -0,0 +1,19 @@
+import "../../../models/exadata/systemVersions.tsp";
+
+using Azure.ResourceManager;
+using Autorest;
+
+namespace Oracle.Database;
+
+@armResourceOperations
+interface SystemVersions extends OracleLocationBasedResource {}
+
+@@example(SystemVersions.listByLocation,
+ "./examples/systemVersions_listByLocation.json",
+ "List Exadata System Versions by the provided filter"
+);
+
+@@example(SystemVersions.get,
+ "./examples/systemVersions_get.json",
+ "Get Exadata System Version"
+);
diff --git a/specification/oracle/Oracle.Database/operations/exadata/virtualNetworkAddressOperations.tsp b/specification/oracle/Oracle.Database/operations/exadata/virtualNetworkAddressOperations.tsp
new file mode 100644
index 000000000000..b70cd518221e
--- /dev/null
+++ b/specification/oracle/Oracle.Database/operations/exadata/virtualNetworkAddressOperations.tsp
@@ -0,0 +1,35 @@
+import "@azure-tools/typespec-azure-resource-manager";
+import "../../../models/exadata/virtualNetworkAddress.tsp";
+
+using Azure.ResourceManager;
+using Autorest;
+using TypeSpec.Versioning;
+
+namespace Oracle.Database;
+
+@armResourceOperations
+interface VirtualNetworkAddresses
+ extends OracleChildResource<
+ VirtualNetworkAddress,
+ VirtualNetworkAddressProperties
+ > {
+ // TODO: Swagger generator bug, cannot be extracted to interface
+ @example(
+ "./examples/virtualNetworkAddresses_listByParent.json",
+ "List Virtual Network Addresses by VM Cluster"
+ )
+ listByParent is ArmResourceListByParent;
+}
+
+@@example(VirtualNetworkAddresses.createOrUpdate,
+ "./examples/virtualNetworkAddresses_create.json",
+ "Create Virtual Network Address"
+);
+@@example(VirtualNetworkAddresses.get,
+ "./examples/virtualNetworkAddresses_get.json",
+ "Get Virtual Network Address"
+);
+@@example(VirtualNetworkAddresses.delete,
+ "./examples/virtualNetworkAddresses_delete.json",
+ "Delete Virtual Network Address"
+);
diff --git a/specification/oracle/Oracle.Database/operations/exadata/vmclusterOperations.tsp b/specification/oracle/Oracle.Database/operations/exadata/vmclusterOperations.tsp
new file mode 100644
index 000000000000..d5bcd6ce3ed0
--- /dev/null
+++ b/specification/oracle/Oracle.Database/operations/exadata/vmclusterOperations.tsp
@@ -0,0 +1,64 @@
+import "@azure-tools/typespec-azure-resource-manager";
+import "../../../models/exadata/vmcluster.tsp";
+import "../../../models/exadata/privateIpAddresses.tsp";
+
+using Azure.ResourceManager;
+using Autorest;
+
+namespace Oracle.Database;
+
+@armResourceOperations
+interface CloudVmClusters
+ extends OracleTrackedResource